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

Make Interplay palette opaque and increase its dynamics.

This commit is contained in:
Carl Eugen Hoyos 2011-12-27 18:26:31 +01:00
parent 387d86077f
commit ec0dc7e2e0
2 changed files with 116 additions and 112 deletions

View File

@ -456,7 +456,8 @@ static int process_ipmovie_chunk(IPMVEContext *s, AVIOContext *pb,
r = scratch[j++] * 4; r = scratch[j++] * 4;
g = scratch[j++] * 4; g = scratch[j++] * 4;
b = scratch[j++] * 4; b = scratch[j++] * 4;
s->palette[i] = (r << 16) | (g << 8) | (b); s->palette[i] = (0xFFU << 24) | (r << 16) | (g << 8) | (b);
s->palette[i] |= s->palette[i] >> 6 & 0x30303;
} }
s->has_palette = 1; s->has_palette = 1;
break; break;
@ -524,7 +525,7 @@ static int ipmovie_read_header(AVFormatContext *s,
AVPacket pkt; AVPacket pkt;
AVStream *st; AVStream *st;
unsigned char chunk_preamble[CHUNK_PREAMBLE_SIZE]; unsigned char chunk_preamble[CHUNK_PREAMBLE_SIZE];
int chunk_type; int chunk_type, i;
uint8_t signature_buffer[sizeof(signature)]; uint8_t signature_buffer[sizeof(signature)];
avio_read(pb, signature_buffer, sizeof(signature_buffer)); avio_read(pb, signature_buffer, sizeof(signature_buffer));
@ -542,6 +543,9 @@ static int ipmovie_read_header(AVFormatContext *s,
/* on the first read, this will position the stream at the first chunk */ /* on the first read, this will position the stream at the first chunk */
ipmovie->next_chunk_offset = avio_tell(pb) + 4; ipmovie->next_chunk_offset = avio_tell(pb) + 4;
for (i = 0; i < 256; i++)
ipmovie->palette[i] = 0xFFU << 24;
/* process the first chunk which should be CHUNK_INIT_VIDEO */ /* process the first chunk which should be CHUNK_INIT_VIDEO */
if (process_ipmovie_chunk(ipmovie, pb, &pkt) != CHUNK_INIT_VIDEO) if (process_ipmovie_chunk(ipmovie, pb, &pkt) != CHUNK_INIT_VIDEO)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;

View File

@ -1,223 +1,223 @@
0, 0, 414720, 0xa5cd50ca 0, 0, 414720, 0x2580d574
1, 0, 5848, 0xea04292b 1, 0, 5848, 0xea04292b
1, 5967, 5888, 0x0e59e942 1, 5967, 5888, 0x0e59e942
0, 6006, 414720, 0x3facd321 0, 6006, 414720, 0x97f55cd3
1, 11976, 5888, 0x56d480f6 1, 11976, 5888, 0x56d480f6
0, 12011, 414720, 0x849e6d4b 0, 12011, 414720, 0x9408fb63
1, 17984, 5888, 0xcb560b22 1, 17984, 5888, 0xcb560b22
0, 18017, 414720, 0xe649363f 0, 18017, 414720, 0x7e53c155
1, 23992, 5888, 0xca26865b 1, 23992, 5888, 0xca26865b
0, 24022, 414720, 0x5bbd7b14 0, 24022, 414720, 0xd8570262
1, 30000, 5888, 0xa434392f 1, 30000, 5888, 0xa434392f
0, 30028, 414720, 0xe246ab51 0, 30028, 414720, 0x9dc72ed5
1, 36008, 5888, 0xa0615fe4 1, 36008, 5888, 0xa0615fe4
0, 36033, 414720, 0x5721b22e 0, 36033, 414720, 0xf7d33211
1, 42016, 5888, 0x85b241cd 1, 42016, 5888, 0x85b241cd
0, 42039, 414720, 0xe391e107 0, 42039, 414720, 0x95935e3b
1, 48024, 5888, 0x2c417a43 1, 48024, 5888, 0x2c417a43
0, 48044, 414720, 0x04d851ff 0, 48044, 414720, 0x62b1cdc5
1, 54033, 5888, 0x2d5ed665 1, 54033, 5888, 0x2d5ed665
0, 54050, 414720, 0x8d80d580 0, 54050, 414720, 0x971f500a
1, 60041, 5888, 0x37267a2d 1, 60041, 5888, 0x37267a2d
0, 60055, 414720, 0x5a24b0bc 0, 60055, 414720, 0x05f82b6c
1, 66049, 5888, 0x1f803c67 1, 66049, 5888, 0x1f803c67
0, 66061, 414720, 0x06cd6960 0, 66061, 414720, 0x7713e3cb
1, 72057, 5888, 0xfb7940ef 1, 72057, 5888, 0xfb7940ef
0, 72066, 414720, 0xf5ca48b4 0, 72066, 414720, 0x3170c2f0
1, 78065, 5888, 0x1a5371e8 1, 78065, 5888, 0x1a5371e8
0, 78072, 414720, 0x24700f94 0, 78072, 414720, 0x8d818956
1, 84073, 5888, 0x37e29b21 1, 84073, 5888, 0x37e29b21
0, 84077, 414720, 0xb0bfe451 0, 84077, 414720, 0x16775d71
1, 90082, 5848, 0x70065769 1, 90082, 5848, 0x70065769
0, 90083, 414720, 0x00e9f3d1 0, 90083, 414720, 0x63016ce1
1, 96049, 5888, 0xaf624f3d 1, 96049, 5888, 0xaf624f3d
0, 96088, 414720, 0x0efbffd1 0, 96088, 414720, 0x2f94792c
1, 102057, 5888, 0x8f5e5b57 1, 102057, 5888, 0x8f5e5b57
0, 102094, 414720, 0x2ecdfc8d 0, 102094, 414720, 0x37f67725
1, 108065, 5888, 0x93545968 1, 108065, 5888, 0x93545968
0, 108099, 414720, 0x94b531fc 0, 108099, 414720, 0xeb95adb1
1, 114073, 5888, 0x915f268f 1, 114073, 5888, 0x915f268f
0, 114105, 414720, 0x2c2579f8 0, 114105, 414720, 0xbf32f6df
1, 120082, 5888, 0x9cd48ac4 1, 120082, 5888, 0x9cd48ac4
0, 120110, 414720, 0x6c7ecfb8 0, 120110, 414720, 0x242f4d09
1, 126090, 5888, 0x812c8e13 1, 126090, 5888, 0x812c8e13
0, 126116, 414720, 0x08982527 0, 126116, 414720, 0x28a2a3b9
1, 132098, 5888, 0xe794a2a7 1, 132098, 5888, 0xe794a2a7
0, 132121, 414720, 0x5c0161b3 0, 132121, 414720, 0x895de0a6
1, 138106, 5888, 0x4a056e4b 1, 138106, 5888, 0x4a056e4b
0, 138127, 414720, 0x453ce413 0, 138127, 414720, 0xd3b46447
1, 144114, 5888, 0xa3589992 1, 144114, 5888, 0xa3589992
0, 144132, 414720, 0x634e36b2 0, 144132, 414720, 0x3bbfb7d1
1, 150122, 5888, 0x19ea7ec5 1, 150122, 5888, 0x19ea7ec5
0, 150138, 414720, 0x401a683a 0, 150138, 414720, 0x0a5ee9ad
1, 156131, 5888, 0x422d5097 1, 156131, 5888, 0x422d5097
0, 156144, 414720, 0x3c5f442e 0, 156144, 414720, 0xaabac502
1, 162139, 5888, 0xc9fd963f 1, 162139, 5888, 0xc9fd963f
0, 162149, 414720, 0x075ef787 0, 162149, 414720, 0x0951779d
1, 168147, 5888, 0xc556a5ea 1, 168147, 5888, 0xc556a5ea
0, 168155, 414720, 0x8501a04f 0, 168155, 414720, 0x150e2073
1, 174155, 5888, 0x51557e0f 1, 174155, 5888, 0x51557e0f
0, 174160, 414720, 0x3620093b 0, 174160, 414720, 0xb86d87ae
1, 180163, 5848, 0x4903ad21 1, 180163, 5848, 0x4903ad21
0, 180166, 414720, 0xa42d9480 0, 180166, 414720, 0x135411da
1, 186131, 5888, 0xb1c85e85 1, 186131, 5888, 0xb1c85e85
0, 186171, 414720, 0x09b150b4 0, 186171, 414720, 0x9c8fcda5
1, 192139, 5888, 0x68963d65 1, 192139, 5888, 0x68963d65
0, 192177, 414720, 0xcad407f0 0, 192177, 414720, 0xb7ba838e
1, 198147, 5888, 0x62a3124e 1, 198147, 5888, 0x62a3124e
0, 198182, 414720, 0x69e5eecd 0, 198182, 414720, 0x7ef869e1
1, 204155, 5888, 0x4ff1878f 1, 204155, 5888, 0x4ff1878f
0, 204188, 414720, 0xb92ad2d9 0, 204188, 414720, 0xf9764d47
1, 210163, 5888, 0x8b09ac18 1, 210163, 5888, 0x8b09ac18
0, 210193, 414720, 0xc78eaf29 0, 210193, 414720, 0xe6c72872
1, 216171, 5888, 0x67d85338 1, 216171, 5888, 0x67d85338
0, 216199, 414720, 0x47c3fa91 0, 216199, 414720, 0xb95b73b8
1, 222180, 5888, 0x82eca0a6 1, 222180, 5888, 0x82eca0a6
0, 222204, 414720, 0x8847b7b8 0, 222204, 414720, 0xa19e3221
1, 228188, 5888, 0x81a17eb8 1, 228188, 5888, 0x81a17eb8
0, 228210, 414720, 0x864cab2f 0, 228210, 414720, 0xc0be27cd
1, 234196, 5888, 0x7108478c 1, 234196, 5888, 0x7108478c
0, 234215, 414720, 0x78d653e2 0, 234215, 414720, 0xe97cd1a9
1, 240204, 5888, 0xbfc18b09 1, 240204, 5888, 0xbfc18b09
0, 240221, 414720, 0xda15cbd2 0, 240221, 414720, 0xb6524a34
1, 246212, 5888, 0xad93711f 1, 246212, 5888, 0xad93711f
0, 246226, 414720, 0xdf9ce28a 0, 246226, 414720, 0x61a1607b
1, 252220, 5888, 0xf8d25e39 1, 252220, 5888, 0xf8d25e39
0, 252232, 414720, 0xe88c49ca 0, 252232, 414720, 0x1dd9c606
1, 258229, 5888, 0x41edd04e 1, 258229, 5888, 0x41edd04e
0, 258237, 414720, 0xd6bcbc07 0, 258237, 414720, 0xe2e736fa
1, 264237, 5888, 0xa6557ee2 1, 264237, 5888, 0xa6557ee2
0, 264243, 414720, 0xf0b4a7bf 0, 264243, 414720, 0x25b922d9
1, 270245, 5848, 0xc14d5456 1, 270245, 5848, 0xc14d5456
0, 270248, 414720, 0x74f9bfbf 0, 270248, 414720, 0xbc023b36
1, 276212, 5888, 0x20a7821f 1, 276212, 5888, 0x20a7821f
0, 276254, 414720, 0x904ce103 0, 276254, 414720, 0x39bb5cdf
1, 282220, 5888, 0x9f1a8f9d 1, 282220, 5888, 0x9f1a8f9d
0, 282259, 414720, 0xca877e4a 0, 282259, 414720, 0xf83bfc4f
1, 288229, 5888, 0x2f3c6cc8 1, 288229, 5888, 0x2f3c6cc8
0, 288265, 414720, 0x588effd6 0, 288265, 414720, 0x3eae7f36
1, 294237, 5888, 0x757c894a 1, 294237, 5888, 0x757c894a
0, 294270, 414720, 0x6dff8b71 0, 294270, 414720, 0x8cf80c32
1, 300245, 5888, 0x483e98bb 1, 300245, 5888, 0x483e98bb
0, 300276, 414720, 0xbeaae788 0, 300276, 414720, 0xbc576c03
1, 306253, 5888, 0x84289c75 1, 306253, 5888, 0x84289c75
0, 306282, 414720, 0x1a4d1242 0, 306282, 414720, 0x28b79ab1
1, 312261, 5888, 0xf79d5a91 1, 312261, 5888, 0xf79d5a91
0, 312287, 414720, 0x4ae98ea0 0, 312287, 414720, 0x15da1138
1, 318269, 5888, 0x395b5228 1, 318269, 5888, 0x395b5228
0, 318293, 414720, 0x41ed6d22 0, 318293, 414720, 0x345ff676
1, 324278, 5888, 0x9c937a14 1, 324278, 5888, 0x9c937a14
0, 324298, 414720, 0x486e70aa 0, 324298, 414720, 0x0108f909
1, 330286, 5888, 0x40c169cf 1, 330286, 5888, 0x40c169cf
0, 330304, 414720, 0xfddc103e 0, 330304, 414720, 0x57459616
1, 336294, 5888, 0x3e7f99b0 1, 336294, 5888, 0x3e7f99b0
0, 336309, 414720, 0x8620f03e 0, 336309, 414720, 0x2f497782
1, 342302, 5888, 0xd4de993e 1, 342302, 5888, 0xd4de993e
0, 342315, 414720, 0x0e4ec273 0, 342315, 414720, 0xb72b4f79
1, 348310, 5888, 0xae856b09 1, 348310, 5888, 0xae856b09
0, 348320, 414720, 0xb2298b3e 0, 348320, 414720, 0x2bfd1967
1, 354318, 5888, 0xa2369c95 1, 354318, 5888, 0xa2369c95
0, 354326, 414720, 0xb4f50176 0, 354326, 414720, 0x974a99cd
1, 360327, 5848, 0x992d516b 1, 360327, 5848, 0x992d516b
0, 360331, 414720, 0xb9c7a495 0, 360331, 414720, 0x5f5f4129
1, 366294, 5888, 0xcd785ba9 1, 366294, 5888, 0xcd785ba9
0, 366337, 414720, 0xed270702 0, 366337, 414720, 0x51ad9df4
1, 372302, 5888, 0x55ea3bce 1, 372302, 5888, 0x55ea3bce
0, 372342, 414720, 0x98b72586 0, 372342, 414720, 0xd6e5c16c
1, 378310, 5888, 0xf06d4bbf 1, 378310, 5888, 0xf06d4bbf
0, 378348, 414720, 0xd8977cb1 0, 378348, 414720, 0xd8751bda
1, 384318, 5888, 0x2a9d4c1a 1, 384318, 5888, 0x2a9d4c1a
0, 384353, 414720, 0xff3d3851 0, 384353, 414720, 0x216ed6f3
1, 390327, 5888, 0xd5e348a3 1, 390327, 5888, 0xd5e348a3
0, 390359, 414720, 0x7e4f0424 0, 390359, 414720, 0x63a0a67d
1, 396335, 5888, 0x6431a24c 1, 396335, 5888, 0x6431a24c
0, 396364, 414720, 0xa9e75006 0, 396364, 414720, 0xe4f4eb0f
1, 402343, 5888, 0x41f9908c 1, 402343, 5888, 0x41f9908c
0, 402370, 414720, 0x8f98cba9 0, 402370, 414720, 0xa1665ef8
1, 408351, 5888, 0x0ed99656 1, 408351, 5888, 0x0ed99656
0, 408375, 414720, 0x25ecd620 0, 408375, 414720, 0xc3116dfd
1, 414359, 5888, 0x635a6392 1, 414359, 5888, 0x635a6392
0, 414381, 414720, 0x78cf5c58 0, 414381, 414720, 0x3213fd70
1, 420367, 5888, 0x690c750c 1, 420367, 5888, 0x690c750c
0, 420386, 414720, 0x3fb4b81a 0, 420386, 414720, 0x2af76048
1, 426376, 5888, 0xf9d97b23 1, 426376, 5888, 0xf9d97b23
0, 426392, 414720, 0xd7b655fa 0, 426392, 414720, 0x3570085d
1, 432384, 5888, 0x75e1606b 1, 432384, 5888, 0x75e1606b
0, 432397, 414720, 0xd9158db3 0, 432397, 414720, 0x2a7c3c39
1, 438392, 5888, 0x1bcb43b0 1, 438392, 5888, 0x1bcb43b0
0, 438403, 414720, 0x2e651852 0, 438403, 414720, 0xd8a6ba7e
1, 444400, 5888, 0x48c295cb 1, 444400, 5888, 0x48c295cb
0, 444408, 414720, 0x9f9adb64 0, 444408, 414720, 0x48107b4d
1, 450408, 5848, 0xe47f7b5d 1, 450408, 5848, 0xe47f7b5d
0, 450414, 414720, 0xe9d16e81 0, 450414, 414720, 0x653a0936
1, 456376, 5888, 0x20be7f3e 1, 456376, 5888, 0x20be7f3e
0, 456420, 414720, 0xbe73daf5 0, 456420, 414720, 0xf68c77ab
1, 462384, 5888, 0x8c2428c4 1, 462384, 5888, 0x8c2428c4
0, 462425, 414720, 0x3d164329 0, 462425, 414720, 0xa5ecde84
1, 468392, 5888, 0x851379af 1, 468392, 5888, 0x851379af
0, 468431, 414720, 0x1d5a9bc8 0, 468431, 414720, 0xaec33ca1
1, 474400, 5888, 0x5916647d 1, 474400, 5888, 0x5916647d
0, 474436, 414720, 0x8e8debbe 0, 474436, 414720, 0x26e68740
1, 480408, 5888, 0xef9c6281 1, 480408, 5888, 0xef9c6281
0, 480442, 414720, 0x4e7a2bf0 0, 480442, 414720, 0xac09bfa5
1, 486416, 5888, 0x49660d32 1, 486416, 5888, 0x49660d32
0, 486447, 414720, 0x4a13804d 0, 486447, 414720, 0xed5111b2
1, 492424, 5888, 0x62cf36a1 1, 492424, 5888, 0x62cf36a1
0, 492453, 414720, 0x5dd188d8 0, 492453, 414720, 0x38041c98
1, 498433, 5888, 0x56dff39c 1, 498433, 5888, 0x56dff39c
0, 498458, 414720, 0xbe7f4963 0, 498458, 414720, 0x76fbde1d
1, 504441, 5888, 0x4e6b5b02 1, 504441, 5888, 0x4e6b5b02
0, 504464, 414720, 0xcff3b767 0, 504464, 414720, 0x3ae64b7d
1, 510449, 5888, 0xb8697067 1, 510449, 5888, 0xb8697067
0, 510469, 414720, 0xbbd3afa0 0, 510469, 414720, 0xb05f4da2
1, 516457, 5888, 0xcb4e2706 1, 516457, 5888, 0xcb4e2706
0, 516475, 414720, 0xaf9dec62 0, 516475, 414720, 0x65769088
1, 522465, 5888, 0x6eaa9669 1, 522465, 5888, 0x6eaa9669
0, 522480, 414720, 0xc74816a1 0, 522480, 414720, 0xbc45ba59
1, 528473, 5888, 0xfd9d7dba 1, 528473, 5888, 0xfd9d7dba
0, 528486, 414720, 0x51488bfc 0, 528486, 414720, 0x8c893436
1, 534482, 5888, 0xfe137923 1, 534482, 5888, 0xfe137923
0, 534491, 414720, 0x68c10a2c 0, 534491, 414720, 0x1d5ebe7f
1, 540490, 5848, 0x1931296f 1, 540490, 5848, 0x1931296f
0, 540497, 414720, 0x10179c4e 0, 540497, 414720, 0xa9cd5a53
1, 546457, 5888, 0xa09a7c03 1, 546457, 5888, 0xa09a7c03
0, 546502, 414720, 0x18d559b7 0, 546502, 414720, 0xc69e1fb0
1, 552465, 5888, 0xded9802d 1, 552465, 5888, 0xded9802d
0, 552508, 414720, 0x8257aa55 0, 552508, 414720, 0xb28a77ec
1, 558473, 5888, 0x9f6723b7 1, 558473, 5888, 0x9f6723b7
0, 558513, 414720, 0x9ea24501 0, 558513, 414720, 0x834f1219
1, 564482, 5888, 0x3ad02476 1, 564482, 5888, 0x3ad02476
0, 564519, 414720, 0x238605cc 0, 564519, 414720, 0xba34c848
1, 570490, 5888, 0xa1647e32 1, 570490, 5888, 0xa1647e32
0, 570524, 414720, 0xb552deaa 0, 570524, 414720, 0x80e590c1
1, 576498, 5888, 0x728672da 1, 576498, 5888, 0x728672da
0, 576530, 414720, 0x07c3348d 0, 576530, 414720, 0x7146dc31
1, 582506, 5888, 0x9c098090 1, 582506, 5888, 0x9c098090
0, 582535, 414720, 0x82f4f9b0 0, 582535, 414720, 0x05929a5f
1, 588514, 5888, 0x32a65ea3 1, 588514, 5888, 0x32a65ea3
0, 588541, 414720, 0xf5d76bc5 0, 588541, 414720, 0x721708c5
1, 594522, 5888, 0xdde141d5 1, 594522, 5888, 0xdde141d5
0, 594546, 414720, 0x34b3a1e6 0, 594546, 414720, 0x4aa83cbe
1, 600531, 5888, 0x816c5fb4 1, 600531, 5888, 0x816c5fb4
0, 600552, 414720, 0xda25e11b 0, 600552, 414720, 0x221d799f
1, 606539, 5888, 0x75e17581 1, 606539, 5888, 0x75e17581
0, 606558, 414720, 0x2b19936b 0, 606558, 414720, 0xe9e72bec
1, 612547, 5888, 0x59035469 1, 612547, 5888, 0x59035469
0, 612563, 414720, 0xe91f9f73 0, 612563, 414720, 0xb6a3385d
1, 618555, 5888, 0x20d340cd 1, 618555, 5888, 0x20d340cd
0, 618569, 414720, 0x48d09aab 0, 618569, 414720, 0x795a3362
1, 624563, 5888, 0xa89a8790 1, 624563, 5888, 0xa89a8790
0, 624574, 414720, 0xac42bf83 0, 624574, 414720, 0x770b58d9
1, 630571, 5848, 0x12b74c34 1, 630571, 5848, 0x12b74c34
0, 630580, 414720, 0x2d8ca14e 0, 630580, 414720, 0xb5563ce4
1, 636539, 5888, 0xcd3b3bef 1, 636539, 5888, 0xcd3b3bef
0, 636585, 414720, 0xe65462fd 0, 636585, 414720, 0x0c1a00cc
1, 642547, 5888, 0xe5c44bf3 1, 642547, 5888, 0xe5c44bf3
0, 642591, 414720, 0xe5bfc929 0, 642591, 414720, 0xcbd467fd
1, 648555, 5888, 0xb82c4fa4 1, 648555, 5888, 0xb82c4fa4
0, 648596, 414720, 0x66784c58 0, 648596, 414720, 0x3bccec29
1, 654563, 5888, 0x05b2443a 1, 654563, 5888, 0x05b2443a
0, 654602, 414720, 0x70dbeca8 0, 654602, 414720, 0x92d78db7
1, 660571, 5888, 0x78028172 1, 660571, 5888, 0x78028172
1, 666580, 5888, 0xdfcac19a 1, 666580, 5888, 0xdfcac19a
1, 672588, 5888, 0x0761a0b9 1, 672588, 5888, 0x0761a0b9