[FFmpeg-devel] [PATCH 3/4] libavcodec/qsvdec.c: The ff_qsv_decode() now guarantees the consumption of whole packet.
michael at niedermayer.cc
Fri Jul 24 11:26:27 CEST 2015
On Fri, Jul 24, 2015 at 11:56:54AM +0300, Ivan Uskov wrote:
> Hello Michael,
> Friday, July 24, 2015, 2:48:45 AM, you wrote:
> >> + /* A decoder's latency depends not only by async_depth
> >> + but by DPB size too. The latency may acheve 16 frames.
> >> + So it is necessary to handle the size of async_fifo dynamically:
> >> + */
> >> + if (av_fifo_space(q->async_fifo) < sizeof(out_frame) + sizeof(sync))
> >> + av_fifo_grow(q->async_fifo, sizeof(out_frame)+sizeof(sync));
> MN> the DPB cannot be arbitrary large, so maybe the grow code could be
> MN> avoided ?
> MN> or maybe i missunderstand
> As you can see, the current implementation pre-allocates async_fifo
> for async_depth+1 elements where async_depth==4 by default (see
> tehff_qsv_decode_init() function).
> For h.264 and HEVC max DPB size is 16. So we theoretically can
> hard-code 16+1 size for this fifo.
> Also same code will be used for mpeg2, mjpeg, vc1 where 16+1 most
> likely too big.
> Are you agree to use fixed size for fifo?
yes, it seems simpler,
and its only structs, not bitmaps so space wise it should not be a
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
It is dangerous to be right in matters on which the established authorities
are wrong. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 181 bytes
Desc: Digital signature
More information about the ffmpeg-devel