Skip to content

va: postproc: misc fixes

This MR contains several fixes to vapostproc:

    va: vpp: fix frame copy
    
    There were two problems with frame copy:
    
    1. The input video info are from the format color, not form the allocated VA
    surface, it's needed to update the sink video info according with the
    allocator's data.
    
    2. The parameters of `gst_video_frame_copy()` were backwards.
    va: vpp: request video and alignment metas for src pool
    
    This is for the pool used when importing raw video frames to surfaces.
    va: vpp: transform_size() must return FALSE
    
    transform_size() basetransform vmethod is used when there's no output buffer
    pool and allocates a system memory buffer. With VA this cannot be allowed, since
    it needs VASurfaces to process.
    
    Thus transform_size() is not required, but to play safe let's return FALSE.
    va: vpp: copy input buffer flags and timestamps
    
    Strictly speaking right now it's not required do this copy, but let's play safe
    and assume in the future this metadata might be required while doing the
    postprocessing.
    va: vpp: handle context query

    Previously vapostproc didn't communicate its context through query mechanism,
    which is required for context sharing. This patch completes this missing bits.
    va: vpp: don't copy color, size or orientation video metas
    
    If they are processed by the element.
    va: vpp: don't break passthrough if no color balance required
    
    The function `_add_filter_cb_buffer()` returned TRUE if no color balance filter
    are required, but that's is wrong, since it will break the passthrough. This
    patch return FALSE which is the correct value for the situation.
    va: vpp: use gst_clear_caps()
Edited by Víctor Manuel Jáquez Leal

Merge request reports