]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/pixdesc.c
avutil/pixdesc: Remove deprecated off-by-one fields from pix fmt descs
[ffmpeg] / libavutil / pixdesc.c
index fe38344d732eff99e6efddec0332d8464eb4c9cf..e701005bc08b15d040a278df5ab482b70a35a571 100644 (file)
@@ -167,9 +167,6 @@ void av_write_image_line(const uint16_t *src,
     av_write_image_line2(src, data, linesize, desc, x, y, c, w, 2);
 }
 
-#if FF_API_PLUS1_MINUS1
-FF_DISABLE_DEPRECATION_WARNINGS
-#endif
 static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
     [AV_PIX_FMT_YUV420P] = {
         .name = "yuv420p",
@@ -177,9 +174,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -189,9 +186,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 8, 1, 7, 1 },        /* Y */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* U */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* V */
+            { 0, 2, 0, 0, 8 },        /* Y */
+            { 0, 4, 1, 0, 8 },        /* U */
+            { 0, 4, 3, 0, 8 },        /* V */
         },
     },
     [AV_PIX_FMT_YVYU422] = {
@@ -200,20 +197,43 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 8, 1, 7, 1 },        /* Y */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* U */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* V */
+            { 0, 2, 0, 0, 8 },        /* Y */
+            { 0, 4, 3, 0, 8 },        /* U */
+            { 0, 4, 1, 0, 8 },        /* V */
         },
     },
+    [AV_PIX_FMT_Y210LE] = {
+        .name = "y210le",
+        .nb_components = 3,
+        .log2_chroma_w = 1,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 4, 0, 6, 10 },        /* Y */
+            { 0, 8, 2, 6, 10 },        /* U */
+            { 0, 8, 6, 6, 10 },        /* V */
+        },
+    },
+    [AV_PIX_FMT_Y210BE] = {
+        .name = "y210be",
+        .nb_components = 3,
+        .log2_chroma_w = 1,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 4, 0, 6, 10 },        /* Y */
+            { 0, 8, 2, 6, 10 },        /* U */
+            { 0, 8, 6, 6, 10 },        /* V */
+        },
+        .flags = AV_PIX_FMT_FLAG_BE,
+    },
     [AV_PIX_FMT_RGB24] = {
         .name = "rgb24",
         .nb_components = 3,
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 3, 0, 0, 8, 2, 7, 1 },        /* R */
-            { 0, 3, 1, 0, 8, 2, 7, 2 },        /* G */
-            { 0, 3, 2, 0, 8, 2, 7, 3 },        /* B */
+            { 0, 3, 0, 0, 8 },        /* R */
+            { 0, 3, 1, 0, 8 },        /* G */
+            { 0, 3, 2, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -223,21 +243,45 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 3, 2, 0, 8, 2, 7, 3 },        /* R */
-            { 0, 3, 1, 0, 8, 2, 7, 2 },        /* G */
-            { 0, 3, 0, 0, 8, 2, 7, 1 },        /* B */
+            { 0, 3, 2, 0, 8 },        /* R */
+            { 0, 3, 1, 0, 8 },        /* G */
+            { 0, 3, 0, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
+    [AV_PIX_FMT_X2RGB10LE] = {
+        .name = "x2rgb10le",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            { 0, 4, 2, 4, 10 },       /* R */
+            { 0, 4, 1, 2, 10 },       /* G */
+            { 0, 4, 0, 0, 10 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_RGB,
+    },
+    [AV_PIX_FMT_X2RGB10BE] = {
+        .name = "x2rgb10be",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            { 0, 4, 0, 4, 10 },       /* R */
+            { 0, 4, 1, 2, 10 },       /* G */
+            { 0, 4, 2, 0, 10 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE,
+    },
     [AV_PIX_FMT_YUV422P] = {
         .name = "yuv422p",
         .nb_components = 3,
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -247,9 +291,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -259,9 +303,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 2,
         .log2_chroma_h = 2,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -271,9 +315,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 2,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -283,9 +327,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 2,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -295,7 +339,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
+            { 0, 1, 0, 0, 8 },        /* Y */
         },
         .flags = FF_PSEUDOPAL,
         .alias = "gray8,y8",
@@ -306,7 +350,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 1, 0, 0, 1 },        /* Y */
+            { 0, 1, 0, 0, 1 },        /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BITSTREAM,
     },
@@ -316,7 +360,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 7, 1, 0, 0, 1 },        /* Y */
+            { 0, 1, 0, 7, 1 },        /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BITSTREAM,
     },
@@ -326,7 +370,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },
+            { 0, 1, 0, 0, 8 },
         },
         .flags = AV_PIX_FMT_FLAG_PAL | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -336,9 +380,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -348,9 +392,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -360,9 +404,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -376,9 +420,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 1, 0, 8, 1, 7, 2 },        /* Y */
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* U */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* V */
+            { 0, 2, 1, 0, 8 },        /* Y */
+            { 0, 4, 0, 0, 8 },        /* U */
+            { 0, 4, 2, 0, 8 },        /* V */
         },
     },
     [AV_PIX_FMT_UYYVYY411] = {
@@ -387,9 +431,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 2,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* Y */
-            { 0, 6, 0, 0, 8, 5, 7, 1 },        /* U */
-            { 0, 6, 3, 0, 8, 5, 7, 4 },        /* V */
+            { 0, 4, 1, 0, 8 },        /* Y */
+            { 0, 6, 0, 0, 8 },        /* U */
+            { 0, 6, 3, 0, 8 },        /* V */
         },
     },
     [AV_PIX_FMT_BGR8] = {
@@ -398,9 +442,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 3, 0, 2, 1 },        /* R */
-            { 0, 1, 0, 3, 3, 0, 2, 1 },        /* G */
-            { 0, 1, 0, 6, 2, 0, 1, 1 },        /* B */
+            { 0, 1, 0, 0, 3 },        /* R */
+            { 0, 1, 0, 3, 3 },        /* G */
+            { 0, 1, 0, 6, 2 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | FF_PSEUDOPAL,
     },
