On Wed, Sep 2, 2015 at 3:05 PM, wm4 <[email protected]> wrote: > On Wed, 2 Sep 2015 14:32:07 +0200 > Vittorio Giovara <[email protected]> wrote: > >> --- >> This could be interesting to mark gray pixel formats category. so that >> applications should be able to detect rgb/yuv/gray/mono color types only >> by looking at pixdesc.flags. >> >> I'll add version bump and doc at commit time, if this patch is deemed useful >> Vittorio >> >> libavutil/pixdesc.c | 11 ++++++----- >> libavutil/pixdesc.h | 4 ++++ >> 2 files changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c >> index 14f84d7..082a041 100644 >> --- a/libavutil/pixdesc.c >> +++ b/libavutil/pixdesc.c >> @@ -244,7 +244,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> .comp = { >> { 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */ >> }, >> - .flags = AV_PIX_FMT_FLAG_PSEUDOPAL, >> + .flags = AV_PIX_FMT_FLAG_PSEUDOPAL | AV_PIX_FMT_FLAG_GRAY, >> .alias = "gray8,y8", >> }, >> [AV_PIX_FMT_MONOWHITE] = { >> @@ -501,7 +501,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> .comp = { >> { 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */ >> }, >> - .flags = AV_PIX_FMT_FLAG_BE, >> + .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_GRAY, >> .alias = "y16be", >> }, >> [AV_PIX_FMT_GRAY16LE] = { >> @@ -512,6 +512,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> .comp = { >> { 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */ >> }, >> + .flags = AV_PIX_FMT_FLAG_GRAY, >> .alias = "y16le", >> }, >> [AV_PIX_FMT_YUV440P] = { >> @@ -1352,7 +1353,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> { 0, 2, 0, 0, 8, 1, 7, 1 }, /* Y */ >> { 0, 2, 1, 0, 8, 1, 7, 2 }, /* A */ >> }, >> - .flags = AV_PIX_FMT_FLAG_ALPHA, >> + .flags = AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_GRAY, >> .alias = "gray8a", >> }, >> [AV_PIX_FMT_YA16LE] = { >> @@ -1362,7 +1363,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> { 0, 4, 0, 0, 16, 3, 15, 1 }, /* Y */ >> { 0, 4, 2, 0, 16, 3, 15, 3 }, /* A */ >> }, >> - .flags = AV_PIX_FMT_FLAG_ALPHA, >> + .flags = AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_GRAY, >> }, >> [AV_PIX_FMT_YA16BE] = { >> .name = "ya16be", >> @@ -1371,7 +1372,7 @@ static const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> { 0, 4, 0, 0, 16, 3, 15, 1 }, /* Y */ >> { 0, 4, 2, 0, 16, 3, 15, 3 }, /* A */ >> }, >> - .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA, >> + .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA | >> AV_PIX_FMT_FLAG_GRAY, >> }, >> [AV_PIX_FMT_GBRP] = { >> .name = "gbrp", >> diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h >> index ea84fd3..7ebec09 100644 >> --- a/libavutil/pixdesc.h >> +++ b/libavutil/pixdesc.h >> @@ -151,6 +151,10 @@ typedef struct AVPixFmtDescriptor { >> * The pixel format has an alpha channel. >> */ >> #define AV_PIX_FMT_FLAG_ALPHA (1 << 7) >> +/** >> + * The pixel format is grayscale. >> + */ >> +#define AV_PIX_FMT_FLAG_GRAY (1 << 8) >> >> /** >> * Read a line from an image, and write the values of the > > Seems like a good idea. Maybe it could say that the first component > always contains the gray? And maybe that an external range flag > controls whether it's full range or not?
sure, i'll send an updated version for this one, thanks for your review -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
