Miscellaneous cleanup

Move the code that dereferences 'codec' after the null pointer checks.

Declare the pointer variable 'firstSample' as const.
diff --git a/src/write.c b/src/write.c
index 206e5cc..2913403 100644
--- a/src/write.c
+++ b/src/write.c
@@ -373,11 +373,11 @@
 
         encoder->data->colorItem = avifEncoderDataCreateItem(encoder->data, "av01", "Color", 6);
         encoder->data->colorItem->codec = avifCodecCreate(encoder->codecChoice, AVIF_CODEC_FLAG_CAN_ENCODE);
-        encoder->data->colorItem->codec->csOptions = encoder->csOptions;
         if (!encoder->data->colorItem->codec) {
             // Just bail out early, we're not surviving this function without an encoder compiled in
             return AVIF_RESULT_NO_CODEC_AVAILABLE;
         }
+        encoder->data->colorItem->codec->csOptions = encoder->csOptions;
         encoder->data->primaryItemID = encoder->data->colorItem->id;
 
         avifBool needsAlpha = (image->alphaPlane != NULL);
@@ -396,10 +396,10 @@
         if (needsAlpha) {
             encoder->data->alphaItem = avifEncoderDataCreateItem(encoder->data, "av01", "Alpha", 6);
             encoder->data->alphaItem->codec = avifCodecCreate(encoder->codecChoice, AVIF_CODEC_FLAG_CAN_ENCODE);
-            encoder->data->alphaItem->codec->csOptions = encoder->csOptions;
             if (!encoder->data->alphaItem->codec) {
                 return AVIF_RESULT_NO_CODEC_AVAILABLE;
             }
+            encoder->data->alphaItem->codec->csOptions = encoder->csOptions;
             encoder->data->alphaItem->alpha = AVIF_TRUE;
             encoder->data->alphaItem->irefToID = encoder->data->primaryItemID;
             encoder->data->alphaItem->irefType = "auxl";
@@ -525,7 +525,7 @@
     for (uint32_t itemIndex = 0; itemIndex < encoder->data->items.count; ++itemIndex) {
         avifEncoderItem * item = &encoder->data->items.item[itemIndex];
         if (item->encodeOutput->samples.count > 0) {
-            avifEncodeSample * firstSample = &item->encodeOutput->samples.sample[0];
+            const avifEncodeSample * firstSample = &item->encodeOutput->samples.sample[0];
             avifSequenceHeader sequenceHeader;
             if (avifSequenceHeaderParse(&sequenceHeader, (const avifROData *)&firstSample->data)) {
                 memcpy(&item->av1C, &sequenceHeader.av1C, sizeof(avifCodecConfigurationBox));