1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

dnxhddata: Add tables for missing DNx100 profiles

1440x1080@8 progressive (1259) and interlaced (1260).

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
Vittorio Giovara 2015-07-30 15:55:39 +01:00
parent a4615572b5
commit d68705c975
2 changed files with 69 additions and 10 deletions

View File

@ -41,6 +41,7 @@ version <next>:
- Intel QSV-accelerated MPEG-2 video and HEVC encoding
- bitstream filter for converting HEVC from MP4 to Annex B
- Intel QSV-accelerated MPEG-2 video and HEVC decoding
- Support DNx100 (1440x1080@8)
version 11:

View File

@ -256,6 +256,50 @@ 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,
@ -266,17 +310,17 @@ 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 */
/* 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 */
/* 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 */
/* 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,
@ -313,7 +357,7 @@ static const uint16_t dnxhd_1237_ac_codes[257] = {
65535,
};
/* Used in CID 1237, 1242, 1253 */
/* 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,
@ -334,7 +378,7 @@ static const uint8_t dnxhd_1237_ac_bits[257] = {
16,
};
/* Used in CID 1237, 1242, 1253 */
/* Used in CID 1237, 1242, 1253, 1259, 1260 */
static const uint8_t dnxhd_1237_ac_level[257] = {
1, 1, 2, 0, 3, 4, 2, 5, 6, 7, 3, 8, 9, 10, 11, 12,
4, 5, 13, 14, 15, 16, 6, 17, 18, 19, 20, 21, 7, 22, 23, 24,
@ -355,7 +399,7 @@ static const uint8_t dnxhd_1237_ac_level[257] = {
64,
};
/* Used in CID 1237, 1242, 1253 */
/* Used in CID 1237, 1242, 1253, 1259, 1260 */
static const uint8_t dnxhd_1237_ac_run_flag[257] = {
0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
@ -376,7 +420,7 @@ static const uint8_t dnxhd_1237_ac_run_flag[257] = {
1,
};
/* Used in CID 1237, 1242, 1253 */
/* Used in CID 1237, 1242, 1253, 1259, 1260 */
static const uint8_t dnxhd_1237_ac_index_flag[257] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -1016,7 +1060,7 @@ static const uint8_t dnxhd_1235_run[62] = {
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
};
/* Used in CID 1237, 1242, 1253 */
/* 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,
@ -1028,7 +1072,7 @@ static const uint16_t dnxhd_1237_run_codes[62] = {
1018, 1019, 1020, 1021, 1022, 1023,
};
/* Used in CID 1237, 1242, 1253 */
/* 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,
@ -1036,7 +1080,7 @@ static const uint8_t dnxhd_1237_run_bits[62] = {
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
};
/* Used in CID 1237, 1242, 1253 */
/* 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,
@ -1164,6 +1208,20 @@ const CIDEntry ff_dnxhd_cid_table[] = {
dnxhd_1252_ac_run_flag, dnxhd_1252_ac_index_flag,
dnxhd_1250_run_codes, dnxhd_1250_run_bits, dnxhd_1250_run,
{ 42, 60, 75, 115 } },
{ 1259, 1440, 1080, 0, 417792, 417792, 4, 8,
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_run_flag, dnxhd_1237_ac_index_flag,
dnxhd_1237_run_codes, dnxhd_1237_run_bits, dnxhd_1237_run,
{ 63, 84, 100, 110 } },
{ 1260, 1440, 1080, 1, 417792, 417792, 4, 8,
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_run_flag, dnxhd_1237_ac_index_flag,
dnxhd_1237_run_codes, dnxhd_1237_run_bits, dnxhd_1237_run,
{ 80, 90, 100, 110 } },
};
int ff_dnxhd_get_cid_table(int cid)