]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/dnxhddata.c
Merge commit 'b84675d63aaede8f6944b901250a10456c5477e6'
[ffmpeg] / libavcodec / dnxhddata.c
index a7fd5f4aaf5451434a162492e5fa4ff840b9fb8d..9d2e4e888dbc5823893488130c1113346b50b4e7 100644 (file)
@@ -25,6 +25,7 @@
 
 /* The quantization tables below are in zigzag order! */
 
+/* Used in CID 1235, 1256 */
 static const uint8_t dnxhd_1235_luma_weight[] = {
      0, 32, 32, 32, 33, 32, 32, 32,
     32, 31, 32, 33, 33, 33, 33, 35,
@@ -47,6 +48,7 @@ static const uint8_t dnxhd_1235_chroma_weight[] = {
     90, 90, 85, 79, 73, 73, 73, 73,
 };
 
+/* Used in CID 1237, 1253 */
 static const uint8_t dnxhd_1237_luma_weight[] = {
      0,  32,  33,  34, 34, 36, 37, 36,
     36,  37,  38,  38, 38, 39, 41, 44,
@@ -58,6 +60,7 @@ static const uint8_t dnxhd_1237_luma_weight[] = {
     97, 100, 104, 102, 98, 98, 99, 99,
 };
 
+/* Used in CID 1237, 1253 */
 static const uint8_t dnxhd_1237_chroma_weight[] = {
      0,  32,  36,  39, 39, 38, 39,  41,
     45,  51,  57,  58, 53, 48, 47,  51,
@@ -255,14 +258,71 @@ static const uint8_t dnxhd_1258_chroma_weight[] = {
     74, 74, 90, 100, 128, 125, 116, 116,
 };
 
+static const uint8_t dnxhd_1259_luma_weight[] = {
+     0, 32, 36, 37,  41,  44,  54, 60,
+    33, 34, 36, 39,  43,  51,  62, 78,
+    34, 36, 38, 41,  49,  59,  73, 79,
+    37, 38, 40, 47,  55,  66,  80, 95,
+    38, 41, 46, 54,  63,  79,  93, 96,
+    46, 47, 56, 64,  78,  90,  97, 98,
+    49, 58, 66, 78,  89,  97, 102, 98,
+    61, 65, 82, 87, 100, 104,  99, 99,
+};
+
+static const uint8_t dnxhd_1259_chroma_weight[] = {
+     0, 32, 38, 39,  47,  51,  77, 83,
+    36, 39, 41, 48,  55,  74,  85, 95,
+    39, 45, 53, 58,  72,  83, 105, 89,
+    51, 58, 66, 73,  82, 109,  92, 95,
+    57, 75, 78, 89, 105,  95,  93, 96,
+    81, 82, 99, 99,  94,  90,  97, 98,
+    83, 96, 97, 93,  89,  97, 102, 98,
+    90, 94, 92, 88, 100, 104,  99, 99,
+};
+
+static const uint8_t dnxhd_1260_luma_weight[] = {
+     0, 32, 37, 37, 40, 41, 52, 53,
+    33, 36, 36, 38, 40, 48, 49, 52,
+    34, 34, 37, 39, 44, 47, 49, 54,
+    33, 35, 38, 40, 45, 46, 54, 51,
+    34, 37, 37, 42, 44, 49, 52, 48,
+    34, 34, 38, 43, 44, 51, 50, 50,
+    33, 36, 41, 44, 51, 52, 50, 54,
+    36, 38, 44, 47, 53, 53, 54, 54,
+};
+
+static const uint8_t dnxhd_1260_chroma_weight[] = {
+     0, 32, 40, 38, 42, 40, 45, 45,
+    34, 42, 36, 43, 38, 46, 46, 49,
+    38, 35, 43, 39, 44, 47, 47, 49,
+    35, 42, 43, 42, 46, 47, 49, 52,
+    38, 43, 43, 44, 50, 49, 56, 50,
+    42, 43, 44, 50, 51, 57, 52, 53,
+    41, 45, 46, 53, 53, 56, 53, 54,
+    46, 46, 51, 49, 56, 53, 58, 58,
+};
+
+/* Used in CID 1235, 1241, 1250, 1256 */
+static const uint8_t dnxhd_1235_dc_codes[14] = {
+    10, 62, 11, 12, 13, 0, 1, 2, 3, 4, 14, 30, 126, 127,
+};
+
+/* Used in CID 1235, 1241, 1250, 1256 */
+static const uint8_t dnxhd_1235_dc_bits[14] = {
+    4, 6, 4, 4, 4, 3, 3, 3, 3, 3, 4, 5, 7, 7,
+};
+
+/* Used in CID 1237, 1238, 1242, 1243, 1251, 1252, 1253, 1258, 1259, 1260 */
 static const uint8_t dnxhd_1237_dc_codes[12] = {
     0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63,
 };
 
+/* Used in CID 1237, 1238, 1242, 1243, 1251, 1252, 1253, 1258, 1259, 1260 */
 static const uint8_t dnxhd_1237_dc_bits[12] = {
     3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6,
 };
 
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
 static const uint16_t dnxhd_1237_ac_codes[257] = {
         0,     1,     4,     5,    12,    26,    27,    56,
        57,    58,    59,   120,   121,   244,   245,   246,
@@ -299,6 +359,7 @@ static const uint16_t dnxhd_1237_ac_codes[257] = {
     65535,
 };
 
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
 static const uint8_t dnxhd_1237_ac_bits[257] = {
      2,  2,  3,  3,  4,  5,  5,  6,  6,  6,  6,  7,  7,  8,  8,  8,
      8,  8,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 11, 11, 11,
@@ -319,6 +380,7 @@ static const uint8_t dnxhd_1237_ac_bits[257] = {
     16,
 };
 
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
 static const uint8_t dnxhd_1237_ac_level[257] = {
       3,  3,  5,  0,  7,  9,  5, 11, 13, 15,  7, 17, 19, 21, 23, 25,
       9, 11, 27, 29, 31, 33, 13, 35, 37, 39, 41, 43, 15, 45, 47, 49,
@@ -339,6 +401,7 @@ static const uint8_t dnxhd_1237_ac_level[257] = {
     129,
 };
 
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
 static const uint8_t dnxhd_1237_ac_flags[257] = {
     0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0,
     2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -359,39 +422,7 @@ static const uint8_t dnxhd_1237_ac_flags[257] = {
     3,
 };
 
-static const uint16_t dnxhd_1237_run_codes[62] = {
-       0,    4,   10,   11,   24,   25,   26,   54,
-      55,   56,   57,   58,  118,  119,  240,  482,
-     483,  484,  485,  486,  487,  488,  489,  490,
-     491,  492,  493,  494,  990,  991,  992,  993,
-     994,  995,  996,  997,  998,  999, 1000, 1001,
-    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
-    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
-    1018, 1019, 1020, 1021, 1022, 1023,
-};
-
-static const uint8_t dnxhd_1237_run_bits[62] = {
-     1,  3,  4,  4,  5,  5,  5,  6,  6,  6,  6,  6,  7,  7,  8,  9,
-     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-};
-
-static const uint8_t dnxhd_1237_run[62] = {
-     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
-    17, 18, 19, 20, 21, 53, 57, 58, 59, 60, 61, 62, 22, 23, 24, 25,
-    26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
-    42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56,
-};
-
-static const uint8_t dnxhd_1238_dc_codes[12] = {
-    0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63,
-};
-
-static const uint8_t dnxhd_1238_dc_bits[12] = {
-    3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6,
-};
-
+/* Used in CID 1238, 1243 */
 static const uint16_t dnxhd_1238_ac_codes[257] = {
         0,     1,     4,    10,    11,    24,    25,    26,
        54,    55,    56,    57,   116,   117,   118,   119,
@@ -428,6 +459,7 @@ static const uint16_t dnxhd_1238_ac_codes[257] = {
     65535,
 };
 
+/* Used in CID 1238, 1243 */
 static const uint8_t dnxhd_1238_ac_bits[257] = {
      2,  2,  3,  4,  4,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,
      8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10,
@@ -448,6 +480,7 @@ static const uint8_t dnxhd_1238_ac_bits[257] = {
     16,
 };
 
+/* Used in CID 1238, 1243 */
 static const uint8_t dnxhd_1238_ac_level[257] = {
       3,  3,  5,  7,  0,  9, 11,  5, 13, 15, 17,  7, 19, 21, 23,  9,
      25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 45, 13, 15, 47, 49,
@@ -488,44 +521,7 @@ static const uint8_t dnxhd_1238_ac_flags[257] = {
     3,
 };
 
-/* Used in CID 1235, 1238, 1241 */
-static const uint16_t dnxhd_1235_run_codes[62] = {
-       0,    4,   10,   11,   24,   25,   26,   27,
-      56,   57,   58,   59,  120,  242,  486,  487,
-     488,  489,  980,  981,  982,  983,  984,  985,
-     986,  987,  988,  989,  990,  991,  992,  993,
-     994,  995,  996,  997,  998,  999, 1000, 1001,
-    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
-    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
-    1018, 1019, 1020, 1021, 1022, 1023,
-};
-
-/* Used in CID 1235, 1238, 1241 */
-static const uint8_t dnxhd_1235_run_bits[62] = {
-     1,  3,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  8,  9,  9,
-     9,  9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-};
-
-static const uint8_t dnxhd_1238_run[62] = {
-     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
-    20, 21, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
-    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
-};
-
-/* Used in CID 1235, 1241 */
-static const uint8_t dnxhd_1235_dc_codes[14] = {
-    10, 62, 11, 12, 13, 0, 1, 2, 3, 4, 14, 30, 126, 127,
-};
-
-/* Used in CID 1235, 1241 */
-static const uint8_t dnxhd_1235_dc_bits[14] = {
-    4, 6, 4, 4, 4, 3, 3, 3, 3, 3, 4, 5, 7, 7,
-};
-
-/* Used in CID 1235, 1241 */
+/* Used in CID 1235, 1241, 1256 */
 static const uint16_t dnxhd_1235_ac_codes[257] = {
         0,     1,     4,    10,    11,    24,    25,    26,
        54,    55,    56,    57,   116,   117,   118,   119,
@@ -562,7 +558,7 @@ static const uint16_t dnxhd_1235_ac_codes[257] = {
     65535,
 };
 
-/* Used in CID 1235, 1241 */
+/* Used in CID 1235, 1241, 1256 */
 static const uint8_t dnxhd_1235_ac_bits[257] = {
      2,  2,  3,  4,  4,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,
      8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10,
@@ -583,7 +579,7 @@ static const uint8_t dnxhd_1235_ac_bits[257] = {
     16,
 };
 
-/* Used in CID 1235, 1241 */
+/* Used in CID 1235, 1241, 1256 */
 static const uint8_t dnxhd_1235_ac_level[257] = {
       3,  3,  5,  7,  0,  9, 11,  5, 13, 15, 17,  7, 19, 21, 23,  9,
      25, 27, 29, 31, 33, 11, 35, 37, 39, 41, 43, 13, 15, 45, 47, 49,
@@ -604,7 +600,7 @@ static const uint8_t dnxhd_1235_ac_level[257] = {
     129,
 };
 
-/* Used in CID 1235, 1241 */
+/* Used in CID 1235, 1241, 1256 */
 static const uint8_t dnxhd_1235_ac_flags[257] = {
     0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2,
     0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
@@ -625,20 +621,6 @@ static const uint8_t dnxhd_1235_ac_flags[257] = {
     3,
 };
 
-/* Used in CID 1235, 1241 */
-static const uint8_t dnxhd_1235_run[62] = {
-     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
-    18, 20, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
-    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
-};
-
-static const uint8_t dnxhd_1250_dc_codes[14] = {
-    10, 62, 11, 12, 13, 0, 1, 2, 3, 4, 14, 30, 126, 127
-};
-static const uint8_t dnxhd_1250_dc_bits[14] = {
-    4, 6, 4, 4, 4, 3, 3, 3, 3, 3, 4, 5, 7, 7
-};
 static const uint16_t dnxhd_1250_ac_codes[257] = {
         0,     1,     4,    10,    11,    24,    25,    26,
        54,    55,    56,    57,   116,   117,   118,   119,
@@ -731,36 +713,6 @@ static const uint8_t dnxhd_1250_ac_flags[257] = {
     3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
     3,
 };
-static const uint16_t dnxhd_1250_run_codes[62] = {
-       0,    4,    5,   12,   26,   27,   28,   58,
-     118,  119,  120,  242,  486,  487,  976,  977,
-     978,  979,  980,  981,  982,  983,  984,  985,
-     986,  987,  988,  989,  990,  991,  992,  993,
-     994,  995,  996,  997,  998,  999, 1000, 1001,
-    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
-    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
-    1018, 1019, 1020, 1021, 1022, 1023
-};
-static const uint8_t dnxhd_1250_run_bits[62] = {
-     1,  3,  3,  4,  5,  5,  5,  6,  7,  7,  7,  8,  9,  9, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
-};
-static const uint8_t dnxhd_1250_run[62] = {
-     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
-    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
-    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
-};
-
-static const uint8_t dnxhd_1251_dc_codes[12] = {
-    0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63,
-};
-
-static const uint8_t dnxhd_1251_dc_bits[12] = {
-    3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6,
-};
 
 static const uint16_t dnxhd_1251_ac_codes[257] = {
         0,     1,     4,    10,    11,    24,    25,    26,
@@ -858,39 +810,7 @@ static const uint8_t dnxhd_1251_ac_flags[257] = {
     3,
 };
 
-static const uint16_t dnxhd_1251_run_codes[62] = {
-       0,    4,    5,   12,   26,   27,   28,   58,
-     118,  119,  120,  242,  486,  487,  976,  977,
-     978,  979,  980,  981,  982,  983,  984,  985,
-     986,  987,  988,  989,  990,  991,  992,  993,
-     994,  995,  996,  997,  998,  999, 1000, 1001,
-    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
-    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
-    1018, 1019, 1020, 1021, 1022, 1023,
-};
-
-static const uint8_t dnxhd_1251_run_bits[62] = {
-     1,  3,  3,  4,  5,  5,  5,  6,  7,  7,  7,  8,  9,  9, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
-};
-
-static const uint8_t dnxhd_1251_run[62] = {
-     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
-    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
-    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
-};
-
-static const uint8_t dnxhd_1252_dc_codes[12] = {
-    0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63,
-};
-
-static const uint8_t dnxhd_1252_dc_bits[12] = {
-    3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6,
-};
-
+/* Used in CID 1252, 1258 */
 static const uint16_t dnxhd_1252_ac_codes[257] = {
         0,     1,     4,    10,    11,    12,    26,    27,
        56,    57,    58,   118,   119,   120,   242,   243,
@@ -927,6 +847,7 @@ static const uint16_t dnxhd_1252_ac_codes[257] = {
     65535,
 };
 
+/* Used in CID 1252, 1258 */
 static const uint8_t dnxhd_1252_ac_bits[257] = {
      2,  2,  3,  4,  4,  4,  5,  5,  6,  6,  6,  7,  7,  7,  8,  8,
      8,  8,  8,  8,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 10,
@@ -947,6 +868,7 @@ static const uint8_t dnxhd_1252_ac_bits[257] = {
     16,
 };
 
+/* Used in CID 1252, 1258 */
 static const uint8_t dnxhd_1252_ac_level[257] = {
       3,  3,  5,  7,  5,  0,  9, 11, 13, 15,  7, 17, 19, 21, 23, 25,
      27, 29,  9, 11, 31, 33, 35, 37, 13, 39, 41, 43, 45, 47, 49, 15,
@@ -987,12 +909,95 @@ static const uint8_t dnxhd_1252_ac_flags[257] = {
     3,
 };
 
-static const uint8_t dnxhd_1258_dc_codes[14] = {
-    0, 12, 13, 1, 2, 3, 4, 5, 14, 30, 62, 63, 0, 0,
+/* Used in CID 1235, 1238, 1241, 1256 */
+static const uint16_t dnxhd_1235_run_codes[62] = {
+       0,    4,   10,   11,   24,   25,   26,   27,
+      56,   57,   58,   59,  120,  242,  486,  487,
+     488,  489,  980,  981,  982,  983,  984,  985,
+     986,  987,  988,  989,  990,  991,  992,  993,
+     994,  995,  996,  997,  998,  999, 1000, 1001,
+    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
+    1018, 1019, 1020, 1021, 1022, 1023,
+};
+
+/* Used in CID 1235, 1238, 1241, 1243, 1256 */
+static const uint8_t dnxhd_1235_run_bits[62] = {
+     1,  3,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  8,  9,  9,
+     9,  9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
 };
 
-static const uint8_t dnxhd_1258_dc_bits[14] = {
-    3, 4, 4, 3, 3, 3, 3, 3, 4, 5, 6, 6, 0, 0,
+/* Used in CID 1235, 1241, 1256 */
+static const uint8_t dnxhd_1235_run[62] = {
+     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
+    18, 20, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+};
+
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
+static const uint16_t dnxhd_1237_run_codes[62] = {
+       0,    4,   10,   11,   24,   25,   26,   54,
+      55,   56,   57,   58,  118,  119,  240,  482,
+     483,  484,  485,  486,  487,  488,  489,  490,
+     491,  492,  493,  494,  990,  991,  992,  993,
+     994,  995,  996,  997,  998,  999, 1000, 1001,
+    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
+    1018, 1019, 1020, 1021, 1022, 1023,
+};
+
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
+static const uint8_t dnxhd_1237_run_bits[62] = {
+     1,  3,  4,  4,  5,  5,  5,  6,  6,  6,  6,  6,  7,  7,  8,  9,
+     9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+};
+
+/* Used in CID 1237, 1242, 1253, 1259, 1260 */
+static const uint8_t dnxhd_1237_run[62] = {
+     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
+    17, 18, 19, 20, 21, 53, 57, 58, 59, 60, 61, 62, 22, 23, 24, 25,
+    26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+    42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56,
+};
+
+static const uint8_t dnxhd_1238_run[62] = {
+     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
+    20, 21, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+};
+
+/* Used in CID 1250, 1251, 1252, 1258 */
+static const uint16_t dnxhd_1250_run_codes[62] = {
+       0,    4,    5,   12,   26,   27,   28,   58,
+     118,  119,  120,  242,  486,  487,  976,  977,
+     978,  979,  980,  981,  982,  983,  984,  985,
+     986,  987,  988,  989,  990,  991,  992,  993,
+     994,  995,  996,  997,  998,  999, 1000, 1001,
+    1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+    1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
+    1018, 1019, 1020, 1021, 1022, 1023,
+};
+
+/* Used in CID 1250, 1251, 1252, 1258 */
+static const uint8_t dnxhd_1250_run_bits[62] = {
+     1,  3,  3,  4,  5,  5,  5,  6,  7,  7,  7,  8,  9,  9, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+};
+
+/* Used in CID 1250, 1251, 1252, 1258 */
+static const uint8_t dnxhd_1250_run[62] = {
+     1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
+    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
 };
 
 const CIDEntry ff_dnxhd_cid_table[] = {
@@ -1014,7 +1019,7 @@ const CIDEntry ff_dnxhd_cid_table[] = {
       { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
     { 1238, 1920, 1080, 0, 917504, 917504, 4, 8, 4,
       dnxhd_1238_luma_weight, dnxhd_1238_chroma_weight,
-      dnxhd_1238_dc_codes, dnxhd_1238_dc_bits,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
       dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level,
       dnxhd_1238_ac_flags,
       dnxhd_1235_run_codes, dnxhd_1235_run_bits, dnxhd_1238_run,
@@ -1038,7 +1043,7 @@ const CIDEntry ff_dnxhd_cid_table[] = {
       { { 25, 1 }, { 30000, 1001 } } },
     { 1243, 1920, 1080, 1, 917504, 458752, 4, 8, 4,
       dnxhd_1243_luma_weight, dnxhd_1243_chroma_weight,
-      dnxhd_1238_dc_codes, dnxhd_1238_dc_bits,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
       dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level,
       dnxhd_1238_ac_flags,
       dnxhd_1235_run_codes, dnxhd_1235_run_bits, dnxhd_1238_run,
@@ -1046,7 +1051,7 @@ const CIDEntry ff_dnxhd_cid_table[] = {
       { { 25, 1 }, { 30000, 1001 } } },
     { 1250, 1280,  720, 0, 458752, 458752, 6, 10, 4,
       dnxhd_1250_luma_weight, dnxhd_1250_chroma_weight,
-      dnxhd_1250_dc_codes, dnxhd_1250_dc_bits,
+      dnxhd_1235_dc_codes, dnxhd_1235_dc_bits,
       dnxhd_1250_ac_codes, dnxhd_1250_ac_bits, dnxhd_1250_ac_level,
       dnxhd_1250_ac_flags,
       dnxhd_1250_run_codes, dnxhd_1250_run_bits, dnxhd_1250_run,
@@ -1054,18 +1059,18 @@ const CIDEntry ff_dnxhd_cid_table[] = {
       { { 24000, 1001 }, { 25, 1 }, { 50, 1 }, { 60000, 1001 } } },
     { 1251, 1280,  720, 0, 458752, 458752, 4, 8, 4,
       dnxhd_1251_luma_weight, dnxhd_1251_chroma_weight,
-      dnxhd_1251_dc_codes, dnxhd_1251_dc_bits,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
       dnxhd_1251_ac_codes, dnxhd_1251_ac_bits, dnxhd_1251_ac_level,
       dnxhd_1251_ac_flags,
-      dnxhd_1251_run_codes, dnxhd_1251_run_bits, dnxhd_1251_run,
+      dnxhd_1250_run_codes, dnxhd_1250_run_bits, dnxhd_1250_run,
       { 90, 90, 110, 180, 220 },
       { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
     { 1252, 1280,  720, 0, 303104, 303104, 4, 8, 5,
       dnxhd_1252_luma_weight, dnxhd_1252_chroma_weight,
-      dnxhd_1252_dc_codes, dnxhd_1252_dc_bits,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
       dnxhd_1252_ac_codes, dnxhd_1252_ac_bits, dnxhd_1252_ac_level,
       dnxhd_1252_ac_flags,
-      dnxhd_1251_run_codes, dnxhd_1251_run_bits, dnxhd_1251_run,
+      dnxhd_1250_run_codes, dnxhd_1250_run_bits, dnxhd_1250_run,
       { 60, 60, 75, 120, 145 },
       { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
     { 1253, 1920, 1080, 0, 188416, 188416, 4, 8, 3,
@@ -1086,12 +1091,25 @@ const CIDEntry ff_dnxhd_cid_table[] = {
       { { 24000, 1001 }, { 25, 1 }, { 30000, 1001 }, { 50, 1 }, { 60000, 1001 } } },
     { 1258, 960, 720, 0, 212992, 212992, 4, 8, 5,
       dnxhd_1258_luma_weight, dnxhd_1258_chroma_weight,
-      dnxhd_1258_dc_codes, dnxhd_1258_dc_bits,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
       dnxhd_1252_ac_codes, dnxhd_1252_ac_bits, dnxhd_1252_ac_level,
       dnxhd_1252_ac_flags,
-      dnxhd_1251_run_codes, dnxhd_1251_run_bits, dnxhd_1251_run,
+      dnxhd_1250_run_codes, dnxhd_1250_run_bits, dnxhd_1250_run,
       { 42, 60, 75, 115 } },
-
+    { 1259, 1440, 1080, 0, 417792, 417792, 4, 8, 3,
+      dnxhd_1259_luma_weight, dnxhd_1259_chroma_weight,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
+      dnxhd_1237_ac_codes, dnxhd_1237_ac_bits, dnxhd_1237_ac_level,
+      dnxhd_1237_ac_flags,
+      dnxhd_1237_run_codes, dnxhd_1237_run_bits, dnxhd_1237_run,
+      { 63, 84, 100, 110 } },
+    { 1260, 1440, 1080, 1, 835584, 417792, 4, 8, 3,
+      dnxhd_1260_luma_weight, dnxhd_1260_chroma_weight,
+      dnxhd_1237_dc_codes, dnxhd_1237_dc_bits,
+      dnxhd_1237_ac_codes, dnxhd_1237_ac_bits, dnxhd_1237_ac_level,
+      dnxhd_1237_ac_flags,
+      dnxhd_1237_run_codes, dnxhd_1237_run_bits, dnxhd_1237_run,
+      { 80, 90, 100, 110 } },
 };
 
 int ff_dnxhd_get_cid_table(int cid)