On 12/04/14 20:12, Justin Ruggles wrote:
> Fixes conversion of pal8 to rgb formats with alpha.
> 
> Updated references for 2 FATE tests which previously encoded fully
> transparent images.
> 
> Based on a patch by Baptiste Coudurier <[email protected]>
> ---
>  libswscale/swscale_unscaled.c         |   10 +++++-----
>  tests/ref/fate/targa-conformance-CCM8 |    2 +-
>  tests/ref/fate/targa-conformance-UCM8 |    2 +-
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> index 9e50d48..da1bde1 100644
> --- a/libswscale/swscale_unscaled.c
> +++ b/libswscale/swscale_unscaled.c
> @@ -1217,33 +1217,33 @@ int attribute_align_arg sws_scale(struct SwsContext 
> *c,
>              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);
>              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) + (0xFFU << 24);
>  
>              switch (c->dstFormat) {
>              case AV_PIX_FMT_BGR32:
>  #if !HAVE_BIGENDIAN
>              case AV_PIX_FMT_RGB24:
>  #endif
> -                c->pal_rgb[i] =  r + (g << 8) + (b << 16);
> +                c->pal_rgb[i] =  r + (g << 8) + (b << 16) + (0xFFU << 24);
>                  break;
>              case AV_PIX_FMT_BGR32_1:
>  #if HAVE_BIGENDIAN
>              case AV_PIX_FMT_BGR24:
>  #endif
> -                c->pal_rgb[i] = (r << 8) + (g << 16) + ((unsigned)b << 24);
> +                c->pal_rgb[i] = 0xFF + (r << 8) + (g << 16) + ((unsigned)b 
> << 24);
>                  break;
>              case AV_PIX_FMT_RGB32_1:
>  #if HAVE_BIGENDIAN
>              case AV_PIX_FMT_RGB24:
>  #endif
> -                c->pal_rgb[i] = (b << 8) + (g << 16) + ((unsigned)r << 24);
> +                c->pal_rgb[i] = 0xFF + (b << 8) + (g << 16) + ((unsigned)r 
> << 24);
>                  break;
>              case AV_PIX_FMT_RGB32:
>  #if !HAVE_BIGENDIAN
>              case AV_PIX_FMT_BGR24:
>  #endif
>              default:
> -                c->pal_rgb[i] =  b + (g << 8) + (r << 16);
> +                c->pal_rgb[i] =  b + (g << 8) + (r << 16) + (0xFFU << 24);
>              }
>          }
>      }
> diff --git a/tests/ref/fate/targa-conformance-CCM8 
> b/tests/ref/fate/targa-conformance-CCM8
> index aad3bfc..45bb181 100644
> --- a/tests/ref/fate/targa-conformance-CCM8
> +++ b/tests/ref/fate/targa-conformance-CCM8
> @@ -1,2 +1,2 @@
>  #tb 0: 1/25
> -0,          0,          0,        1,    65536, 0xcf98bc29
> +0,          0,          0,        1,    65536, 0x47e97fe9
> diff --git a/tests/ref/fate/targa-conformance-UCM8 
> b/tests/ref/fate/targa-conformance-UCM8
> index aad3bfc..45bb181 100644
> --- a/tests/ref/fate/targa-conformance-UCM8
> +++ b/tests/ref/fate/targa-conformance-UCM8
> @@ -1,2 +1,2 @@
>  #tb 0: 1/25
> -0,          0,          0,        1,    65536, 0xcf98bc29
> +0,          0,          0,        1,    65536, 0x47e97fe9
> 


Looks even better.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to