> -----Original Message----- > From: Wang, Fei W <fei.w.w...@intel.com> > Sent: Wednesday, April 22, 2020 1:23 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Wang, Fei W <fei.w.w...@intel.com> > Subject: [PATCH v2 1/3] lavu/pix_fmt: add new pixel format x2rgb10 > > The format is packed RGB with each channel 10 bits available and include 2 > bits unused. > > Signed-off-by: Fei Wang <fei.w.w...@intel.com> > --- > libavutil/pixdesc.c | 24 ++++++++++++++++++++++++ > libavutil/pixfmt.h | 3 +++ > libavutil/version.h | 2 +- > tests/ref/fate/filter-pixdesc-x2rgb10le | 1 + > tests/ref/fate/sws-pixdesc-query | 11 +++++++++++ > 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 > tests/ref/fate/filter-pixdesc-x2rgb10le > > diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 9d61c52..23ec1ab > 100644 > --- a/libavutil/pixdesc.c > +++ b/libavutil/pixdesc.c > @@ -252,6 +252,30 @@ static const AVPixFmtDescriptor > av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { > }, > .flags = AV_PIX_FMT_FLAG_RGB, > }, > + [AV_PIX_FMT_X2RGB10LE] = { > + .name = "x2rgb10le", > + .nb_components= 3, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 4, 2, 4, 10, 3, 9, 2 }, /* R */ > + { 0, 4, 1, 2, 10, 3, 9, 3 }, /* G */ > + { 0, 4, 0, 0, 10, 3, 9, 4 }, /* B */ > + }, > + .flags = AV_PIX_FMT_FLAG_RGB, > + }, > + [AV_PIX_FMT_X2RGB10BE] = { > + .name = "x2rgb10be", > + .nb_components= 3, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 4, 0, 4, 10, 3, 9, 2 }, /* R */ > + { 0, 4, 1, 2, 10, 3, 9, 3 }, /* G */ > + { 0, 4, 2, 0, 10, 3, 9, 4 }, /* B */ > + }, > + .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE, > + }, > [AV_PIX_FMT_YUV422P] = { > .name = "yuv422p", > .nb_components = 3, > diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 1c625cf..71058d7 > 100644 > --- a/libavutil/pixfmt.h > +++ b/libavutil/pixfmt.h > @@ -358,6 +358,8 @@ enum AVPixelFormat { > AV_PIX_FMT_Y210BE, ///< packed YUV 4:2:2 like YUYV422, 20bpp, data > in the high bits, big-endian > AV_PIX_FMT_Y210LE, ///< packed YUV 4:2:2 like YUYV422, 20bpp, data > in the high bits, little-endian > > + AV_PIX_FMT_X2RGB10LE, ///< packed RGB 10:10:10, 30bpp, (msb)2X > 10R 10G 10B(lsb), little-endian, X=unused/undefined > + AV_PIX_FMT_X2RGB10BE, ///< packed RGB 10:10:10, 30bpp, (msb)2X > 10R 10G 10B(lsb), big-endian, X=unused/undefined > 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 > }; > > @@ -447,6 +449,7 @@ enum AVPixelFormat { > #define AV_PIX_FMT_P016 AV_PIX_FMT_NE(P016BE, P016LE) > > #define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE) > +#define AV_PIX_FMT_X2RGB10 AV_PIX_FMT_NE(X2RGB10BE, > X2RGB10LE) > > /** > * Chromaticity coordinates of the source primaries. > diff --git a/libavutil/version.h b/libavutil/version.h index 70836a5..e4fa0a9 > 100644 > --- a/libavutil/version.h > +++ b/libavutil/version.h > @@ -79,7 +79,7 @@ > */ > > #define LIBAVUTIL_VERSION_MAJOR 56 > -#define LIBAVUTIL_VERSION_MINOR 42 > +#define LIBAVUTIL_VERSION_MINOR 43 > #define LIBAVUTIL_VERSION_MICRO 102 > > #define LIBAVUTIL_VERSION_INT > AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ > diff --git a/tests/ref/fate/filter-pixdesc-x2rgb10le b/tests/ref/fate/filter- > pixdesc-x2rgb10le > new file mode 100644 > index 0000000..94c8640 > --- /dev/null > +++ b/tests/ref/fate/filter-pixdesc-x2rgb10le > @@ -0,0 +1 @@ > +pixdesc-x2rgb10le 98d697ed4668daf535163d5e08c903bb > diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc- > query > index bc9a0d8..c3cccfa 100644 > --- a/tests/ref/fate/sws-pixdesc-query > +++ b/tests/ref/fate/sws-pixdesc-query > @@ -57,6 +57,8 @@ isNBPS: > nv20le > p010be > p010le > + x2rgb10be > + x2rgb10le > xyz12be > xyz12le > y210be > @@ -141,6 +143,7 @@ isBE: > rgb555be > rgb565be > rgba64be > + x2rgb10be > xyz12be > y210be > ya16be > @@ -436,6 +439,8 @@ isRGB: > rgb8 > rgba64be > rgba64le > + x2rgb10be > + x2rgb10le > > Gray: > gray > @@ -582,6 +587,8 @@ AnyRGB: > rgb8 > rgba64be > rgba64le > + x2rgb10be > + x2rgb10le > > ALPHA: > ayuv64be > @@ -689,6 +696,8 @@ Packed: > rgba64le > uyvy422 > uyyvyy411 > + x2rgb10be > + x2rgb10le > xyz12be > xyz12le > y210be > @@ -853,6 +862,8 @@ PackedRGB: > rgb8 > rgba64be > rgba64le > + x2rgb10be > + x2rgb10le > > PlanarRGB: > gbrap > -- > 2.7.4 V2: fixed FATE fail for separate patch in this patch series.
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".