feat[mpp_dec]: Export raw decoder COLMV metadata - #969
Open
Robolightning wants to merge 1 commit into
Open
Conversation
Add opt-in base:enable_colmv support for RK3588 VDPU34x H.264/H.265 decode. Expose the existing hardware COLMV buffer, layout and valid byte count on output frame metadata without copying or implicit cache sync. Retain the buffer for the output frame lifetime and add mpi_dec_test hardware validation. Signed-off-by: Robolightning <89173189+Robolightning@users.noreply.github.com>
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.
Summary
Add opt-in raw decoder COLMV export for RK3588 H.264/H.265 decode on the VDPU34x path.
The decoder config adds:
base:enable_colmv— disabled by defaultKEY_DEC_COLMV— raw hardware COLMVMppBufferKEY_DEC_COLMV_FMT— hardware layout identifierKEY_DEC_COLMV_SIZE— valid payload size for the current frameThe exported buffer is retained for the lifetime of the output
MppFrame.Semantics
This exposes the decoder's existing hardware-generated COLMV buffer. It is raw, hardware-specific data; this is not a portable or already-decoded motion-vector API.
When
base:enable_colmvis disabled, the HAL export path is skipped and performs no COLMV metadata access, buffer copy, or cache synchronization.When enabled:
mpp_buffer_sync_ro_begin()/mpp_buffer_sync_ro_end()around readsInitial format identifiers cover:
The export is currently gated to RK3588.
mpi_dec_testcan enable and inspect the path withmpi_dec_colmv=1.Validation
Validated on OrangePi 5 / RK3588 using the exact Git tree:
14cd9c6c64ee07ec100e2020fd829d0923f03b63with commit:
cbf19a9e70a41cda2e417318c14efa6703d1002eValidation included:
WARNINGS_AS_ERRORS=ONmpp_info_testmpp_dec_cfg_testmpp_sys_cfg_testThe enabled validation path intentionally performs CPU cache sync and hashes the COLMV bytes to verify the hardware output; that diagnostic readback is not part of the normal disabled path.