@@ -410,9 +454,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 3, 0, 1, 3, 0, 4 },        /* R */
-            { 0, 4, 1, 0, 2, 3, 1, 2 },        /* G */
-            { 0, 4, 0, 0, 1, 3, 0, 1 },        /* B */
+            { 0, 4, 3, 0, 1 },        /* R */
+            { 0, 4, 1, 0, 2 },        /* G */
+            { 0, 4, 0, 0, 1 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
     },
@@ -422,9 +466,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 1, 0, 0, 1 },        /* R */
-            { 0, 1, 0, 1, 2, 0, 1, 1 },        /* G */
-            { 0, 1, 0, 3, 1, 0, 0, 1 },        /* B */
+            { 0, 1, 0, 0, 1 },        /* R */
+            { 0, 1, 0, 1, 2 },        /* G */
+            { 0, 1, 0, 3, 1 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | FF_PSEUDOPAL,
     },
@@ -434,9 +478,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 6, 2, 0, 1, 1 },        /* R */
-            { 0, 1, 0, 3, 3, 0, 2, 1 },        /* G */
-            { 0, 1, 0, 0, 3, 0, 2, 1 },        /* B */
+            { 0, 1, 0, 6, 2 },        /* R */
+            { 0, 1, 0, 3, 3 },        /* G */
+            { 0, 1, 0, 0, 3 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | FF_PSEUDOPAL,
     },
@@ -446,9 +490,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 0, 0, 1, 3, 0, 1 },        /* R */
-            { 0, 4, 1, 0, 2, 3, 1, 2 },        /* G */
-            { 0, 4, 3, 0, 1, 3, 0, 4 },        /* B */
+            { 0, 4, 0, 0, 1 },        /* R */
+            { 0, 4, 1, 0, 2 },        /* G */
+            { 0, 4, 3, 0, 1 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
     },
@@ -458,9 +502,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 3, 1, 0, 0, 1 },        /* R */
-            { 0, 1, 0, 1, 2, 0, 1, 1 },        /* G */
-            { 0, 1, 0, 0, 1, 0, 0, 1 },        /* B */
+            { 0, 1, 0, 3, 1 },        /* R */
+            { 0, 1, 0, 1, 2 },        /* G */
+            { 0, 1, 0, 0, 1 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | FF_PSEUDOPAL,
     },
@@ -470,9 +514,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 2, 0, 0, 8, 1, 7, 1 },        /* U */
-            { 1, 2, 1, 0, 8, 1, 7, 2 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 2, 0, 0, 8 },        /* U */
+            { 1, 2, 1, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -482,9 +526,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 2, 1, 0, 8, 1, 7, 2 },        /* U */
-            { 1, 2, 0, 0, 8, 1, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 2, 1, 0, 8 },        /* U */
+            { 1, 2, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -494,10 +538,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* R */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* G */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* B */
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* A */
+            { 0, 4, 1, 0, 8 },        /* R */
+            { 0, 4, 2, 0, 8 },        /* G */
+            { 0, 4, 3, 0, 8 },        /* B */
+            { 0, 4, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -507,10 +551,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* R */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* G */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* B */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* A */
+            { 0, 4, 0, 0, 8 },        /* R */
+            { 0, 4, 1, 0, 8 },        /* G */
+            { 0, 4, 2, 0, 8 },        /* B */
+            { 0, 4, 3, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -520,10 +564,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* R */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* G */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* B */
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* A */
+            { 0, 4, 3, 0, 8 },        /* R */
+            { 0, 4, 2, 0, 8 },        /* G */
+            { 0, 4, 1, 0, 8 },        /* B */
+            { 0, 4, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -533,10 +577,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* R */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* G */
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* B */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* A */
+            { 0, 4, 2, 0, 8 },        /* R */
+            { 0, 4, 1, 0, 8 },        /* G */
+            { 0, 4, 0, 0, 8 },        /* B */
+            { 0, 4, 3, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -546,9 +590,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0,
         .log2_chroma_h= 0,
         .comp = {
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* R */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* G */
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* B */
+            { 0, 4, 1, 0, 8 },        /* R */
+            { 0, 4, 2, 0, 8 },        /* G */
+            { 0, 4, 3, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -558,9 +602,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0,
         .log2_chroma_h= 0,
         .comp = {
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* R */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* G */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* B */
+            { 0, 4, 0, 0, 8 },        /* R */
+            { 0, 4, 1, 0, 8 },        /* G */
+            { 0, 4, 2, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -570,9 +614,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0,
         .log2_chroma_h= 0,
         .comp = {
-            { 0, 4, 3, 0, 8, 3, 7, 4 },        /* R */
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* G */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* B */
+            { 0, 4, 3, 0, 8 },        /* R */
+            { 0, 4, 2, 0, 8 },        /* G */
+            { 0, 4, 1, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -582,9 +626,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0,
         .log2_chroma_h= 0,
         .comp = {
-            { 0, 4, 2, 0, 8, 3, 7, 3 },        /* R */
-            { 0, 4, 1, 0, 8, 3, 7, 2 },        /* G */
-            { 0, 4, 0, 0, 8, 3, 7, 1 },        /* B */
+            { 0, 4, 2, 0, 8 },        /* R */
+            { 0, 4, 1, 0, 8 },        /* G */
+            { 0, 4, 0, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -594,7 +638,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },       /* Y */
+            { 0, 2, 0, 0, 9 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE,
         .alias = "y9be",
@@ -605,7 +649,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },       /* Y */
+            { 0, 2, 0, 0, 9 },       /* Y */
         },
         .alias = "y9le",
     },
@@ -615,7 +659,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },       /* Y */
+            { 0, 2, 0, 0, 10 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE,
         .alias = "y10be",
@@ -626,7 +670,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },       /* Y */
+            { 0, 2, 0, 0, 10 },       /* Y */
         },
         .alias = "y10le",
     },
@@ -636,7 +680,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },       /* Y */
+            { 0, 2, 0, 0, 12 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE,
         .alias = "y12be",
@@ -647,7 +691,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },       /* Y */
+            { 0, 2, 0, 0, 12 },       /* Y */
         },
         .alias = "y12le",
     },
@@ -657,7 +701,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },       /* Y */
+            { 0, 2, 0, 0, 14 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE,
         .alias = "y14be",
@@ -668,7 +712,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },       /* Y */
+            { 0, 2, 0, 0, 14 },       /* Y */
         },
         .alias = "y14le",
     },
@@ -678,7 +722,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* Y */
+            { 0, 2, 0, 0, 16 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE,
         .alias = "y16be",
@@ -689,7 +733,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* Y */
+            { 0, 2, 0, 0, 16 },       /* Y */
         },
         .alias = "y16le",
     },
