On 2013-04-22 16:47:55 +0200, Janne Grunau wrote:
> ---
> forgot to add XYZ12* as valid inputs/outputs for swscale 
> 
>  libswscale/swscale_unscaled.c | 3 ++-
>  libswscale/utils.c            | 2 ++
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> index a994d6f..433dbdb 100644
> --- a/libswscale/swscale_unscaled.c
> +++ b/libswscale/swscale_unscaled.c
> @@ -1030,7 +1030,8 @@ void ff_get_unscaled_swscale(SwsContext *c)
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB48)  ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB555) ||
> -        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB565))
> +        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB565) ||
> +        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_XYZ12))
>          c->swScale = packed_16bpc_bswap;
>  
>      if ((usePal(srcFormat) && (
> diff --git a/libswscale/utils.c b/libswscale/utils.c
> index 6bbdb64..4dbad9b 100644
> --- a/libswscale/utils.c
> +++ b/libswscale/utils.c
> @@ -170,6 +170,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
>      [AV_PIX_FMT_GBRP10BE]    = { 1, 1 },
>      [AV_PIX_FMT_GBRP16LE]    = { 1, 0 },
>      [AV_PIX_FMT_GBRP16BE]    = { 1, 0 },
> +    [AV_PIX_FMT_XYZ12BE]     = { 1, 1 },
> +    [AV_PIX_FMT_XYZ12LE]     = { 1, 1 },
>  };

This doesn't work since it makes swscale assume every conversion with
AV_PIX_FMT_XYZ12* works now which is obviously not true. Any ideas how
to solve that?

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

Reply via email to