#include "avif/internal.h"
#include <float.h>
#include <math.h>
#include <string.h>
struct avifColorPrimariesTable
{ … };
static const struct avifColorPrimariesTable avifColorPrimariesTables[] = …;
static const int avifColorPrimariesTableSize = …;
void avifColorPrimariesGetValues(avifColorPrimaries acp, float outPrimaries[8])
{ … }
static avifBool matchesTo3RoundedPlaces(float a, float b)
{ … }
static avifBool primariesMatch(const float p1[8], const float p2[8])
{ … }
avifColorPrimaries avifColorPrimariesFind(const float inPrimaries[8], const char ** outName)
{ … }
avifResult avifTransferCharacteristicsGetGamma(avifTransferCharacteristics atc, float * gamma)
{ … }
avifTransferCharacteristics avifTransferCharacteristicsFindByGamma(float gamma)
{ … }
struct avifMatrixCoefficientsTable
{ … };
static const struct avifMatrixCoefficientsTable matrixCoefficientsTables[] = …;
static const int avifMatrixCoefficientsTableSize = …;
static avifBool calcYUVInfoFromCICP(const avifImage * image, float coeffs[3])
{ … }
void avifCalcYUVCoefficients(const avifImage * image, float * outR, float * outG, float * outB)
{ … }
struct avifTransferCharacteristicsTable
{ … };
static float avifToLinear709(float gamma)
{ … }
static float avifToGamma709(float linear)
{ … }
static float avifToLinear470M(float gamma)
{ … }
static float avifToGamma470M(float linear)
{ … }
static float avifToLinear470BG(float gamma)
{ … }
static float avifToGamma470BG(float linear)
{ … }
static float avifToLinearSMPTE240(float gamma)
{ … }
static float avifToGammaSMPTE240(float linear)
{ … }
static float avifToGammaLinear(float gamma)
{ … }
static float avifToLinearLog100(float gamma)
{ … }
static float avifToGammaLog100(float linear)
{ … }
static float avifToLinearLog100Sqrt10(float gamma)
{ … }
static float avifToGammaLog100Sqrt10(float linear)
{ … }
static float avifToLinearIEC61966(float gamma)
{ … }
static float avifToGammaIEC61966(float linear)
{ … }
static float avifToLinearBT1361(float gamma)
{ … }
static float avifToGammaBT1361(float linear)
{ … }
static float avifToLinearSRGB(float gamma)
{ … }
static float avifToGammaSRGB(float linear)
{ … }
#define PQ_MAX_NITS …
#define HLG_PEAK_LUMINANCE_NITS …
#define SDR_WHITE_NITS …
static float avifToLinearPQ(float gamma)
{ … }
static float avifToGammaPQ(float linear)
{ … }
static float avifToLinearSMPTE428(float gamma)
{ … }
static float avifToGammaSMPTE428(float linear)
{ … }
static float avifToLinearHLG(float gamma)
{ … }
static float avifToGammaHLG(float linear)
{ … }
static const struct avifTransferCharacteristicsTable transferCharacteristicsTables[] = …;
static const int avifTransferCharacteristicsTableSize = …;
avifTransferFunction avifTransferCharacteristicsGetGammaToLinearFunction(avifTransferCharacteristics atc)
{ … }
avifTransferFunction avifTransferCharacteristicsGetLinearToGammaFunction(avifTransferCharacteristics atc)
{ … }
void avifColorPrimariesComputeYCoeffs(avifColorPrimaries colorPrimaries, float coeffs[3])
{ … }