@@ -699,9 +743,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -711,9 +755,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -723,9 +767,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -735,9 +779,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -747,9 +791,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -759,9 +803,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -771,10 +815,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
-            { 3, 1, 0, 0, 8, 0, 7, 1 },        /* A */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
+            { 3, 1, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -784,10 +828,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
-            { 3, 1, 0, 0, 8, 0, 7, 1 },        /* A */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
+            { 3, 1, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -797,10 +841,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* U */
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* V */
-            { 3, 1, 0, 0, 8, 0, 7, 1 },        /* A */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 1, 0, 0, 8 },        /* U */
+            { 2, 1, 0, 0, 8 },        /* V */
+            { 3, 1, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -810,10 +854,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -823,10 +867,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -836,10 +880,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -849,10 +893,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -862,10 +906,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -875,10 +919,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
-            { 3, 2, 0, 0, 9, 1, 8, 1 },        /* A */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
+            { 3, 2, 0, 0, 9 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -888,10 +932,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -901,10 +945,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -914,10 +958,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -927,10 +971,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -940,10 +984,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -953,10 +997,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },        /* A */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
+            { 3, 2, 0, 0, 10 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -966,10 +1010,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -979,10 +1023,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -992,10 +1036,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1005,10 +1049,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1018,10 +1062,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1031,10 +1075,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },        /* A */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
+            { 3, 2, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1044,9 +1088,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 0, 0, 16, 5, 15, 1 },       /* R */
-            { 0, 6, 2, 0, 16, 5, 15, 3 },       /* G */
-            { 0, 6, 4, 0, 16, 5, 15, 5 },       /* B */
+            { 0, 6, 0, 0, 16 },       /* R */
+            { 0, 6, 2, 0, 16 },       /* G */
+            { 0, 6, 4, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE,
     },
@@ -1056,9 +1100,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 0, 0, 16, 5, 15, 1 },       /* R */
-            { 0, 6, 2, 0, 16, 5, 15, 3 },       /* G */
-            { 0, 6, 4, 0, 16, 5, 15, 5 },       /* B */
+            { 0, 6, 0, 0, 16 },       /* R */
+            { 0, 6, 2, 0, 16 },       /* G */
+            { 0, 6, 4, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1068,10 +1112,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 0, 0, 16, 7, 15, 1 },       /* R */
-            { 0, 8, 2, 0, 16, 7, 15, 3 },       /* G */
-            { 0, 8, 4, 0, 16, 7, 15, 5 },       /* B */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },       /* A */
+            { 0, 8, 0, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 4, 0, 16 },       /* B */
+            { 0, 8, 6, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1081,10 +1125,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 0, 0, 16, 7, 15, 1 },       /* R */
-            { 0, 8, 2, 0, 16, 7, 15, 3 },       /* G */
-            { 0, 8, 4, 0, 16, 7, 15, 5 },       /* B */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },       /* A */
+            { 0, 8, 0, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 4, 0, 16 },       /* B */
+            { 0, 8, 6, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1094,9 +1138,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, -1, 3, 5, 1, 4, 0 },        /* R */
-            { 0, 2,  0, 5, 6, 1, 5, 1 },        /* G */
-            { 0, 2,  0, 0, 5, 1, 4, 1 },        /* B */
+            { 0, 2, -1, 3, 5 },        /* R */
+            { 0, 2,  0, 5, 6 },        /* G */
+            { 0, 2,  0, 0, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1106,9 +1150,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 1, 3, 5, 1, 4, 2 },        /* R */
-            { 0, 2, 0, 5, 6, 1, 5, 1 },        /* G */
-            { 0, 2, 0, 0, 5, 1, 4, 1 },        /* B */
+            { 0, 2, 1, 3, 5 },        /* R */
+            { 0, 2, 0, 5, 6 },        /* G */
+            { 0, 2, 0, 0, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1118,9 +1162,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, -1, 2, 5, 1, 4, 0 },        /* R */
-            { 0, 2,  0, 5, 5, 1, 4, 1 },        /* G */
-            { 0, 2,  0, 0, 5, 1, 4, 1 },        /* B */
+            { 0, 2, -1, 2, 5 },        /* R */
+            { 0, 2,  0, 5, 5 },        /* G */
+            { 0, 2,  0, 0, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1130,9 +1174,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 1, 2, 5, 1, 4, 2 },        /* R */
-            { 0, 2, 0, 5, 5, 1, 4, 1 },        /* G */
-            { 0, 2, 0, 0, 5, 1, 4, 1 },        /* B */
+            { 0, 2, 1, 2, 5 },        /* R */
+            { 0, 2, 0, 5, 5 },        /* G */
+            { 0, 2, 0, 0, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1142,9 +1186,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, -1, 0, 4, 1, 3, 0 },        /* R */
-            { 0, 2,  0, 4, 4, 1, 3, 1 },        /* G */
-            { 0, 2,  0, 0, 4, 1, 3, 1 },        /* B */
+            { 0, 2, -1, 0, 4 },        /* R */
+            { 0, 2,  0, 4, 4 },        /* G */
+            { 0, 2,  0, 0, 4 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1154,9 +1198,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 1, 0, 4, 1, 3, 2 },        /* R */
-            { 0, 2, 0, 4, 4, 1, 3, 1 },        /* G */
-            { 0, 2, 0, 0, 4, 1, 3, 1 },        /* B */
+            { 0, 2, 1, 0, 4 },        /* R */
+            { 0, 2, 0, 4, 4 },        /* G */
+            { 0, 2, 0, 0, 4 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1166,9 +1210,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 4, 0, 16, 5, 15, 5 },       /* R */
-            { 0, 6, 2, 0, 16, 5, 15, 3 },       /* G */
-            { 0, 6, 0, 0, 16, 5, 15, 1 },       /* B */
+            { 0, 6, 4, 0, 16 },       /* R */
+            { 0, 6, 2, 0, 16 },       /* G */
+            { 0, 6, 0, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1178,9 +1222,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 4, 0, 16, 5, 15, 5 },       /* R */
-            { 0, 6, 2, 0, 16, 5, 15, 3 },       /* G */
-            { 0, 6, 0, 0, 16, 5, 15, 1 },       /* B */
+            { 0, 6, 4, 0, 16 },       /* R */
+            { 0, 6, 2, 0, 16 },       /* G */
+            { 0, 6, 0, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1190,10 +1234,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 4, 0, 16, 7, 15, 5 },       /* R */
-            { 0, 8, 2, 0, 16, 7, 15, 3 },       /* G */
-            { 0, 8, 0, 0, 16, 7, 15, 1 },       /* B */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },       /* A */
+            { 0, 8, 4, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 0, 0, 16 },       /* B */
+            { 0, 8, 6, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1203,10 +1247,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 4, 0, 16, 7, 15, 5 },       /* R */
-            { 0, 8, 2, 0, 16, 7, 15, 3 },       /* G */
-            { 0, 8, 0, 0, 16, 7, 15, 1 },       /* B */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },       /* A */
+            { 0, 8, 4, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 0, 0, 16 },       /* B */
+            { 0, 8, 6, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1216,9 +1260,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2,  0, 0, 5, 1, 4, 1 },        /* R */
-            { 0, 2,  0, 5, 6, 1, 5, 1 },        /* G */
-            { 0, 2, -1, 3, 5, 1, 4, 0 },        /* B */
+            { 0, 2,  0, 0, 5 },        /* R */
+            { 0, 2,  0, 5, 6 },        /* G */
+            { 0, 2, -1, 3, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1228,9 +1272,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 5, 1, 4, 1 },        /* R */
-            { 0, 2, 0, 5, 6, 1, 5, 1 },        /* G */
-            { 0, 2, 1, 3, 5, 1, 4, 2 },        /* B */
+            { 0, 2, 0, 0, 5 },        /* R */
+            { 0, 2, 0, 5, 6 },        /* G */
+            { 0, 2, 1, 3, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1240,9 +1284,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2,  0, 0, 5, 1, 4, 1 },       /* R */
-            { 0, 2,  0, 5, 5, 1, 4, 1 },       /* G */
-            { 0, 2, -1, 2, 5, 1, 4, 0 },       /* B */
+            { 0, 2,  0, 0, 5 },       /* R */
+            { 0, 2,  0, 5, 5 },       /* G */
+            { 0, 2, -1, 2, 5 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
      },
