Implement and enhance HDR detection and classification across services#1272
Merged
Conversation
…nd classification
…s and optimizing memory management
…d update logging for MP3 HDR probe
…bles and enhancing handling for HEVC streams
… codec data handling in MP3 service
…dling for HDR recorder
…ction logic in servicedvb and servicemp3
…irst frame restarts and enhance colorimetry checks in MP3 service
…ort and update related logic across service components
…le devices and update related service logic
… HDR type detection logic
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.
This pull request introduces software-based HDR (High Dynamic Range) detection for select set-top boxes, enabling the system to analyze HEVC video streams and determine HDR type (e.g., HDR10, HLG) via bitstream parsing. The implementation includes new C++ modules for parsing and detecting HDR from live DVB streams, integration with the build system for supported devices, and enhancements to the Python
ServiceInfoconverter to expose HDR-related properties.Key changes are grouped by theme below:
Build System & Platform Support
configure.acandlib/service/Makefile.inc, enabled for VU+ 4K and GigaBlue Quad 4K Pro boxes. This ensures the new HDR detection code is only built and used on capable hardware. [1] [2] [3]Core HDR Detection Implementation (C++ side)
hevc_hdr.cpp/hfor HEVC bitstream parsing and HDR classification, andhdrdetector.cpp/hfor live DVB stream HDR detection using a TS recorder tap. These modules extract and classify HDR information from video streams. [1] [2] [3] [4]servicedvb.cppto integrate the HDR detector for live DVB playback, initializing and managing the detector as part of the service play pipeline. [1] [2]sHDRTypeiniservice.hto represent the detected HDR type in the service information interface.Python API Enhancements
ServiceInfoconverter inServiceInfo.pyto support new HDR-related properties (e.g.,HDRType,IsHDR10File,IsHLGFile,IsDVFile,IsAnyHDRFile,IsHDRGenericFile). These properties are now available for UI and plugin use. [1] [2]Overall, this PR provides robust, software-based HDR detection for supported hardware, exposes detailed HDR information to the Python layer, and ensures the feature is only enabled where it is fully supported.