ffmpeg多线程调研
1 解码
经调研,ffmpeg对h264, hevc多线程解码,提供配置线程数的接口,如下红色部分,AV_CODEC_CAP_SLICE_THREADS为支持片级多线程,AV_CODEC_CAP_FRAME_THREADS为支持帧级多线程。
AVCodec ff_h264_decoder = {
.name ="h264",
.long_name =NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
.type =AVMEDIA_TYPE_VIDEO,
.id =AV_CODEC_ID_H264,
.priv_data_size =sizeof(H264Context),
.init =ff_h264_decode_init,
.close =h264_decode_end,
.decode =h264_decode_frame,
.capabilities =/*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ AV_CODEC_CAP_DR1 |
AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS |
AV_CODEC_CAP_FRAME_THREADS,
.caps_internal =FF_CODEC_C