@@ -1252,9 +1296,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 5, 1, 4, 1 },        /* R */
-            { 0, 2, 0, 5, 5, 1, 4, 1 },        /* G */
-            { 0, 2, 1, 2, 5, 1, 4, 2 },        /* B */
+            { 0, 2, 0, 0, 5 },        /* R */
+            { 0, 2, 0, 5, 5 },        /* G */
+            { 0, 2, 1, 2, 5 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
@@ -1264,9 +1308,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2,  0, 0, 4, 1, 3, 1 },       /* R */
-            { 0, 2,  0, 4, 4, 1, 3, 1 },       /* G */
-            { 0, 2, -1, 0, 4, 1, 3, 0 },       /* B */
+            { 0, 2,  0, 0, 4 },       /* R */
+            { 0, 2,  0, 4, 4 },       /* G */
+            { 0, 2, -1, 0, 4 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
      },
@@ -1276,48 +1320,27 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 4, 1, 3, 1 },        /* R */
-            { 0, 2, 0, 4, 4, 1, 3, 1 },        /* G */
-            { 0, 2, 1, 0, 4, 1, 3, 2 },        /* B */
+            { 0, 2, 0, 0, 4 },        /* R */
+            { 0, 2, 0, 4, 4 },        /* G */
+            { 0, 2, 1, 0, 4 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_RGB,
     },
-#if FF_API_VAAPI
-    [AV_PIX_FMT_VAAPI_MOCO] = {
-        .name = "vaapi_moco",
-        .log2_chroma_w = 1,
-        .log2_chroma_h = 1,
-        .flags = AV_PIX_FMT_FLAG_HWACCEL,
-    },
-    [AV_PIX_FMT_VAAPI_IDCT] = {
-        .name = "vaapi_idct",
-        .log2_chroma_w = 1,
-        .log2_chroma_h = 1,
-        .flags = AV_PIX_FMT_FLAG_HWACCEL,
-    },
-    [AV_PIX_FMT_VAAPI_VLD] = {
-        .name = "vaapi_vld",
-        .log2_chroma_w = 1,
-        .log2_chroma_h = 1,
-        .flags = AV_PIX_FMT_FLAG_HWACCEL,
-    },
-#else
     [AV_PIX_FMT_VAAPI] = {
         .name = "vaapi",
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .flags = AV_PIX_FMT_FLAG_HWACCEL,
     },
-#endif
     [AV_PIX_FMT_YUV420P9LE] = {
         .name = "yuv420p9le",
         .nb_components = 3,
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1327,9 +1350,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1339,9 +1362,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1351,9 +1374,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1363,9 +1386,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1375,9 +1398,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1387,9 +1410,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1399,9 +1422,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1411,9 +1434,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1423,9 +1446,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1435,9 +1458,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1447,9 +1470,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1459,9 +1482,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1471,9 +1494,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1483,9 +1506,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1495,9 +1518,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1507,9 +1530,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1519,9 +1542,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1531,9 +1554,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1543,9 +1566,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1555,9 +1578,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1567,9 +1590,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },        /* Y */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },        /* U */
-            { 2, 2, 0, 0, 16, 1, 15, 1 },        /* V */
+            { 0, 2, 0, 0, 16 },        /* Y */
+            { 1, 2, 0, 0, 16 },        /* U */
+            { 2, 2, 0, 0, 16 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1579,9 +1602,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1591,9 +1614,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* U */
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 2, 0, 0, 10 },        /* U */
+            { 2, 2, 0, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1603,9 +1626,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1615,9 +1638,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* Y */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* U */
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* V */
+            { 0, 2, 0, 0, 9 },        /* Y */
+            { 1, 2, 0, 0, 9 },        /* U */
+            { 2, 2, 0, 0, 9 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1627,9 +1650,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1639,9 +1662,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1651,9 +1674,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1663,9 +1686,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* Y */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* U */
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* V */
+            { 0, 2, 0, 0, 14 },        /* Y */
+            { 1, 2, 0, 0, 14 },        /* U */
+            { 2, 2, 0, 0, 14 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -1685,8 +1708,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .name = "ya8",
         .nb_components = 2,
         .comp = {
-            { 0, 2, 0, 0, 8, 1, 7, 1 },        /* Y */
-            { 0, 2, 1, 0, 8, 1, 7, 2 },        /* A */
+            { 0, 2, 0, 0, 8 },        /* Y */
+            { 0, 2, 1, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_ALPHA,
         .alias = "gray8a",
@@ -1695,8 +1718,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .name = "ya16le",
         .nb_components = 2,
         .comp = {
-            { 0, 4, 0, 0, 16, 3, 15, 1 },        /* Y */
-            { 0, 4, 2, 0, 16, 3, 15, 3 },        /* A */
+            { 0, 4, 0, 0, 16 },        /* Y */
+            { 0, 4, 2, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1704,8 +1727,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .name = "ya16be",
         .nb_components = 2,
         .comp = {
-            { 0, 4, 0, 0, 16, 3, 15, 1 },        /* Y */
-            { 0, 4, 2, 0, 16, 3, 15, 3 },        /* A */
+            { 0, 4, 0, 0, 16 },        /* Y */
+            { 0, 4, 2, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -1719,9 +1742,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* R */
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* G */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* B */
+            { 2, 1, 0, 0, 8 },        /* R */
+            { 0, 1, 0, 0, 8 },        /* G */
+            { 1, 1, 0, 0, 8 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1731,9 +1754,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* R */
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* G */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* B */
+            { 2, 2, 0, 0, 9 },        /* R */
+            { 0, 2, 0, 0, 9 },        /* G */
+            { 1, 2, 0, 0, 9 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1743,9 +1766,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 9, 1, 8, 1 },        /* R */
-            { 0, 2, 0, 0, 9, 1, 8, 1 },        /* G */
-            { 1, 2, 0, 0, 9, 1, 8, 1 },        /* B */
+            { 2, 2, 0, 0, 9 },        /* R */
+            { 0, 2, 0, 0, 9 },        /* G */
+            { 1, 2, 0, 0, 9 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1755,9 +1778,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* R */
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* G */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* B */
+            { 2, 2, 0, 0, 10 },        /* R */
+            { 0, 2, 0, 0, 10 },        /* G */
+            { 1, 2, 0, 0, 10 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1767,9 +1790,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 10, 1, 9, 1 },        /* R */
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* G */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },        /* B */
+            { 2, 2, 0, 0, 10 },        /* R */
+            { 0, 2, 0, 0, 10 },        /* G */
+            { 1, 2, 0, 0, 10 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1779,9 +1802,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* R */
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* G */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* B */
+            { 2, 2, 0, 0, 12 },        /* R */
+            { 0, 2, 0, 0, 12 },        /* G */
+            { 1, 2, 0, 0, 12 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1791,9 +1814,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* R */
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* G */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* B */
+            { 2, 2, 0, 0, 12 },        /* R */
+            { 0, 2, 0, 0, 12 },        /* G */
+            { 1, 2, 0, 0, 12 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1803,9 +1826,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* R */
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* G */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* B */
+            { 2, 2, 0, 0, 14 },        /* R */
+            { 0, 2, 0, 0, 14 },        /* G */
+            { 1, 2, 0, 0, 14 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1815,9 +1838,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 14, 1, 13, 1 },        /* R */
-            { 0, 2, 0, 0, 14, 1, 13, 1 },        /* G */
-            { 1, 2, 0, 0, 14, 1, 13, 1 },        /* B */
+            { 2, 2, 0, 0, 14 },        /* R */
+            { 0, 2, 0, 0, 14 },        /* G */
+            { 1, 2, 0, 0, 14 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1827,9 +1850,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 16, 1, 15, 1 },       /* R */
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* G */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },       /* B */
+            { 2, 2, 0, 0, 16 },       /* R */
+            { 0, 2, 0, 0, 16 },       /* G */
+            { 1, 2, 0, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1839,9 +1862,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 16, 1, 15, 1 },       /* R */
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* G */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },       /* B */
+            { 2, 2, 0, 0, 16 },       /* R */
+            { 0, 2, 0, 0, 16 },       /* G */
+            { 1, 2, 0, 0, 16 },       /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
     },
@@ -1851,10 +1874,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 1, 0, 0, 8, 0, 7, 1 },        /* R */
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* G */
-            { 1, 1, 0, 0, 8, 0, 7, 1 },        /* B */
-            { 3, 1, 0, 0, 8, 0, 7, 1 },        /* A */
+            { 2, 1, 0, 0, 8 },        /* R */
+            { 0, 1, 0, 0, 8 },        /* G */
+            { 1, 1, 0, 0, 8 },        /* B */
+            { 3, 1, 0, 0, 8 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
                  AV_PIX_FMT_FLAG_ALPHA,
@@ -1865,10 +1888,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 16, 1, 15, 1 },       /* R */
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* G */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },       /* B */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },       /* A */
+            { 2, 2, 0, 0, 16 },       /* R */
+            { 0, 2, 0, 0, 16 },       /* G */
+            { 1, 2, 0, 0, 16 },       /* B */
+            { 3, 2, 0, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
                  AV_PIX_FMT_FLAG_ALPHA,
@@ -1879,10 +1902,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 16, 1, 15, 1 },       /* R */
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* G */
-            { 1, 2, 0, 0, 16, 1, 15, 1 },       /* B */
-            { 3, 2, 0, 0, 16, 1, 15, 1 },       /* A */
+            { 2, 2, 0, 0, 16 },       /* R */
+            { 0, 2, 0, 0, 16 },       /* G */
+            { 1, 2, 0, 0, 16 },       /* B */
+            { 3, 2, 0, 0, 16 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
                  AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
@@ -1899,9 +1922,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 0, 4, 12, 5, 11, 1 },       /* X */
-            { 0, 6, 2, 4, 12, 5, 11, 3 },       /* Y */
-            { 0, 6, 4, 4, 12, 5, 11, 5 },       /* Z */
+            { 0, 6, 0, 4, 12 },       /* X */
+            { 0, 6, 2, 4, 12 },       /* Y */
+            { 0, 6, 4, 4, 12 },       /* Z */
       },
       /*.flags = -- not used*/
     },
@@ -1911,9 +1934,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 6, 0, 4, 12, 5, 11, 1 },       /* X */
-            { 0, 6, 2, 4, 12, 5, 11, 3 },       /* Y */
-            { 0, 6, 4, 4, 12, 5, 11, 5 },       /* Z */
+            { 0, 6, 0, 4, 12 },       /* X */
+            { 0, 6, 2, 4, 12 },       /* Y */
+            { 0, 6, 4, 4, 12 },       /* Z */
        },
         .flags = AV_PIX_FMT_FLAG_BE,
     },
@@ -1923,9 +1946,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0, \
         .log2_chroma_h= 0, \
         .comp = {          \
-            {0,1,0,0,2,0,1,1},\
-            {0,1,0,0,4,0,3,1},\
-            {0,1,0,0,2,0,1,1},\
+            { 0, 1, 0, 0, 2 }, \
+            { 0, 1, 0, 0, 4 }, \
+            { 0, 1, 0, 0, 2 }, \
         },                 \
 
 #define BAYER16_DESC_COMMON \
@@ -1933,9 +1956,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w= 0, \
         .log2_chroma_h= 0, \
         .comp = {          \
-            {0,2,0,0,4,1,3,1},\
-            {0,2,0,0,8,1,7,1},\
-            {0,2,0,0,4,1,3,1},\
+            { 0, 2, 0, 0, 4 }, \
+            { 0, 2, 0, 0, 8 }, \
+            { 0, 2, 0, 0, 4 }, \
         },                 \
 
     [AV_PIX_FMT_BAYER_BGGR8] = {
@@ -2004,9 +2027,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 1, 0, 0, 8, 0, 7, 1 },        /* Y */
-            { 1, 2, 0, 0, 8, 1, 7, 1 },        /* U */
-            { 1, 2, 1, 0, 8, 1, 7, 2 },        /* V */
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 2, 0, 0, 8 },        /* U */
+            { 1, 2, 1, 0, 8 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -2016,9 +2039,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 4, 0, 0, 10, 3, 9, 1 },        /* U */
-            { 1, 4, 2, 0, 10, 3, 9, 3 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 4, 0, 0, 10 },        /* U */
+            { 1, 4, 2, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -2028,9 +2051,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 10, 1, 9, 1 },        /* Y */
-            { 1, 4, 0, 0, 10, 3, 9, 1 },        /* U */
-            { 1, 4, 2, 0, 10, 3, 9, 3 },        /* V */
+            { 0, 2, 0, 0, 10 },        /* Y */
+            { 1, 4, 0, 0, 10 },        /* U */
+            { 1, 4, 2, 0, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
     },
@@ -2056,10 +2079,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 2, 0, 16, 7, 15, 3 },        /* Y */
-            { 0, 8, 4, 0, 16, 7, 15, 5 },        /* U */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },        /* V */
-            { 0, 8, 0, 0, 16, 7, 15, 1 },        /* A */
+            { 0, 8, 2, 0, 16 },        /* Y */
+            { 0, 8, 4, 0, 16 },        /* U */
+            { 0, 8, 6, 0, 16 },        /* V */
+            { 0, 8, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -2069,10 +2092,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 8, 2, 0, 16, 7, 15, 3 },        /* Y */
-            { 0, 8, 4, 0, 16, 7, 15, 5 },        /* U */
-            { 0, 8, 6, 0, 16, 7, 15, 7 },        /* V */
-            { 0, 8, 0, 0, 16, 7, 15, 1 },        /* A */
+            { 0, 8, 2, 0, 16 },        /* Y */
+            { 0, 8, 4, 0, 16 },        /* U */
+            { 0, 8, 6, 0, 16 },        /* V */
+            { 0, 8, 0, 0, 16 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -2082,9 +2105,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 6, 10, 1, 9, 1 },        /* Y */
-            { 1, 4, 0, 6, 10, 3, 9, 1 },        /* U */
-            { 1, 4, 2, 6, 10, 3, 9, 3 },        /* V */
+            { 0, 2, 0, 6, 10 },        /* Y */
+            { 1, 4, 0, 6, 10 },        /* U */
+            { 1, 4, 2, 6, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -2094,9 +2117,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 6, 10, 1, 9, 1 },        /* Y */
-            { 1, 4, 0, 6, 10, 3, 9, 1 },        /* U */
-            { 1, 4, 2, 6, 10, 3, 9, 3 },        /* V */
+            { 0, 2, 0, 6, 10 },        /* Y */
+            { 1, 4, 0, 6, 10 },        /* U */
+            { 1, 4, 2, 6, 10 },        /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
     },
