[FFmpeg-devel] Hardware decoding buffer size

Steve Lhomme robux4 at gmail.com
Tue Mar 21 15:50:59 EET 2017


We have this bug in VLC with an MPEG2 file that decodes with green
bars at the top. After investigation it's because we allocate a
1920x1080 texture when it should actually need 1920x1088.

In software decoding it works because we adjust the
`ctx->coded_height` with avcodec_align_dimensions2(). But we do not
call it for hardware decoding. And looking at the code it seems it's
not meant to happen anyway (the DXVA pixel formats have no size

So my question is: is it the job of libavcodec hardware decoders to
set the proper coded_width/coded_height, in which case there's a bug,
or it should be done outside of libavcodec ? And if so, how ?


More information about the ffmpeg-devel mailing list