Set alpha of palettes to 0xff.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e91946ed23
commit
dbfdb288c1
@ -245,7 +245,7 @@ static int bmp_decode_frame(AVCodecContext *avctx,
|
|||||||
buf = buf0 + 14 + ihsize; //palette location
|
buf = buf0 + 14 + ihsize; //palette location
|
||||||
if((hsize-ihsize-14) < (colors << 2)){ // OS/2 bitmap, 3 bytes per palette entry
|
if((hsize-ihsize-14) < (colors << 2)){ // OS/2 bitmap, 3 bytes per palette entry
|
||||||
for(i = 0; i < colors; i++)
|
for(i = 0; i < colors; i++)
|
||||||
((uint32_t*)p->data[1])[i] = bytestream_get_le24(&buf);
|
((uint32_t*)p->data[1])[i] = (0xff<<24) | bytestream_get_le24(&buf);
|
||||||
}else{
|
}else{
|
||||||
for(i = 0; i < colors; i++)
|
for(i = 0; i < colors; i++)
|
||||||
((uint32_t*)p->data[1])[i] = bytestream_get_le32(&buf);
|
((uint32_t*)p->data[1])[i] = bytestream_get_le32(&buf);
|
||||||
|
@ -189,10 +189,10 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
int r, g, b, t;
|
int r, g, b, t;
|
||||||
int32_t *pal = ((int32_t*)p->data[1]) + first_clr;
|
int32_t *pal = ((int32_t*)p->data[1]) + first_clr;
|
||||||
for(t = 0; t < colors; t++){
|
for(t = 0; t < colors; t++){
|
||||||
r = *buf++;
|
|
||||||
g = *buf++;
|
|
||||||
b = *buf++;
|
b = *buf++;
|
||||||
*pal++ = (b << 16) | (g << 8) | r;
|
g = *buf++;
|
||||||
|
r = *buf++;
|
||||||
|
*pal++ = (0xff<<24) | (r << 16) | (g << 8) | b;
|
||||||
}
|
}
|
||||||
p->palette_has_changed = 1;
|
p->palette_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
@ -429,7 +429,8 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t *
|
|||||||
bp = buf + count / 3 * off * 2;
|
bp = buf + count / 3 * off * 2;
|
||||||
off = (type_sizes[type] - 1) << 3;
|
off = (type_sizes[type] - 1) << 3;
|
||||||
for(i = 0; i < count / 3; i++){
|
for(i = 0; i < count / 3; i++){
|
||||||
j = (tget(&rp, type, s->le) >> off) << 16;
|
j = 0xff << 24;
|
||||||
|
j |= (tget(&rp, type, s->le) >> off) << 16;
|
||||||
j |= (tget(&gp, type, s->le) >> off) << 8;
|
j |= (tget(&gp, type, s->le) >> off) << 8;
|
||||||
j |= tget(&bp, type, s->le) >> off;
|
j |= tget(&bp, type, s->le) >> off;
|
||||||
pal[i] = j;
|
pal[i] = j;
|
||||||
|
@ -1999,7 +1999,7 @@ int sws_scale(SwsContext *c, const uint8_t* const src[], const int srcStride[],
|
|||||||
|
|
||||||
if (usePal(c->srcFormat)) {
|
if (usePal(c->srcFormat)) {
|
||||||
for (i=0; i<256; i++) {
|
for (i=0; i<256; i++) {
|
||||||
int p, r, g, b,y,u,v;
|
int p, r, g, b, y, u, v, a = 0xff;
|
||||||
if(c->srcFormat == PIX_FMT_PAL8) {
|
if(c->srcFormat == PIX_FMT_PAL8) {
|
||||||
p=((const uint32_t*)(src[1]))[i];
|
p=((const uint32_t*)(src[1]))[i];
|
||||||
r= (p>>16)&0xFF;
|
r= (p>>16)&0xFF;
|
||||||
@ -2028,33 +2028,33 @@ int sws_scale(SwsContext *c, const uint8_t* const src[], const int srcStride[],
|
|||||||
y= av_clip_uint8((RY*r + GY*g + BY*b + ( 33<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
y= av_clip_uint8((RY*r + GY*g + BY*b + ( 33<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
||||||
u= av_clip_uint8((RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
u= av_clip_uint8((RU*r + GU*g + BU*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
||||||
v= av_clip_uint8((RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
v= av_clip_uint8((RV*r + GV*g + BV*b + (257<<(RGB2YUV_SHIFT-1)))>>RGB2YUV_SHIFT);
|
||||||
c->pal_yuv[i]= y + (u<<8) + (v<<16);
|
c->pal_yuv[i]= y + (u<<8) + (v<<16) + (a<<24);
|
||||||
|
|
||||||
switch(c->dstFormat) {
|
switch(c->dstFormat) {
|
||||||
case PIX_FMT_BGR32:
|
case PIX_FMT_BGR32:
|
||||||
#if !HAVE_BIGENDIAN
|
#if !HAVE_BIGENDIAN
|
||||||
case PIX_FMT_RGB24:
|
case PIX_FMT_RGB24:
|
||||||
#endif
|
#endif
|
||||||
c->pal_rgb[i]= r + (g<<8) + (b<<16);
|
c->pal_rgb[i]= r + (g<<8) + (b<<16) + (a<<24);
|
||||||
break;
|
break;
|
||||||
case PIX_FMT_BGR32_1:
|
case PIX_FMT_BGR32_1:
|
||||||
#if HAVE_BIGENDIAN
|
#if HAVE_BIGENDIAN
|
||||||
case PIX_FMT_BGR24:
|
case PIX_FMT_BGR24:
|
||||||
#endif
|
#endif
|
||||||
c->pal_rgb[i]= (r + (g<<8) + (b<<16)) << 8;
|
c->pal_rgb[i]= a + (r<<8) + (g<<16) + (b<<24);
|
||||||
break;
|
break;
|
||||||
case PIX_FMT_RGB32_1:
|
case PIX_FMT_RGB32_1:
|
||||||
#if HAVE_BIGENDIAN
|
#if HAVE_BIGENDIAN
|
||||||
case PIX_FMT_RGB24:
|
case PIX_FMT_RGB24:
|
||||||
#endif
|
#endif
|
||||||
c->pal_rgb[i]= (b + (g<<8) + (r<<16)) << 8;
|
c->pal_rgb[i]= a + (b<<8) + (g<<16) + (r<<24);
|
||||||
break;
|
break;
|
||||||
case PIX_FMT_RGB32:
|
case PIX_FMT_RGB32:
|
||||||
#if !HAVE_BIGENDIAN
|
#if !HAVE_BIGENDIAN
|
||||||
case PIX_FMT_BGR24:
|
case PIX_FMT_BGR24:
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
c->pal_rgb[i]= b + (g<<8) + (r<<16);
|
c->pal_rgb[i]= b + (g<<8) + (r<<16) + (a<<24);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user