@@ -2106,9 +2129,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* Y */
-            { 1, 4, 0, 0, 16, 3, 15, 1 },       /* U */
-            { 1, 4, 2, 0, 16, 3, 15, 3 },       /* V */
+            { 0, 2, 0, 0, 16 },       /* Y */
+            { 1, 4, 0, 0, 16 },       /* U */
+            { 1, 4, 2, 0, 16 },       /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR,
     },
@@ -2118,9 +2141,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 1,
         .comp = {
-            { 0, 2, 0, 0, 16, 1, 15, 1 },       /* Y */
-            { 1, 4, 0, 0, 16, 3, 15, 1 },       /* U */
-            { 1, 4, 2, 0, 16, 3, 15, 3 },       /* V */
+            { 0, 2, 0, 0, 16 },       /* Y */
+            { 1, 4, 0, 0, 16 },       /* U */
+            { 1, 4, 2, 0, 16 },       /* V */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
     },
@@ -2130,10 +2153,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 12, 1, 11, 1 },       /* R */
-            { 0, 2, 0, 0, 12, 1, 11, 1 },       /* G */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },       /* B */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },       /* A */
+            { 2, 2, 0, 0, 12 },       /* R */
+            { 0, 2, 0, 0, 12 },       /* G */
+            { 1, 2, 0, 0, 12 },       /* B */
+            { 3, 2, 0, 0, 12 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
                  AV_PIX_FMT_FLAG_ALPHA,
@@ -2144,10 +2167,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 12, 1, 11, 1 },       /* R */
-            { 0, 2, 0, 0, 12, 1, 11, 1 },       /* G */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },       /* B */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },       /* A */
+            { 2, 2, 0, 0, 12 },       /* R */
+            { 0, 2, 0, 0, 12 },       /* G */
+            { 1, 2, 0, 0, 12 },       /* B */
+            { 3, 2, 0, 0, 12 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
                  AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
@@ -2158,10 +2181,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 10, 1, 9, 1 },       /* R */
-            { 0, 2, 0, 0, 10, 1, 9, 1 },       /* G */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },       /* B */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },       /* A */
+            { 2, 2, 0, 0, 10 },       /* R */
+            { 0, 2, 0, 0, 10 },       /* G */
+            { 1, 2, 0, 0, 10 },       /* B */
+            { 3, 2, 0, 0, 10 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
                  AV_PIX_FMT_FLAG_ALPHA,
@@ -2172,10 +2195,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 2, 0, 0, 10, 1, 9, 1 },       /* R */
-            { 0, 2, 0, 0, 10, 1, 9, 1 },       /* G */
-            { 1, 2, 0, 0, 10, 1, 9, 1 },       /* B */
-            { 3, 2, 0, 0, 10, 1, 9, 1 },       /* A */
+            { 2, 2, 0, 0, 10 },       /* R */
+            { 0, 2, 0, 0, 10 },       /* G */
+            { 1, 2, 0, 0, 10 },       /* B */
+            { 3, 2, 0, 0, 10 },       /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
                  AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
