From 13129f1af4340944291e0e291cb38d1c1ea3aad2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 26 Oct 2024 11:23:49 +0200 Subject: [PATCH] lavc: deprecate the omx encoders They have not been relevant for a long time, and support for this API is also being dropped from other projects. --- Changelog | 1 + configure | 4 +++- libavcodec/omx.c | 4 ++++ libavcodec/version_major.h | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 50bffec41c..a744faeb29 100644 --- a/Changelog +++ b/Changelog @@ -5,6 +5,7 @@ version : - yasm support dropped, users need to use nasm - VVC VAAPI decoder - RealVideo 6.0 decoder +- OpenMAX encoders deprecated version 7.1: - Raw Captions with Time (RCWT) closed caption demuxer diff --git a/configure b/configure index 90bb535ea1..0e9ed6dc3c 100755 --- a/configure +++ b/configure @@ -7110,7 +7110,9 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoRequestIFrame; } || die "ERROR: OpenMAX IL headers from raspberrypi/firmware not found"; } && enable omx -enabled omx && require_headers OMX_Core.h +enabled omx && require_headers OMX_Core.h && \ + warn "The OpenMAX encoders are deprecated and will be removed in future versions" + enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0" openssl/ssl.h OPENSSL_init_ssl && { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } || { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } || diff --git a/libavcodec/omx.c b/libavcodec/omx.c index 2c3865506f..2855aff8f2 100644 --- a/libavcodec/omx.c +++ b/libavcodec/omx.c @@ -648,6 +648,10 @@ static av_cold int omx_encode_init(AVCodecContext *avctx) OMX_BUFFERHEADERTYPE *buffer; OMX_ERRORTYPE err; + av_log(avctx, AV_LOG_WARNING, + "The %s encoder is deprecated and will be removed in future versions\n", + avctx->codec->name); + /* cleanup relies on the mutexes/conditions being initialized first. */ ret = ff_pthread_init(s, omx_codec_context_offsets); if (ret < 0) diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index 37f243f868..7ab2b67c2f 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -50,4 +50,7 @@ #define FF_API_QUALITY_FACTOR (LIBAVCODEC_VERSION_MAJOR < 62) #define FF_API_V408_CODECID (LIBAVCODEC_VERSION_MAJOR < 62) +// reminder to remove the OMX encoder on next major bump +#define FF_CODEC_OMX (LIBAVCODEC_VERSION_MAJOR < 62) + #endif /* AVCODEC_VERSION_MAJOR_H */