ffmpeg | branch: master | wm4 <nfx...@googlemail.com> | Tue Feb 10 12:18:13 2015 +0100| [c247fc63e4dcf49995f5ba14021d0dfea6737b74] | committer: Michael Niedermayer
pixdesc: clarify AV_PIX_FMT_FLAG_ALPHA doxygen Also make clear that PAL8 can have alpha. Signed-off-by: Michael Niedermayer <michae...@gmx.at> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c247fc63e4dcf49995f5ba14021d0dfea6737b74 --- libavutil/pixdesc.h | 13 ++++++++++++- libavutil/pixfmt.h | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h index c8e3251..c4d0548 100644 --- a/libavutil/pixdesc.h +++ b/libavutil/pixdesc.h @@ -139,8 +139,19 @@ typedef struct AVPixFmtDescriptor { * An example of a pseudo-paletted format is AV_PIX_FMT_GRAY8 */ #define AV_PIX_FMT_FLAG_PSEUDOPAL (1 << 6) + /** - * The pixel format has an alpha channel. + * The pixel format has an alpha channel. This is set on all formats that + * support alpha in some way. The exception is AV_PIX_FMT_PAL8, which can + * carry alpha as part of the palette. Details are explained in the + * AVPixelFormat enum, and are also encoded in the corresponding + * AVPixFmtDescriptor. + * + * The alpha is always straight, never pre-multiplied. + * + * If a codec or a filter does not support alpha, it should set all alpha to + * opaque, or use the equivalent pixel formats without alpha component, e.g. + * AV_PIX_FMT_RGB0 (or AV_PIX_FMT_RGB24 etc.) instead of AV_PIX_FMT_RGBA. */ #define AV_PIX_FMT_FLAG_ALPHA (1 << 7) diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 5d443ce..73d4cc9 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -44,11 +44,11 @@ * big-endian CPUs. * * @par - * When the pixel format is palettized RGB (AV_PIX_FMT_PAL8), the palettized + * When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized * image data is stored in AVFrame.data[0]. The palette is transported in * AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is * formatted the same as in AV_PIX_FMT_RGB32 described above (i.e., it is - * also endian-specific). Note also that the individual RGB palette + * also endian-specific). Note also that the individual RGB32 palette * components stored in AVFrame.data[1] should be in the range 0..255. * This is important as many custom PAL8 video codecs that were designed * to run on the IBM VGA graphics adapter use 6-bit palette components. _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog