Added avifEncoder and avifDecoder to match avifImage's pattern and allow for easier future parameterization
diff --git a/src/read.c b/src/read.c
index 831af8f..a40bc6c 100644
--- a/src/read.c
+++ b/src/read.c
@@ -538,7 +538,19 @@
 
 // ---------------------------------------------------------------------------
 
-avifResult avifImageRead(avifImage * image, avifRawData * input)
+avifDecoder * avifDecoderCreate(void)
+{
+    avifDecoder * decoder = (avifDecoder *)avifAlloc(sizeof(avifDecoder));
+    memset(decoder, 0, sizeof(avifDecoder));
+    return decoder;
+}
+
+void avifDecoderDestroy(avifDecoder * decoder)
+{
+    avifFree(decoder);
+}
+
+avifResult avifDecoderRead(avifDecoder * decoder, avifImage * image, avifRawData * input)
 {
     avifCodec * codec = NULL;
 
@@ -705,7 +717,7 @@
         avifCodecDestroy(codec);
     }
 
-    image->ioStats.colorOBUSize = colorOBU.size;
-    image->ioStats.alphaOBUSize = alphaOBU.size;
+    decoder->ioStats.colorOBUSize = colorOBU.size;
+    decoder->ioStats.alphaOBUSize = alphaOBU.size;
     return AVIF_RESULT_OK;
 }