va: basedec: Setup the other_pool to copy output if crop_left/top.
authorHe Junyan <junyan.he@intel.com>
Wed, 9 Jun 2021 07:44:33 +0000 (15:44 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 28 Jun 2021 15:16:39 +0000 (15:16 +0000)
commit55302c97058b55c6b2020509c0443d1ed7a7f546
tree7ebc6e99c0ced1bde8e5ca5c112f9c95bc9746da
parentc03350e2346a8bda1fbcaf061ca29a37ef436716
va: basedec: Setup the other_pool to copy output if crop_left/top.

If the decoder has crop_top/left value > 0(e.g. the conformance
window in the H265). Which means that the real output picture
locates in the middle of the decoded buffer. If the downstream can
support VideoCropMeta, a VideoCropMeta is added to notify the
real picture's coordinate and size. But if not, we need to copy
it manually and the other_pool is needed. We always assume that
decoded picture starts from top-left corner, and so there is no
need to do this if crop_bottom/right value > 0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
sys/va/gstvabasedec.c
sys/va/gstvabasedec.h