Hi, all,
I am trying to decode h264 video using FFmpeg h264 decoder and got some problem:
Although the number of threads was the same as I set, the decoder seems to fail
to utilize these threads.
--------------------------------------------------------------------------------
THE PROBLEM:
I traced the program by GDB and found that when executing
ff_h264_execute_decode_slices()
in libavcodec/h264_slice.c, the context_count is always 1, so it failed to
execute the branch that
invokes avctx->execute() (which seems to be the correct multithread
version).
THE PROGRAM:
the program I used was the example program demuxing_decoding.c under
ffmpeg/doc/examples/,
and I inserted dec_ctx->thread_count = thread_count; dec_ctx->thread_type =
thread_type; before
line 179 which executing avcodec_open2()
the version of FFmpeg I used was: ffmpeg version git-2015-09-24-7179add
THE SAMPLE VIDEO:
the video I used was big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 under
http://download.openbricks.org/sample/H264/
One more thing, some videos trigger warning like:
[h264 @ 0x17ac3e0] Cannot parallelize slice decoding with deblocking filter
type 1, decoding such frames in sequential order
but this video is fine.
--------------------------------------------------------------------------------
How can I make use of slice based multithread decoding?
Thanks for your help.
zheng
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user