mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-05-17 06:58:45 +08:00
pixfmt: add AV_PIX_FMT_GBRAP32
This commit adds a 32-bit *integer* planar RGBA format. Vulkan FFv1 decoding is best performed on separate planes, rather than packed RGBA (i.e. RGBA128), hence this is useful as an intermediate format.
This commit is contained in:
@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2025-03-17 - xxxxxxxxxx - lavu 59.60.100 - pixfmt.h
|
||||
Add AV_PIX_FMT_GBRAP32BE and AV_PIX_FMT_GBRAP32LE.
|
||||
|
||||
2025-03-10 - xxxxxxxxxx - lavu 59.59.100 - pixfmt.h
|
||||
Add AV_PIX_FMT_YAF16BE, AV_PIX_FMT_YAF16LE, AV_PIX_FMT_YAF32BE,
|
||||
and AV_PIX_FMT_YAF32LE.
|
||||
|
@ -1991,6 +1991,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
|
||||
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
|
||||
AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
|
||||
},
|
||||
[AV_PIX_FMT_GBRAP32LE] = {
|
||||
.name = "gbrap32le",
|
||||
.nb_components = 4,
|
||||
.log2_chroma_w = 0,
|
||||
.log2_chroma_h = 0,
|
||||
.comp = {
|
||||
{ 2, 4, 0, 0, 32 }, /* R */
|
||||
{ 0, 4, 0, 0, 32 }, /* G */
|
||||
{ 1, 4, 0, 0, 32 }, /* B */
|
||||
{ 3, 4, 0, 0, 32 }, /* A */
|
||||
},
|
||||
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
|
||||
AV_PIX_FMT_FLAG_ALPHA,
|
||||
},
|
||||
[AV_PIX_FMT_GBRAP32BE] = {
|
||||
.name = "gbrap32be",
|
||||
.nb_components = 4,
|
||||
.log2_chroma_w = 0,
|
||||
.log2_chroma_h = 0,
|
||||
.comp = {
|
||||
{ 2, 4, 0, 0, 32 }, /* R */
|
||||
{ 0, 4, 0, 0, 32 }, /* G */
|
||||
{ 1, 4, 0, 0, 32 }, /* B */
|
||||
{ 3, 4, 0, 0, 32 }, /* A */
|
||||
},
|
||||
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
|
||||
AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
|
||||
},
|
||||
[AV_PIX_FMT_VDPAU] = {
|
||||
.name = "vdpau",
|
||||
.log2_chroma_w = 1,
|
||||
|
@ -485,6 +485,9 @@ enum AVPixelFormat {
|
||||
AV_PIX_FMT_YAF16BE, ///< IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, big-endian
|
||||
AV_PIX_FMT_YAF16LE, ///< IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, little-endian
|
||||
|
||||
AV_PIX_FMT_GBRAP32BE, ///< planar GBRA 4:4:4:4 128bpp, big-endian
|
||||
AV_PIX_FMT_GBRAP32LE, ///< planar GBRA 4:4:4:4 128bpp, 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
|
||||
};
|
||||
|
||||
@ -546,6 +549,7 @@ enum AVPixelFormat {
|
||||
#define AV_PIX_FMT_GBRAP12 AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE)
|
||||
#define AV_PIX_FMT_GBRAP14 AV_PIX_FMT_NE(GBRAP14BE, GBRAP14LE)
|
||||
#define AV_PIX_FMT_GBRAP16 AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)
|
||||
#define AV_PIX_FMT_GBRAP32 AV_PIX_FMT_NE(GBRAP32BE, GBRAP32LE)
|
||||
|
||||
#define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)
|
||||
#define AV_PIX_FMT_BAYER_RGGB16 AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE)
|
||||
|
@ -79,7 +79,7 @@
|
||||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 59
|
||||
#define LIBAVUTIL_VERSION_MINOR 59
|
||||
#define LIBAVUTIL_VERSION_MINOR 60
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
@ -296,6 +296,8 @@ yaf32be planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0
|
||||
yaf32le planes: 1, linesizes: 512 0 0 0, plane_sizes: 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576
|
||||
yaf16be planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
|
||||
yaf16le planes: 1, linesizes: 256 0 0 0, plane_sizes: 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288
|
||||
gbrap32be planes: 4, linesizes: 256 256 256 256, plane_sizes: 12288 12288 12288 12288, plane_offsets: 12288 12288 12288, total_size: 49152
|
||||
gbrap32le planes: 4, linesizes: 256 256 256 256, plane_sizes: 12288 12288 12288 12288, plane_offsets: 12288 12288 12288, total_size: 49152
|
||||
|
||||
image_fill_black tests
|
||||
yuv420p total_size: 4608, black_unknown_crc: 0xd00f6cc6, black_tv_crc: 0xd00f6cc6, black_pc_crc: 0x234969af
|
||||
@ -539,3 +541,5 @@ yaf32be total_size: 24576, black_unknown_crc: 0xa3dc1529, black_tv_cr
|
||||
yaf32le total_size: 24576, black_unknown_crc: 0xfd900236, black_tv_crc: 0xfd900236, black_pc_crc: 0xdcaf0cb1
|
||||
yaf16be total_size: 12288, black_unknown_crc: 0x7afe9aae, black_tv_crc: 0x7afe9aae, black_pc_crc: 0x0fc0a5d0
|
||||
yaf16le total_size: 12288, black_unknown_crc: 0x94c0068b, black_tv_crc: 0x94c0068b, black_pc_crc: 0xc05ce449
|
||||
gbrap32be total_size: 49152, black_unknown_crc: 0x7bd30c95, black_tv_crc: 0x7bd30c95, black_pc_crc: 0x7bd30c95
|
||||
gbrap32le total_size: 49152, black_unknown_crc: 0x7bd30c95, black_tv_crc: 0x7bd30c95, black_pc_crc: 0x7bd30c95
|
||||
|
@ -165,6 +165,7 @@ isBE:
|
||||
gbrap12be
|
||||
gbrap14be
|
||||
gbrap16be
|
||||
gbrap32be
|
||||
gbrapf16be
|
||||
gbrapf32be
|
||||
gbrp10be
|
||||
@ -541,6 +542,8 @@ isRGB:
|
||||
gbrap14le
|
||||
gbrap16be
|
||||
gbrap16le
|
||||
gbrap32be
|
||||
gbrap32le
|
||||
gbrapf16be
|
||||
gbrapf16le
|
||||
gbrapf32be
|
||||
@ -715,6 +718,8 @@ AnyRGB:
|
||||
gbrap14le
|
||||
gbrap16be
|
||||
gbrap16le
|
||||
gbrap32be
|
||||
gbrap32le
|
||||
gbrapf16be
|
||||
gbrapf16le
|
||||
gbrapf32be
|
||||
@ -787,6 +792,8 @@ ALPHA:
|
||||
gbrap14le
|
||||
gbrap16be
|
||||
gbrap16le
|
||||
gbrap32be
|
||||
gbrap32le
|
||||
gbrapf16be
|
||||
gbrapf16le
|
||||
gbrapf32be
|
||||
@ -950,6 +957,8 @@ Planar:
|
||||
gbrap14le
|
||||
gbrap16be
|
||||
gbrap16le
|
||||
gbrap32be
|
||||
gbrap32le
|
||||
gbrapf16be
|
||||
gbrapf16le
|
||||
gbrapf32be
|
||||
@ -1141,6 +1150,8 @@ PlanarRGB:
|
||||
gbrap14le
|
||||
gbrap16be
|
||||
gbrap16le
|
||||
gbrap32be
|
||||
gbrap32le
|
||||
gbrapf16be
|
||||
gbrapf16le
|
||||
gbrapf32be
|
||||
|
Reference in New Issue
Block a user