[FFmpeg-devel] [PATCH] libavcodec/qsvdec_h264.c bug fixed: decoder fails after restart on non-annex-b content.

Michael Niedermayer michael at niedermayer.cc
Sat Jul 25 17:14:20 CEST 2015

On Sat, Jul 25, 2015 at 04:41:46PM +0300, Ivan Uskov wrote:
> Hello Hendrik,
> Saturday, July 25, 2015, 3:13:38 PM, you wrote:
> HL> I'm slightly confused by the entire concept here.
> HL> - Why does the decoder need to re-init anyway?
> Each time when I launch a command line like:
> ./ffmpeg -c:v h264_qsv -i hd.mp4 -y result.yuv
> I can see that:
> 1. decoder opens,
> 2. decoding until stream detect performs,
> 3. decoder closes,
> 4. decoder opens,
> 5. normal decoding begins.
> I still not big ffmpeg expert but I suspecting this behavior is by design.

the first opening comes from avformat_find_stream_info()

> HL> - You want the bsf to convert the bitstream to annexb, but not the
> HL> extradata? Why not?
> qsv* modules does not touch extradata at all.
> But at step #5 above the bsf bumped to converted extradata which product of
> bsf by itself at step #2. So at step #5 bsf confuses and fails.
> So no mkv and mp4 decoding by h264_qsv at all currently.

> HL> - Ideally, a decoder should support both bitstream syntax without the
> HL> bsf, since the bsf is a hack for re-muxing, and many playback
> HL> applications do not use the bsf since practically no decoder otherwise
> HL> needs them.
> Intel's QSV decoder does require annex-b stream, it is documented in
> SDK reference.
> I can implement necessary functions to generate annex-b prefixes just into
> libavcodec/qsvdec_h264.c if Michael will agree this way.

would this be faster ?
avoid a copy/malloc ?

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Frequently ignored answer#1 FFmpeg bugs should be sent to our bugtracker. User
questions about the command line tools should be sent to the ffmpeg-user ML.
And questions about how to use libav* should be sent to the libav-user ML.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150725/462b507d/attachment.sig>

More information about the ffmpeg-devel mailing list