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