mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 03:59:43 +00:00
Make mov palette opaque or load alpha if present.
This commit is contained in:
parent
64cafe340b
commit
0d59ae32c2
@ -1213,7 +1213,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
(color_depth == 8)) {
|
||||
/* for palette traversal */
|
||||
unsigned int color_start, color_count, color_end;
|
||||
unsigned char r, g, b;
|
||||
unsigned char a, r, g, b;
|
||||
|
||||
if (color_greyscale) {
|
||||
int color_index, color_dec;
|
||||
@ -1228,7 +1228,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
}else
|
||||
r = g = b = color_index;
|
||||
sc->palette[j] =
|
||||
(r << 16) | (g << 8) | (b);
|
||||
(0xFFU << 24) | (r << 16) | (g << 8) | (b);
|
||||
color_index -= color_dec;
|
||||
if (color_index < 0)
|
||||
color_index = 0;
|
||||
@ -1249,7 +1249,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
g = color_table[j * 3 + 1];
|
||||
b = color_table[j * 3 + 2];
|
||||
sc->palette[j] =
|
||||
(r << 16) | (g << 8) | (b);
|
||||
(0xFFU << 24) | (r << 16) | (g << 8) | (b);
|
||||
}
|
||||
} else {
|
||||
/* load the palette from the file */
|
||||
@ -1259,10 +1259,9 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
if ((color_start <= 255) &&
|
||||
(color_end <= 255)) {
|
||||
for (j = color_start; j <= color_end; j++) {
|
||||
/* each R, G, or B component is 16 bits;
|
||||
* only use the top 8 bits; skip alpha bytes
|
||||
* up front */
|
||||
avio_r8(pb);
|
||||
/* each A, R, G, or B component is 16 bits;
|
||||
* only use the top 8 bits */
|
||||
a = avio_r8(pb);
|
||||
avio_r8(pb);
|
||||
r = avio_r8(pb);
|
||||
avio_r8(pb);
|
||||
@ -1271,7 +1270,7 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
b = avio_r8(pb);
|
||||
avio_r8(pb);
|
||||
sc->palette[j] =
|
||||
(r << 16) | (g << 8) | (b);
|
||||
(a << 24 ) | (r << 16) | (g << 8) | (b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user