Cleanup nclx API to use temp structs
diff --git a/include/avif/avif.h b/include/avif/avif.h index 8be8c45..3705a99 100644 --- a/include/avif/avif.h +++ b/include/avif/avif.h
@@ -283,7 +283,7 @@ void avifImageSetProfileNone(avifImage * image); void avifImageSetProfileICC(avifImage * image, uint8_t * icc, size_t iccSize); -void avifImageSetProfileNCLX(avifImage * image, uint16_t colourPrimaries, uint16_t transferCharacteristics, uint16_t matrixCoefficients, uint8_t fullRangeFlag); +void avifImageSetProfileNCLX(avifImage * image, avifNclxColorProfile * nclx); void avifImageAllocatePlanes(avifImage * image, uint32_t planes); // Ignores any pre-existing planes void avifImageFreePlanes(avifImage * image, uint32_t planes); // Ignores already-freed planes
diff --git a/src/avif.c b/src/avif.c index 6bb1b2d..8ccb645 100644 --- a/src/avif.c +++ b/src/avif.c
@@ -81,14 +81,11 @@ } } -void avifImageSetProfileNCLX(avifImage * image, uint16_t colourPrimaries, uint16_t transferCharacteristics, uint16_t matrixCoefficients, uint8_t fullRangeFlag) +void avifImageSetProfileNCLX(avifImage * image, avifNclxColorProfile * nclx) { avifImageSetProfileNone(image); image->profileFormat = AVIF_PROFILE_FORMAT_NCLX; - image->nclx.colourPrimaries = colourPrimaries; - image->nclx.transferCharacteristics = transferCharacteristics; - image->nclx.matrixCoefficients = matrixCoefficients; - image->nclx.fullRangeFlag = fullRangeFlag; + memcpy(&image->nclx, nclx, sizeof(avifNclxColorProfile)); } void avifImageAllocatePlanes(avifImage * image, uint32_t planes)
diff --git a/src/read.c b/src/read.c index 73e7952..1a0ad89 100644 --- a/src/read.c +++ b/src/read.c
@@ -703,11 +703,7 @@ if (colorOBUItem->colr.format == AVIF_PROFILE_FORMAT_ICC) { avifImageSetProfileICC(image, colorOBUItem->colr.icc, colorOBUItem->colr.iccSize); } else if (colorOBUItem->colr.format == AVIF_PROFILE_FORMAT_NCLX) { - avifImageSetProfileNCLX(image, - colorOBUItem->colr.nclx.colourPrimaries, - colorOBUItem->colr.nclx.transferCharacteristics, - colorOBUItem->colr.nclx.matrixCoefficients, - colorOBUItem->colr.nclx.fullRangeFlag); + avifImageSetProfileNCLX(image, &colorOBUItem->colr.nclx); } }