Browse Source

lavu: add planar 16 bit and 8 bit rgb with alpha

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n2.0
Paul B Mahol 12 years ago
parent
commit
e6d4e68755
4 changed files with 47 additions and 2 deletions
  1. +39
    -0
      libavutil/pixdesc.c
  2. +3
    -0
      libavutil/pixfmt.h
  3. +2
    -2
      libavutil/version.h
  4. +3
    -0
      libswscale/utils.c

+ 39
- 0
libavutil/pixdesc.c View File

@@ -1653,6 +1653,45 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = PIX_FMT_BE | PIX_FMT_PLANAR | PIX_FMT_RGB,
},
[AV_PIX_FMT_GBRAP] = {
.name = "gbrap",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 0, 1, 0, 7 }, /* R */
{ 0, 0, 1, 0, 7 }, /* G */
{ 1, 0, 1, 0, 7 }, /* B */
{ 3, 0, 1, 0, 7 }, /* A */
},
.flags = PIX_FMT_PLANAR | PIX_FMT_RGB | PIX_FMT_ALPHA,
},
[AV_PIX_FMT_GBRAP16LE] = {
.name = "gbrap16le",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 1, 1, 0, 15 }, /* R */
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 3, 1, 1, 0, 15 }, /* A */
},
.flags = PIX_FMT_PLANAR | PIX_FMT_RGB | PIX_FMT_ALPHA,
},
[AV_PIX_FMT_GBRAP16BE] = {
.name = "gbrap16be",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 1, 1, 0, 15 }, /* R */
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 3, 1, 1, 0, 15 }, /* A */
},
.flags = PIX_FMT_BE | PIX_FMT_PLANAR | PIX_FMT_RGB | PIX_FMT_ALPHA,
},
[AV_PIX_FMT_VDPAU] = {
.name = "vdpau",
.log2_chroma_w = 1,


+ 3
- 0
libavutil/pixfmt.h View File

@@ -234,6 +234,9 @@ enum AVPixelFormat {
AV_PIX_FMT_GBRP12LE, ///< planar GBR 4:4:4 36bpp, little-endian
AV_PIX_FMT_GBRP14BE, ///< planar GBR 4:4:4 42bpp, big-endian
AV_PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little-endian
AV_PIX_FMT_GBRAP, ///< planar GBRA 4:4:4:4 32bpp
AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian
AV_PIX_FMT_GBRAP16LE, ///< planar GBRA 4:4:4:4 64bpp, little-endian
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


+ 2
- 2
libavutil/version.h View File

@@ -75,8 +75,8 @@
*/

#define LIBAVUTIL_VERSION_MAJOR 52
#define LIBAVUTIL_VERSION_MINOR 27
#define LIBAVUTIL_VERSION_MICRO 101
#define LIBAVUTIL_VERSION_MINOR 28
#define LIBAVUTIL_VERSION_MICRO 100

#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \


+ 3
- 0
libswscale/utils.c View File

@@ -198,6 +198,9 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_GBRP16BE] = { 1, 0 },
[AV_PIX_FMT_XYZ12BE] = { 1, 0 },
[AV_PIX_FMT_XYZ12LE] = { 1, 0 },
[AV_PIX_FMT_GBRAP] = { 0, 0 },
[AV_PIX_FMT_GBRAP16LE] = { 0, 0 },
[AV_PIX_FMT_GBRAP16BE] = { 0, 0 },
};

int sws_isSupportedInput(enum AVPixelFormat pix_fmt)


Loading…
Cancel
Save