]> git.sesse.net Git - vlc/blobdiff - modules/codec/avcodec/chroma.c
avcodec: fix double free on error
[vlc] / modules / codec / avcodec / chroma.c
index fce73174b2dc8d23e932f3c9383f1edb7d8e22c0..9105e652804eda26f666793c7a500974c0b18e4d 100644 (file)
@@ -79,24 +79,20 @@ static const struct
     {VLC_CODEC_I410, PIX_FMT_YUV410P, 0, 0, 0 },
     {VLC_FOURCC('Y','V','U','9'), PIX_FMT_YUV410P, 0, 0, 0 },
 
-    {VLC_FOURCC('N','V','1','2'), PIX_FMT_NV12, 0, 0, 0 },
-    {VLC_FOURCC('N','V','2','1'), PIX_FMT_NV21, 0, 0, 0 },
+    {VLC_CODEC_NV12, PIX_FMT_NV12, 0, 0, 0 },
+    {VLC_CODEC_NV21, PIX_FMT_NV21, 0, 0, 0 },
 
     {VLC_CODEC_I420_9L, PIX_FMT_YUV420P9LE, 0, 0, 0 },
     {VLC_CODEC_I420_9B, PIX_FMT_YUV420P9BE, 0, 0, 0 },
     {VLC_CODEC_I420_10L, PIX_FMT_YUV420P10LE, 0, 0, 0 },
     {VLC_CODEC_I420_10B, PIX_FMT_YUV420P10BE, 0, 0, 0 },
-#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,13,0)
     {VLC_CODEC_I422_9L, PIX_FMT_YUV422P9LE, 0, 0, 0 },
     {VLC_CODEC_I422_9B, PIX_FMT_YUV422P9BE, 0, 0, 0 },
-#endif
     {VLC_CODEC_I422_10L, PIX_FMT_YUV422P10LE, 0, 0, 0 },
     {VLC_CODEC_I422_10B, PIX_FMT_YUV422P10BE, 0, 0, 0 },
 
     {VLC_CODEC_YUV420A, PIX_FMT_YUVA420P, 0, 0, 0 },
-#if LIBAVUTIL_VERSION_CHECK( 51, 45, 0, 74, 100 )
     {VLC_CODEC_YUV422A, AV_PIX_FMT_YUVA422P, 0, 0, 0 },
-#endif
 
     {VLC_CODEC_I444_9L, PIX_FMT_YUV444P9LE, 0, 0, 0 },
     {VLC_CODEC_I444_9B, PIX_FMT_YUV444P9BE, 0, 0, 0 },
@@ -113,7 +109,7 @@ static const struct
 
     /* Packed RGB formats */
     VLC_RGB( VLC_FOURCC('R','G','B','4'), PIX_FMT_RGB4, PIX_FMT_BGR4, 0x10, 0x06, 0x01 )
-    VLC_RGB( VLC_FOURCC('R','G','B','8'), PIX_FMT_RGB8, PIX_FMT_BGR8, 0xC0, 0x38, 0x07 )
+    VLC_RGB( VLC_CODEC_RGB8, PIX_FMT_RGB8, PIX_FMT_BGR8, 0xC0, 0x38, 0x07 )
 
     VLC_RGB( VLC_CODEC_RGB15, PIX_FMT_RGB555, PIX_FMT_BGR555, 0x7c00, 0x03e0, 0x001f )
     VLC_RGB( VLC_CODEC_RGB16, PIX_FMT_RGB565, PIX_FMT_BGR565, 0xf800, 0x07e0, 0x001f )
@@ -128,11 +124,14 @@ static const struct
 
     {VLC_CODEC_RGBA, PIX_FMT_RGBA, 0, 0, 0 },
     {VLC_CODEC_ARGB, PIX_FMT_ARGB, 0, 0, 0 },
+    {VLC_CODEC_BGRA, PIX_FMT_BGRA, 0, 0, 0 },
     {VLC_CODEC_GREY, PIX_FMT_GRAY8, 0, 0, 0},
 
      /* Paletized RGB */
     {VLC_CODEC_RGBP, PIX_FMT_PAL8, 0, 0, 0},
 
+    {VLC_CODEC_GBR_PLANAR, AV_PIX_FMT_GBRP, 0, 0, 0 },
+
     /* XYZ */
 #if LIBAVUTIL_VERSION_CHECK(52, 10, 0, 25, 100)
     {VLC_CODEC_XYZ12, AV_PIX_FMT_XYZ12, 0xfff0, 0xfff0, 0xfff0},