On 12/9/2022 10:09 AM, Timo Rothenpieler wrote:
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 <an...@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.

Yes.

+static int decode_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame)
+{
+    if (avctx->active_thread_type & FF_THREAD_FRAME)

Should be if (HAVE_THREADS && ...

+        return ff_thread_receive_frame(avctx, frame);
+    return ff_decode_receive_frame_internal(avctx, frame);
+}

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to