From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> To: ffmpeg-devel@ffmpeg.org Cc: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Subject: [FFmpeg-devel] [PATCH 18/18] avcodec/codec_internal: Add macros for update_thread_context(_for_user) Date: Mon, 29 Aug 2022 15:45:47 +0200 Message-ID: <AS8P250MB0744254B2BFB7111A9A3CD988F769@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw) In-Reply-To: <AS8P250MB07442EF78806549AFE15D6D98F779@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> It reduces typing: Before this patch, there were 11 callbacks that exceeded the 80 char line length limit; now there are zero. It also allows to remove ONLY_IF_THREADS_ENABLED() in libavutil/internal.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/cfhd.c | 2 +- libavcodec/codec_internal.h | 12 ++++++++++++ libavcodec/ffv1dec.c | 2 +- libavcodec/h264dec.c | 4 ++-- libavcodec/hevcdec.c | 2 +- libavcodec/mimic.c | 2 +- libavcodec/mpeg12dec.c | 2 +- libavcodec/mpeg4videodec.c | 4 ++-- libavcodec/pngdec.c | 4 ++-- libavcodec/proresdec2.c | 2 +- libavcodec/rv30.c | 2 +- libavcodec/rv40.c | 2 +- libavcodec/takdec.c | 2 +- libavcodec/vp3.c | 6 +++--- libavcodec/vp8.c | 2 +- libavcodec/vp9.c | 2 +- libavcodec/wavpack.c | 2 +- libavutil/internal.h | 11 ----------- 18 files changed, 33 insertions(+), 32 deletions(-) diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c index 9eaac9ecfd..1af9cd44a9 100644 --- a/libavcodec/cfhd.c +++ b/libavcodec/cfhd.c @@ -1464,7 +1464,7 @@ const FFCodec ff_cfhd_decoder = { .init = cfhd_init, .close = cfhd_close, FF_CODEC_DECODE_CB(cfhd_decode), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h index 310e243d84..2d9b4f6460 100644 --- a/libavcodec/codec_internal.h +++ b/libavcodec/codec_internal.h @@ -264,6 +264,18 @@ typedef struct FFCodec { #define CODEC_LONG_NAME(str) .p.long_name = str #endif +#if HAVE_THREADS +#define UPDATE_THREAD_CONTEXT(func) \ + .update_thread_context = (func) +#define UPDATE_THREAD_CONTEXT_FOR_USER(func) \ + .update_thread_context_for_user = (func) +#else +#define UPDATE_THREAD_CONTEXT(func) \ + .update_thread_context = NULL +#define UPDATE_THREAD_CONTEXT_FOR_USER(func) \ + .update_thread_context_for_user = NULL +#endif + #define FF_CODEC_DECODE_CB(func) \ .cb_type = FF_CODEC_CB_TYPE_DECODE, \ .cb.decode = (func) diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 2fc8941362..794c58cc40 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -1077,7 +1077,7 @@ const FFCodec ff_ffv1_decoder = { .init = decode_init, .close = ff_ffv1_close, FF_CODEC_DECODE_CB(decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 3cef3f39f5..8f56f3ff92 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -1105,8 +1105,8 @@ const FFCodec ff_h264_decoder = { .caps_internal = FF_CODEC_CAP_EXPORTS_CROPPING | FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, .flush = h264_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context), - .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context_for_user), + UPDATE_THREAD_CONTEXT(ff_h264_update_thread_context), + UPDATE_THREAD_CONTEXT_FOR_USER(ff_h264_update_thread_context_for_user), .p.profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles), .p.priv_class = &h264_class, }; diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 91bafa2114..90961f87be 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -3854,7 +3854,7 @@ const FFCodec ff_hevc_decoder = { .close = hevc_decode_free, FF_CODEC_DECODE_CB(hevc_decode_frame), .flush = hevc_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(hevc_update_thread_context), + UPDATE_THREAD_CONTEXT(hevc_update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_EXPORTS_CROPPING | diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c index c506a42322..1d4f2b85c1 100644 --- a/libavcodec/mimic.c +++ b/libavcodec/mimic.c @@ -446,7 +446,7 @@ const FFCodec ff_mimic_decoder = { .close = mimic_decode_end, FF_CODEC_DECODE_CB(mimic_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, - .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(mimic_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 2aa5bc776d..7133696f3c 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -2880,7 +2880,7 @@ const FFCodec ff_mpeg1video_decoder = { .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, .flush = flush, .p.max_lowres = 3, - .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(mpeg_decode_update_thread_context), .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_MPEG1_NVDEC_HWACCEL HWACCEL_NVDEC(mpeg1), diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 8eb81688ef..4dbf37afe5 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -3686,8 +3686,8 @@ const FFCodec ff_mpeg4_decoder = { .p.max_lowres = 3, .p.pix_fmts = ff_h263_hwaccel_pixfmt_list_420, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles), - .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context), - .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context_for_user), + UPDATE_THREAD_CONTEXT(mpeg4_update_thread_context), + UPDATE_THREAD_CONTEXT_FOR_USER(mpeg4_update_thread_context_for_user), .p.priv_class = &mpeg4_class, .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_MPEG4_NVDEC_HWACCEL diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 9e7d9b589f..582953d17b 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -1722,7 +1722,7 @@ const FFCodec ff_apng_decoder = { .init = png_dec_init, .close = png_dec_end, FF_CODEC_DECODE_CB(decode_frame_apng), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS | @@ -1740,7 +1740,7 @@ const FFCodec ff_png_decoder = { .init = png_dec_init, .close = png_dec_end, FF_CODEC_DECODE_CB(decode_frame_png), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 68b29deadb..5ec579b994 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -878,7 +878,7 @@ const FFCodec ff_prores_decoder = { .init = decode_init, .close = decode_close, FF_CODEC_DECODE_CB(decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS, .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles), .hw_configs = (const AVCodecHWConfigInternal *const []) { diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index 0361e75580..be62577f99 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -307,6 +307,6 @@ const FFCodec ff_rv30_decoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(ff_rv34_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c index 728a04062a..75849b173e 100644 --- a/libavcodec/rv40.c +++ b/libavcodec/rv40.c @@ -590,6 +590,6 @@ const FFCodec ff_rv40_decoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(ff_rv34_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index f7fb34617d..68ad1e9ed7 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -946,7 +946,7 @@ const FFCodec ff_tak_decoder = { .init = tak_decode_init, .close = tak_decode_close, FF_CODEC_DECODE_CB(tak_decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 58dd81cd61..31775455a4 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -3179,7 +3179,7 @@ const FFCodec ff_theora_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_EXPORTS_CROPPING | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; @@ -3197,7 +3197,7 @@ const FFCodec ff_vp3_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; @@ -3215,7 +3215,7 @@ const FFCodec ff_vp4_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 6545002fd7..0e16e75faa 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -3003,7 +3003,7 @@ const FFCodec ff_vp8_decoder = { AV_CODEC_CAP_SLICE_THREADS, .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, .flush = vp8_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp8_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(vp8_decode_update_thread_context), .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_VP8_VAAPI_HWACCEL HWACCEL_VAAPI(vp8), diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index acbbce5624..029e9156c5 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1882,7 +1882,7 @@ const FFCodec ff_vp9_decoder = { FF_CODEC_CAP_SLICE_THREAD_HAS_MF | FF_CODEC_CAP_ALLOCATE_PROGRESS, .flush = vp9_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(vp9_decode_update_thread_context), .p.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles), .bsfs = "vp9_superframe_split", .hw_configs = (const AVCodecHWConfigInternal *const []) { diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index a326b06e94..7aa1f65e17 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -1707,7 +1707,7 @@ const FFCodec ff_wavpack_decoder = { .close = wavpack_decode_end, FF_CODEC_DECODE_CB(wavpack_decode_frame), .flush = wavpack_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavutil/internal.h b/libavutil/internal.h index 40072d4e30..c9e30bc5e9 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -115,17 +115,6 @@ # define NULL_IF_CONFIG_SMALL(x) x #endif -/** - * Return NULL if a threading library has not been enabled. - * Used to disable threading functions in AVCodec definitions - * when not needed. - */ -#if HAVE_THREADS -# define ONLY_IF_THREADS_ENABLED(x) x -#else -# define ONLY_IF_THREADS_ENABLED(x) NULL -#endif - /** * Log a generic warning message about a missing feature. * -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
prev parent reply other threads:[~2022-08-29 13:46 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-28 21:18 [FFmpeg-devel] [PATCH 01/11] avcodec/mpeg4video: Factor non-codec stuff out into a header of its own Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 02/11] avcodec/flac: Remove unnecessary FLACSTREAMINFO define Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 03/11] avcodec/flacdec: Shorten name Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 04/11] avcodec/flacdec: Don't infer max_framesize unnecessarily Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 05/11] avcodec/flac: Move ff_flac_get_max_frame_size() to flacenc.c Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 06/11] avcodec/flac: Remove unused parameter from ff_flac_is_extradata_valid() Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 07/11] avcodec/flac: Remove pointless define Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 08/11] avcodec/flac: Move decoder+parser stuff into a new header, flac_parse.h Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 09/11] avcodec/flac: Don't use bytestream API unnecessarily Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 10/11] avcodec/encode: Avoid unreferencing blank AVFrames Andreas Rheinhardt 2022-09-02 20:16 ` Andreas Rheinhardt 2022-08-28 21:19 ` [FFmpeg-devel] [PATCH 11/11] avcodec/frame_thread_encoder: Stop serializing unreferencing AVFrames Andreas Rheinhardt 2022-08-28 23:34 ` [FFmpeg-devel] [PATCH 12/16] avutil/internal: Remove unused ff_rint64_clip() Andreas Rheinhardt 2022-08-28 23:34 ` [FFmpeg-devel] [PATCH 13/16] avutil/internal: Remove unused FF_SYMVER Andreas Rheinhardt 2022-08-28 23:34 ` [FFmpeg-devel] [PATCH 14/16] avutil/dict: Move avpriv_dict_set_timestamp() to a header of its own Andreas Rheinhardt 2022-08-28 23:34 ` [FFmpeg-devel] [PATCH 15/16] avutil/internal: Move avpriv-file API " Andreas Rheinhardt 2022-08-28 23:34 ` [FFmpeg-devel] [PATCH 16/16] avutil/fifo: Properly deprecate av_tempfile() Andreas Rheinhardt 2022-08-31 3:30 ` Anton Khirnov 2022-08-31 3:34 ` Andreas Rheinhardt 2022-08-29 13:45 ` [FFmpeg-devel] [PATCH 17/18] avcodec/codec_internal: Add macro to set AVCodec.long_name Andreas Rheinhardt 2022-08-29 13:45 ` Andreas Rheinhardt [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=AS8P250MB0744254B2BFB7111A9A3CD988F769@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \ --to=andreas.rheinhardt@outlook.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git