aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-10-26 11:23:49 +0200
committerAnton Khirnov <anton@khirnov.net>2024-11-09 02:46:17 +0100
commit13129f1af4340944291e0e291cb38d1c1ea3aad2 (patch)
treeae5acaebdfda042d136c36620607a5cd65879889
parent9e68b26765ca8396050f4b58d4b4fdc53943d35f (diff)
downloadffmpeg-13129f1af4340944291e0e291cb38d1c1ea3aad2.tar.gz
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.
-rw-r--r--Changelog1
-rwxr-xr-xconfigure4
-rw-r--r--libavcodec/omx.c4
-rw-r--r--libavcodec/version_major.h3
4 files changed, 11 insertions, 1 deletions
diff --git a/Changelog b/Changelog
index 50bffec41c..a744faeb29 100644
--- a/Changelog
+++ b/Changelog
@@ -5,6 +5,7 @@ version <next>:
- 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 */