@@ -2190,9 +2213,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 4, 0, 0, 32, 3, 31, 1 },        /* R */
-            { 0, 4, 0, 0, 32, 3, 31, 1 },        /* G */
-            { 1, 4, 0, 0, 32, 3, 31, 1 },        /* B */
+            { 2, 4, 0, 0, 32 },        /* R */
+            { 0, 4, 0, 0, 32 },        /* G */
+            { 1, 4, 0, 0, 32 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
                  AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_FLOAT,
@@ -2203,9 +2226,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 4, 0, 0, 32, 3, 31, 1 },        /* R */
-            { 0, 4, 0, 0, 32, 3, 31, 1 },        /* G */
-            { 1, 4, 0, 0, 32, 3, 31, 1 },        /* B */
+            { 2, 4, 0, 0, 32 },        /* R */
+            { 0, 4, 0, 0, 32 },        /* G */
+            { 1, 4, 0, 0, 32 },        /* B */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_FLOAT | AV_PIX_FMT_FLAG_RGB,
     },
@@ -2215,10 +2238,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 4, 0, 0, 32, 3, 31, 1 },        /* R */
-            { 0, 4, 0, 0, 32, 3, 31, 1 },        /* G */
-            { 1, 4, 0, 0, 32, 3, 31, 1 },        /* B */
-            { 3, 4, 0, 0, 32, 3, 31, 1 },        /* A */
+            { 2, 4, 0, 0, 32 },        /* R */
+            { 0, 4, 0, 0, 32 },        /* G */
+            { 1, 4, 0, 0, 32 },        /* B */
+            { 3, 4, 0, 0, 32 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
                  AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_RGB |
@@ -2230,10 +2253,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 2, 4, 0, 0, 32, 3, 31, 1 },        /* R */
-            { 0, 4, 0, 0, 32, 3, 31, 1 },        /* G */
-            { 1, 4, 0, 0, 32, 3, 31, 1 },        /* B */
-            { 3, 4, 0, 0, 32, 3, 31, 1 },        /* A */
+            { 2, 4, 0, 0, 32 },        /* R */
+            { 0, 4, 0, 0, 32 },        /* G */
+            { 1, 4, 0, 0, 32 },        /* B */
+            { 3, 4, 0, 0, 32 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA |
                  AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_FLOAT,
@@ -2252,7 +2275,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 0, 0, 32, 3, 31, 1 },       /* Y */
+            { 0, 4, 0, 0, 32 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_FLOAT,
         .alias = "yf32be",
@@ -2263,7 +2286,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 4, 0, 0, 32, 3, 31, 1 },       /* Y */
+            { 0, 4, 0, 0, 32 },       /* Y */
         },
         .flags = AV_PIX_FMT_FLAG_FLOAT,
         .alias = "yf32le",
@@ -2274,10 +2297,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },        /* A */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
+            { 3, 2, 0, 0, 12 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -2287,10 +2310,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 1,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },        /* A */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
+            { 3, 2, 0, 0, 12 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -2300,10 +2323,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },        /* A */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
+            { 3, 2, 0, 0, 12 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
@@ -2313,17 +2336,42 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         .log2_chroma_w = 0,
         .log2_chroma_h = 0,
         .comp = {
-            { 0, 2, 0, 0, 12, 1, 11, 1 },        /* Y */
-            { 1, 2, 0, 0, 12, 1, 11, 1 },        /* U */
-            { 2, 2, 0, 0, 12, 1, 11, 1 },        /* V */
-            { 3, 2, 0, 0, 12, 1, 11, 1 },        /* A */
+            { 0, 2, 0, 0, 12 },        /* Y */
+            { 1, 2, 0, 0, 12 },        /* U */
+            { 2, 2, 0, 0, 12 },        /* V */
+            { 3, 2, 0, 0, 12 },        /* A */
         },
         .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
     },
