rav1e codec support (encode-only), all codecs can coexist peacefully now, and can be queried for availability or specifically chosen at encode/decode time
diff --git a/include/avif/internal.h b/include/avif/internal.h
index 846a91d..a8de61c 100644
--- a/include/avif/internal.h
+++ b/include/avif/internal.h
@@ -145,12 +145,16 @@
avifCodecDestroyInternalFunc destroyInternal;
} avifCodec;
-const char * avifCodecVersionAOM(void); // requires AVIF_CODEC_AOM
-avifCodec * avifCodecCreateAOM(void); // requires AVIF_CODEC_AOM
-const char * avifCodecVersionDav1d(void); // requires AVIF_CODEC_DAV1D
-avifCodec * avifCodecCreateDav1d(void); // requires AVIF_CODEC_DAV1D
+avifCodec * avifCodecCreate(avifCodecChoice choice, uint32_t requiredFlags);
void avifCodecDestroy(avifCodec * codec);
+avifCodec * avifCodecCreateAOM(void); // requires AVIF_CODEC_AOM (codec_aom.c)
+const char * avifCodecVersionAOM(void); // requires AVIF_CODEC_AOM (codec_aom.c)
+avifCodec * avifCodecCreateDav1d(void); // requires AVIF_CODEC_DAV1D (codec_dav1d.c)
+const char * avifCodecVersionDav1d(void); // requires AVIF_CODEC_DAV1D (codec_dav1d.c)
+avifCodec * avifCodecCreateRav1e(void); // requires AVIF_CODEC_RAV1E (codec_rav1e.c)
+const char * avifCodecVersionRav1e(void); // requires AVIF_CODEC_RAV1E (codec_rav1e.c)
+
// ---------------------------------------------------------------------------
// avifStream