From 82da22066c0818b606812d479674929a229386e2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 31 Jan 2023 13:11:20 +0100 Subject: [PATCH] lavc: deprecate CrystalHD decoders The hardware is old and not relevant today. The decoders also have many special quirks and are effectively unmaintained. --- 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 7c3bd7f80c..df9cd69da2 100644 --- a/Changelog +++ b/Changelog @@ -38,6 +38,7 @@ version : - media100 to mjpegb bsf - ffmpeg CLI new option: -fix_sub_duration_heartbeat - WavArc 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 c726076da1..d67855c729 100755 --- a/configure +++ b/configure @@ -7001,7 +7001,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 */