[FFmpeg-devel] [PATCH] lavc: deprecate CrystalHD decoders

Anton Khirnov anton at khirnov.net
Tue Jan 31 14:17:56 EET 2023


The hardware is old and not relevant today. The decoders also have many
special quirks and are effectively unmaintained.
---
Philip confirmed on IRC that he no longer has the hardware for
maintaining this and does not believe it is relevant today.
---
 Changelog                  | 1 +
 MAINTAINERS                | 2 --
 configure                  | 4 +++-
 libavcodec/crystalhd.c     | 4 ++++
 libavcodec/version_major.h | 3 +++
 5 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/Changelog b/Changelog
index aa0dad13a1..323effec05 100644
--- a/Changelog
+++ b/Changelog
@@ -35,6 +35,7 @@ version <next>:
 - ffmpeg CLI new options: -enc_stats_pre[_fmt], -enc_stats_post[_fmt]
 - hstack_vaapi, vstack_vaapi and xstack_vaapi filters
 - XMD ADPCM decoder and demuxer
+- CrystalHD decoders deprecated
 
 
 version 5.1:
diff --git a/MAINTAINERS b/MAINTAINERS
index 48e2ec4fd4..f87d43fce5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -151,7 +151,6 @@ Codecs:
   ccaption_dec.c                        Anshul Maheshwari, Aman Gupta
   cljr                                  Alex Beregszaszi
   cpia.c                                Stephan Hilb
-  crystalhd.c                           Philip Langdale
   cscd.c                                Reimar Doeffinger
   cuviddec.c                            Timo Rothenpieler
   dca*                                  foo86
@@ -265,7 +264,6 @@ Codecs:
   xwd*                                  Paul B Mahol
 
 Hardware acceleration:
-  crystalhd.c                           Philip Langdale
   dxva2*                                Hendrik Leppkes, Laurent Aimar, Steve Lhomme
   d3d11va*                              Steve Lhomme
   mediacodec*                           Matthieu Bouron, Aman Gupta
diff --git a/configure b/configure
index 47790d10f5..a4ce3b5b32 100755
--- a/configure
+++ b/configure
@@ -6999,7 +6999,9 @@ enabled vdpau &&
 enabled vdpau &&
     check_lib vdpau_x11 "vdpau/vdpau.h vdpau/vdpau_x11.h" vdp_device_create_x11 -lvdpau -lX11
 
-enabled crystalhd && check_lib crystalhd "stdint.h libcrystalhd/libcrystalhd_if.h" DtsCrystalHDVersion -lcrystalhd
+enabled crystalhd && check_lib crystalhd "stdint.h libcrystalhd/libcrystalhd_if.h" DtsCrystalHDVersion -lcrystalhd && \
+    warn "CrystalHD support is deprecated and will be removed, please contact the developers if you are interested"   \
+         "in maintaining it."
 
 if enabled vulkan; then
     check_pkg_config_header_only vulkan "vulkan >= 1.2.189" "vulkan/vulkan.h" "defined VK_VERSION_1_2" ||
diff --git a/libavcodec/crystalhd.c b/libavcodec/crystalhd.c
index 8673a491d4..688cdffbcb 100644
--- a/libavcodec/crystalhd.c
+++ b/libavcodec/crystalhd.c
@@ -329,6 +329,10 @@ static av_cold int init(AVCodecContext *avctx)
     av_log(avctx, AV_LOG_VERBOSE, "CrystalHD Init for %s\n",
            avctx->codec->name);
 
+    av_log(avctx, AV_LOG_WARNING, "CrystalHD support is deprecated and will "
+           "be removed. Please contact the developers if you are interested in "
+           "maintaining it.\n");
+
     avctx->pix_fmt = AV_PIX_FMT_YUYV422;
 
     /* Initialize the library */
diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h
index 2c0443c4c8..f38566f62c 100644
--- a/libavcodec/version_major.h
+++ b/libavcodec/version_major.h
@@ -55,4 +55,7 @@
 #define FF_API_VT_HWACCEL_CONTEXT  (LIBAVCODEC_VERSION_MAJOR < 60)
 #define FF_API_AVCODEC_CHROMA_POS  (LIBAVCODEC_VERSION_MAJOR < 60)
 
+// reminder to remove CrystalHD decoders on next major bump
+#define FF_CODEC_CRYSTAL_HD        (LIBAVCODEC_VERSION_MAJOR < 61)
+
 #endif /* AVCODEC_VERSION_MAJOR_H */
-- 
2.35.1



More information about the ffmpeg-devel mailing list