Cleanup nclx API to use temp structs
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);
         }
     }