Add support for full-range VP9 video decoding#6367
Draft
JanuszL wants to merge 1 commit into
Draft
Conversation
18 tasks
- Use FFmpeg color-range metadata as a fallback when NVDEC does not report full-range video. Pass full-range source details to libswscale in the CPU decoder and extend full dynamic range video coverage to the VP9 sample. Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
65316c0 to
539de9e
Compare
Contributor
Author
|
!build |
Collaborator
|
CI MESSAGE: [52611502]: BUILD STARTED |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Category:
Bug fix (non-breaking change which fixes an issue)
Description:
This PR fixes full-range video handling for VP9 video decoding.
The GPU video decoders used NVDEC's
video_full_range_flagto choose theYUV-to-RGB conversion range. NVDEC does not always report this flag for VP9,
even when FFmpeg stream metadata marks the video as full range. The GPU and
legacy GPU paths now fall back to FFmpeg
color_rangemetadata when NVDECdoes not report full range.
The CPU decoder also now propagates full-range source information to
libswscale so VP9 CPU decoding uses the expected conversion range.
Additional information:
Affected modules and functionalities:
fn.readers.videoGPU NVDEC conversion range selectionfn.experimental.readers.videoGPU decoder range selectionfn.experimental.readers.videoCPU decoder libswscale conversion setupKey points relevant for the review:
falls back to FFmpeg
color_range == AVCOL_RANGE_JPEG.falling back to stream metadata when the frame leaves it unspecified.
full-range asset from
DALI_extra.Tests:
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A