ffmpeg | branch: master | Niklas Haas <g...@haasn.dev> | Fri Nov 29 21:39:15 
2024 +0100| [b9dfe8138eb2df49c85a085b73c20d652ecf579a] | committer: Niklas Haas

swscale/utils: check for supported color transfers

We will use the av_csp_itu_eotf() functions to decode these internally, so
check this function to see if it succeeds.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b9dfe8138eb2df49c85a085b73c20d652ecf579a
---

 libswscale/utils.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libswscale/utils.c b/libswscale/utils.c
index 4dedbfc394..dc0f30aa3a 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -41,6 +41,7 @@
 #include "libavutil/attributes.h"
 #include "libavutil/avassert.h"
 #include "libavutil/cpu.h"
+#include "libavutil/csp.h"
 #include "libavutil/emms.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
@@ -2738,8 +2739,9 @@ int sws_test_primaries(enum AVColorPrimaries prim, int 
output)
 
 int sws_test_transfer(enum AVColorTransferCharacteristic trc, int output)
 {
-    return trc > AVCOL_TRC_RESERVED0 && trc < AVCOL_TRC_NB &&
-           trc != AVCOL_TRC_RESERVED;
+    av_csp_eotf_function eotf = output ? av_csp_itu_eotf_inv(trc)
+                                       : av_csp_itu_eotf(trc);
+    return trc == AVCOL_TRC_UNSPECIFIED || eotf != NULL;
 }
 
 static int test_range(enum AVColorRange range)

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to