+    [AV_PIX_FMT_NV24] = {
+        .name = "nv24",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 2, 0, 0, 8 },        /* U */
+            { 1, 2, 1, 0, 8 },        /* V */
+        },
+        .flags = AV_PIX_FMT_FLAG_PLANAR,
+    },
+    [AV_PIX_FMT_NV42] = {
+        .name = "nv42",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 1, 0, 0, 8 },        /* Y */
+            { 1, 2, 1, 0, 8 },        /* U */
+            { 1, 2, 0, 0, 8 },        /* V */
+        },
+        .flags = AV_PIX_FMT_FLAG_PLANAR,
+    },
+    [AV_PIX_FMT_VULKAN] = {
+        .name = "vulkan",
+        .flags = AV_PIX_FMT_FLAG_HWACCEL,
+    },
 };
-#if FF_API_PLUS1_MINUS1
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
 
 static const char * const color_range_names[] = {
     [AVCOL_RANGE_UNSPECIFIED] = "unknown",
@@ -2345,7 +2393,7 @@ static const char * const color_primaries_names[AVCOL_PRI_NB] = {
     [AVCOL_PRI_SMPTE428] = "smpte428",
     [AVCOL_PRI_SMPTE431] = "smpte431",
     [AVCOL_PRI_SMPTE432] = "smpte432",
-    [AVCOL_PRI_JEDEC_P22] = "jedec-p22",
+    [AVCOL_PRI_EBU3213] = "ebu3213",
 };
 
 static const char * const color_transfer_names[] = {
@@ -2440,10 +2488,6 @@ enum AVPixelFormat av_get_pix_fmt(const char *name)
         pix_fmt = get_pix_fmt_internal(name2);
     }
 
-#if FF_API_VAAPI
-    if (pix_fmt == AV_PIX_FMT_NONE && !strcmp(name, "vaapi"))
-        pix_fmt = AV_PIX_FMT_VAAPI;
-#endif
     return pix_fmt;
 }
 
@@ -2584,7 +2628,7 @@ void ff_check_pixfmt_descriptors(void){
                 continue;
             av_read_image_line(tmp, (void*)data, linesize, d, 0, 0, j, 2, 0);
             av_assert0(tmp[0] == 0 && tmp[1] == 0);
-            tmp[0] = tmp[1] = (1<<c->depth) - 1;
+            tmp[0] = tmp[1] = (1ULL << c->depth) - 1;
             av_write_image_line(tmp, data, linesize, d, 0, 0, j, 2);
         }
     }
@@ -2627,11 +2671,13 @@ static int get_color_type(const AVPixFmtDescriptor *desc) {
     if(desc->nb_components == 1 || desc->nb_components == 2)
         return FF_COLOR_GRAY;
 
-    if(desc->name && !strncmp(desc->name, "yuvj", 4))
-        return FF_COLOR_YUV_JPEG;
+    if (desc->name) {
+        if (av_strstart(desc->name, "yuvj", NULL))
+            return FF_COLOR_YUV_JPEG;
 
-    if(desc->name && !strncmp(desc->name, "xyz", 3))
-        return FF_COLOR_XYZ;
+        if (av_strstart(desc->name, "xyz", NULL))
+            return FF_COLOR_XYZ;
+    }
 
     if(desc->flags & AV_PIX_FMT_FLAG_RGB)
         return  FF_COLOR_RGB;
@@ -2832,8 +2878,7 @@ int av_color_range_from_name(const char *name)
     int i;
 
     for (i = 0; i < FF_ARRAY_ELEMS(color_range_names); i++) {
-        size_t len = strlen(color_range_names[i]);
-        if (!strncmp(color_range_names[i], name, len))
+        if (av_strstart(name, color_range_names[i], NULL))
             return i;
     }
 
@@ -2851,13 +2896,10 @@ int av_color_primaries_from_name(const char *name)
     int i;
 
     for (i = 0; i < FF_ARRAY_ELEMS(color_primaries_names); i++) {
-        size_t len;
-
         if (!color_primaries_names[i])
             continue;
 
-        len = strlen(color_primaries_names[i]);
-        if (!strncmp(color_primaries_names[i], name, len))
+        if (av_strstart(name, color_primaries_names[i], NULL))
             return i;
     }
 
@@ -2875,13 +2917,10 @@ int av_color_transfer_from_name(const char *name)
     int i;
 
     for (i = 0; i < FF_ARRAY_ELEMS(color_transfer_names); i++) {
-        size_t len;
-
         if (!color_transfer_names[i])
             continue;
 
-        len = strlen(color_transfer_names[i]);
-        if (!strncmp(color_transfer_names[i], name, len))
+        if (av_strstart(name, color_transfer_names[i], NULL))
             return i;
     }
 
@@ -2899,13 +2938,10 @@ int av_color_space_from_name(const char *name)
     int i;
 
     for (i = 0; i < FF_ARRAY_ELEMS(color_space_names); i++) {
-        size_t len;
-
         if (!color_space_names[i])
             continue;
 
-        len = strlen(color_space_names[i]);
-        if (!strncmp(color_space_names[i], name, len))
+        if (av_strstart(name, color_space_names[i], NULL))
             return i;
     }
 
@@ -2923,13 +2959,10 @@ int av_chroma_location_from_name(const char *name)
     int i;
 
     for (i = 0; i < FF_ARRAY_ELEMS(chroma_location_names); i++) {
-        size_t len;
-
         if (!chroma_location_names[i])
             continue;
 
-        len = strlen(chroma_location_names[i]);
-        if (!strncmp(chroma_location_names[i], name, len))
+        if (av_strstart(name, chroma_location_names[i], NULL))
             return i;
     }