On 2012-10-12 01:08:10 +0200, Luca Barbato wrote:
> ---
> 
> One hunk ended up in the ffv1.3 patch...
> 
>  libavcodec/utils.c            |  2 ++
>  libavutil/pixdesc.c           | 26 ++++++++++++++++++++++++++
>  libavutil/pixfmt.h            |  2 ++
>  libswscale/utils.c            |  2 ++
>  tests/ref/lavfi/pixdesc       |  2 ++
>  tests/ref/lavfi/pixfmts_copy  |  2 ++
>  tests/ref/lavfi/pixfmts_null  |  2 ++
>  tests/ref/lavfi/pixfmts_scale |  2 ++
>  tests/ref/lavfi/pixfmts_vflip |  2 ++
>  9 files changed, 42 insertions(+)
> 
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 48d6348..5cbf36a 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -180,6 +180,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int 
> *width, int *height,
>      case AV_PIX_FMT_YUVJ440P:
>      case AV_PIX_FMT_YUVJ444P:
>      case AV_PIX_FMT_YUVA420P:
> +    case AV_PIX_FMT_YUVA422P:
> +    case AV_PIX_FMT_YUVA444P:
>      case AV_PIX_FMT_YUV420P9LE:
>      case AV_PIX_FMT_YUV420P9BE:
>      case AV_PIX_FMT_YUV420P10LE:
> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> index f5098a7..bb23460 100644
> --- a/libavutil/pixdesc.c
> +++ b/libavutil/pixdesc.c
> @@ -527,6 +527,32 @@ const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          },
>          .flags = PIX_FMT_PLANAR,
>      },
> +        [AV_PIX_FMT_YUVA422P] = {
> +        .name = "yuva422p",
> +        .nb_components = 4,
> +        .log2_chroma_w = 1,
> +        .log2_chroma_h = 0,
> +        .comp = {
> +            { 0, 0, 1, 0, 7 },        /* Y */
> +            { 1, 0, 1, 0, 7 },        /* U */
> +            { 2, 0, 1, 0, 7 },        /* V */
> +            { 3, 0, 1, 0, 7 },        /* A */
> +        },
> +        .flags = PIX_FMT_PLANAR,
> +    },
> +    [AV_PIX_FMT_YUVA444P] = {
> +        .name = "yuva444p",
> +        .nb_components = 4,
> +        .log2_chroma_w = 0,
> +        .log2_chroma_h = 0,
> +        .comp = {
> +            { 0, 0, 1, 0, 7 },        /* Y */
> +            { 1, 0, 1, 0, 7 },        /* U */
> +            { 2, 0, 1, 0, 7 },        /* V */
> +            { 3, 0, 1, 0, 7 },        /* A */
> +        },
> +        .flags = PIX_FMT_PLANAR,
> +    },
>      [AV_PIX_FMT_VDPAU_H264] = {
>          .name = "vdpau_h264",
>          .log2_chroma_w = 1,
> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> index fbc2845..b11a034 100644
> --- a/libavutil/pixfmt.h
> +++ b/libavutil/pixfmt.h
> @@ -158,6 +158,8 @@ enum AVPixelFormat {
>      AV_PIX_FMT_GBRP10LE,  ///< planar GBR 4:4:4 30bpp, little endian
>      AV_PIX_FMT_GBRP16BE,  ///< planar GBR 4:4:4 48bpp, big endian
>      AV_PIX_FMT_GBRP16LE,  ///< planar GBR 4:4:4 48bpp, little endian
> +    AV_PIX_FMT_YUVA422P,  ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 
> 2x1 Y & A samples)
> +    AV_PIX_FMT_YUVA444P,  ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 
> 1x1 Y & A samples)
>      AV_PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if 
> you want to link with shared libav* because the number of formats might 
> differ between versions
>  
>  #if FF_API_PIX_FMT


libavutil changes are ok

> diff --git a/libswscale/utils.c b/libswscale/utils.c
> index fcdd04a..8d04e27 100644
> --- a/libswscale/utils.c
> +++ b/libswscale/utils.c
> @@ -108,6 +108,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
>      [AV_PIX_FMT_YUV440P]     = { 1, 1 },
>      [AV_PIX_FMT_YUVJ440P]    = { 1, 1 },
>      [AV_PIX_FMT_YUVA420P]    = { 1, 1 },
> +    [AV_PIX_FMT_YUVA422P]    = { 1, 1 },
> +    [AV_PIX_FMT_YUVA444P]    = { 1, 1 },
>      [AV_PIX_FMT_RGB48BE]     = { 1, 1 },
>      [AV_PIX_FMT_RGB48LE]     = { 1, 1 },
>      [AV_PIX_FMT_RGB565BE]    = { 1, 1 },

is this really enough to support new pixel formats? swscale can use
pixel format descriptor in the general scaler?


Janne
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to