st/omx/dec: convert decoder video buffer to progressive
authorLeo Liu <leo.liu@amd.com>
Mon, 4 Jul 2016 20:32:48 +0000 (16:32 -0400)
committerLeo Liu <leo.liu@amd.com>
Tue, 12 Jul 2016 13:27:53 +0000 (09:27 -0400)
commit55f0b97b407efedf1c4807604ed9d631fefe7ac3
treefe96477baf05ae2ddcc94c2628c0aa51e6bd8aaa
parent82f875f4d800d05b04a8174e8863b2b70276bbb0
st/omx/dec: convert decoder video buffer to progressive

with encode tunneling

The idea of encode tunneling is to use video buffer directly for encoder,
but currently the encoder doesn’t support interlaced surface, the OMX
decoder set progressive surface before on that purpose.

Since now we are polling the driver for interlacing information for
decoder, we got the interlaced as preferred as other APIs(VDPAU, VA-API),
thus breaking the transcode with tunneling.

The solution is when with tunnel detected, re-allocate progressive target
buffers, and then converting the interlaced decoder results to there.

This has been tested with transcode results bit to bit matching as before
with surface from progressive to progressive.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Tested-by: Julien Isorce <j.isorce@samsung.com>
src/gallium/state_trackers/omx/vid_dec.c
src/gallium/state_trackers/omx/vid_dec.h