All Projects → quietvoid → hdr10plus_tool

quietvoid / hdr10plus_tool

Licence: MIT license
CLI utility to work with HDR10+ in HEVC files.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to hdr10plus tool

oculante
A minimalistic crossplatform image viewer written in rust
Stars: ✭ 169 (-2.31%)
Mutual labels:  hdr
staxrip
StaxRip is a video encoding app for Windows with a unrivaled feature set and usability.
Stars: ✭ 132 (-23.7%)
Mutual labels:  hdr
ies
Convert the IES file into a IES texture for IES lightning
Stars: ✭ 34 (-80.35%)
Mutual labels:  hdr
TMS
Tone Mapping Studio
Stars: ✭ 35 (-79.77%)
Mutual labels:  hdr
singleLDR2HDR
Fake HDR Effect. Single Image HDR. HDR Filter.
Stars: ✭ 40 (-76.88%)
Mutual labels:  hdr
color-api
A proposal and draft spec for a Color object for the Web Platform, loosely influenced by our Color.js work. Heavily WIP, if you landed here randomly, please move along.
Stars: ✭ 102 (-41.04%)
Mutual labels:  hdr
moonlight hdr launcher
Launch anything in HDR mode using Moonlight
Stars: ✭ 48 (-72.25%)
Mutual labels:  hdr
GITechDemo
Global illumination technical demo - a continuation of the Synesthesia3D (ex-LibRenderer) graphics engine used in https://github.com/iftodebogdan/ShaderEditor
Stars: ✭ 45 (-73.99%)
Mutual labels:  hdr
DeepHDRVideo
HDR Video Reconstruction: A Coarse-to-fine Network and A Real-world Benchmark Dataset (ICCV 2021)
Stars: ✭ 63 (-63.58%)
Mutual labels:  hdr
gpu-camera-sample
High quality Image Processing software on GPU (Windows, Linux, ARM) for real time machine vision camera applications. Performance benchmarks and Glass-to-Glass time measurements. MIPI CSI cameras support. RAW2RGB processing on GPU.
Stars: ✭ 200 (+15.61%)
Mutual labels:  hdr

hdr10plus_tool CI Artifacts

CLI utility to work with HDR10+ in HEVC files.
Previously named hdr10plus_parser, now it's more than just a parser.

 

Building

Toolchain

The minimum Rust version to build hdr10plus_tool is 1.57.0.

 

Options that apply to the commands:

  • --verify Checks if input file contains dynamic metadata.
  • --skip-validation Skip profile conformity validation. Invalid metadata is set to profile N/A.

Commands

  • extract

    Extracts the HDR10+ metadata from HEVC SEI messages to a JSON file.
    Also calculates the scene information for compatibility with Samsung tools.

    If no output is specified, the file is only parsed partially to verify presence of metadata.

    Flags:

    Examples:

    hdr10plus_tool extract video.hevc -o metadata.json
    ffmpeg -i input.mkv -map 0:v:0 -c copy -vbsf hevc_mp4toannexb -f hevc - | hdr10plus_tool extract -o metadata.json -

    Extract without validating:

    hdr10plus_tool --skip-validation extract video.hevc -o metadata.json

 

  • inject

    Interleaves HDR10+ metadata NAL units before slices in an HEVC encoded bitstream.
    --verify has no effect with this command.

    Example:

    hdr10plus_tool inject -i video.hevc -j metadata.json -o injected_output.hevc

 

  • remove

    Removes HDR10+ metadata NAL units (or SEI messages) in an HEVC encoded bitstream.
    --verify has no effect with this command.

    Example:

    hdr10plus_tool remove video.hevc -o hdr10plus_removed_output.hevc
    ffmpeg -i input.mkv -map 0:v:0 -c copy -vbsf hevc_mp4toannexb -f hevc - | hdr10plus_tool remove -

 

Wrong metadata order workaround

The skip-reorder option should only be used as a workaround for misauthored HEVC files.
Some rare retail discs use an incorrect workflow where the original metadata is inserted sequentially in the final video, which causes issues when B frames exist.
As the metadata is inserted for every frame in decode order, on playback it is likely that the presentation order is different.
In playback, this means that the metadata associated with the image presented may be wrong.

A simple way to tell if the metadata is in the wrong order is by looking at the SceneFrameNumbers list in the JSON.
If there are many entries where scenes only contain 1 to 3 frames, it is likely that the video has wrong order.
The SceneFirstFrameIndex values should also be aligned with scene cuts in the video.
If the scenes are small and misaligned, skip-reorder must be used when using extract to keep the order correct.

 

Sample files

Tears of Steel samples encoded with x265 using --dhdr10-info for tests.

Sample JSON metadata available here: https://bitbucket.org/multicoreware/x265_git/downloads/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].