An input compressed stream can contain multiple resolutions. The VCU Decoder can decode pictures without re-creating a channel.
Constraints
- The maximum resolution must be known.
- All the streams should belong to same codec either AVC or HEVC.
- Same chroma-format and bit-depth.
- Maximum resolution can be set either with the pre-allocation mode or with the first valid SPS. In case the SPS defines a resolution higher than the one provided in pre-allocation, the decoder skips the frames until the next valid SPS.
- While going from low to high without pre-allocation, resolutions lower than or equal to the first valid resolution that are met are decoded. Pictures and references should always fit in the DPB.
CtrlSWAPI
-prealloc-args max-widthxmax-height: video-mode:chroma-mode:bitdepth:profile-idc:level
Callbacks
resolutionFoundCB is raised each time a new resolution is found.
- Example command (with pre-allocated
arguments)
ctrlsw_decoder -i input.avc -avc --prealloc-args 3840x2160: progr:420:8:66:51 -o output.yuv
- Example command (without pre-allocated
arguments)
ctrlsw_decoder -i input.avc -avc -o output.yuv
DRC Decode: To decode a DRC file which is encoded at the control software level using the Gstreamer, use:
gst-launch-1.0 filesrc location=test.avc ! h264parse ! omxh264dec low-latency=0 internal-entropy-buffers=5 ! queue max-size-bytes=0 ! filesink location=test.yuv