[FFmpeg-devel] How to use threads inside custom encoder

Alex 3.14pi at ukr.net
Thu Feb 23 20:28:29 EET 2023

I write custom encoder codec and want to use threads to speed up encoding process. I know what ffmpeg have frame level threads and slices threads, but in my case best option is to use frame level threads with FF_CODEC_ENCODE_CB() function.
But I have couple of questions:

1) Then I add AV_CODEC_CAP_FRAME_THREADS flag to capabilities of my encoder then ffmpeg call init function of my encoder for each spawned threads (for example 9 times because I have 8 core cpu ). How to prevent this and call init function only once? (I need to reuse encoder context.)
2) Is it possible to request more decoded frames inside encode callback function?

More information about the ffmpeg-devel mailing list