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.
This commit is contained in:
Niklas Haas 2024-11-29 21:39:15 +01:00
parent 6c9218d748
commit b9dfe8138e

View file

@ -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)