[FFmpeg-devel] [PATCH v3] lavc: convert frame threading to the receive_frame() pattern
Timo Rothenpieler
timo at rothenpieler.org
Fri Dec 9 15:09:45 EET 2022
On 07/12/2022 23:22, Michael Niedermayer wrote:
> On Wed, Dec 07, 2022 at 02:20:23PM +0100, Timo Rothenpieler wrote:
>> From: Anton Khirnov <anton at khirnov.net>
>>
>> Reorganize the code such that the frame threading code does not call the
>> decoders directly, but instead calls back into the generic decoding
>> code. This avoids duplicating the logic that wraps the decoder
>> invocation and will be useful in the following commits.
>> ---
>> libavcodec/decode.c | 57 +++++----
>> libavcodec/decode.h | 7 +
>> libavcodec/internal.h | 7 +
>> libavcodec/pthread_frame.c | 256 ++++++++++++++++++++++++-------------
>> libavcodec/thread.h | 18 +--
>> 5 files changed, 222 insertions(+), 123 deletions(-)
>
> This breaks on arm (probably lack of pthread support) in this env
>
> libavcodec/libavcodec.a(decode.o): In function `decode_receive_frame_internal':
> arm/src/libavcodec/decode.c:616: undefined reference to `ff_thread_receive_frame'
> arm/src/libavcodec/decode.c:616: undefined reference to `ff_thread_receive_frame'
> collect2: error: ld returned 1 exit status
> Makefile:131: recipe for target 'ffprobe_g' failed
> make: *** [ffprobe_g] Error 1
Probably just missing an #if somewhere.
Why does arm not support pthreads though?
Or is that just this specific configuration?
More information about the ffmpeg-devel
mailing list