From 0be700145c3b1e38e41cf4e1c649c5da8247c90c Mon Sep 17 00:00:00 2001 From: k-m_schindler Date: Tue, 24 Dec 2013 00:40:39 +0000 Subject: working on the libavutil files. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3048 b956fd51-792f-4845-bead-9b4dfca2ff2c --- src/lib/ffmpeg-2.1/libavutil/pixfmt.pas | 87 ++++++++++++++++++++++++++++----- 1 file changed, 76 insertions(+), 11 deletions(-) (limited to 'src/lib/ffmpeg-2.1/libavutil/pixfmt.pas') diff --git a/src/lib/ffmpeg-2.1/libavutil/pixfmt.pas b/src/lib/ffmpeg-2.1/libavutil/pixfmt.pas index c80e13d1..da672735 100644 --- a/src/lib/ffmpeg-2.1/libavutil/pixfmt.pas +++ b/src/lib/ffmpeg-2.1/libavutil/pixfmt.pas @@ -19,7 +19,7 @@ * - Changes and updates by the UltraStar Deluxe Team * * Conversion of libavutil/pixfmt.h - * avutil version 52.38.100 + * avutil version 52.48.100 * *) @@ -37,17 +37,17 @@ type * Pixel format. Notes: * * @note - * PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA + * AV_PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA * color is put together as: * (A << 24) | (R << 16) | (G << 8) | B * This is stored as BGRA on little-endian CPU architectures and ARGB on * big-endian CPUs. * * @par - * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized + * When the pixel format is palettized RGB (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 PIX_FMT_RGB32 described above (i.e., it 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 * 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 @@ -59,9 +59,9 @@ type * allocating the picture. * * @note - * make sure that all newly added big endian formats have pix_fmt&1==1 - * and that all newly added little endian formats have pix_fmt&1==0 - * this allows simpler detection of big vs little endian. + * Make sure that all newly added big-endian formats have (pix_fmt & 1) == 1 + * and that all newly added little-endian formats have (pix_fmt & 1) == 0. + * This allows simpler detection of big vs little-endian. *) PAVPixelFormat = ^TAVPixelFormat; @@ -144,9 +144,11 @@ type AV_PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian AV_PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian - //the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus - //If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately - //is better + (** + * The following 12 formats have the disadvantage of needing 1 format for each bit depth. + * Notice that each 9/10 bits sample is stored in 16 bits with extra padding. + * If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately is better. + *) AV_PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian AV_PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian AV_PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian @@ -204,6 +206,12 @@ type AV_PIX_FMT_VDPAU, ///< HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface + AV_PIX_FMT_XYZ12LE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0 + AV_PIX_FMT_XYZ12BE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0 + AV_PIX_FMT_NV16, ///< interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) + AV_PIX_FMT_NV20LE, ///< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_NV20BE, ///< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + {$IFNDEF AV_PIX_FMT_ABI_GIT_MASTER} AV_PIX_FMT_RGBA64BE = $123, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian AV_PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian @@ -233,11 +241,28 @@ type 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_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of PIX_FMT_YUV411P and setting color_range + + AV_PIX_FMT_BAYER_BGGR8, ///< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_RGGB8, ///< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_GBRG8, ///< bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_GRBG8, ///< bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_BGGR16LE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_BGGR16BE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_RGGB16LE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_RGGB16BE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_GBRG16LE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_GBRG16BE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_GRBG16LE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_GRBG16BE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-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 ); -{$IFDEF AV_HAVE_INCOMPATIBLE_FORK_ABI} +{$IFDEF AV_HAVE_INCOMPATIBLE_LIBAV_ABI} const AV_PIX_FMT_YUVA422P = AV_PIX_FMT_YUVA422P_LIBAV; AV_PIX_FMT_YUVA444P = AV_PIX_FMT_YUVA444P_LIBAV; @@ -288,6 +313,26 @@ const AV_PIX_FMT_GBRP12 = AV_PIX_FMT_GBRP12BE; AV_PIX_FMT_GBRP14 = AV_PIX_FMT_GBRP14BE; AV_PIX_FMT_GBRP16 = AV_PIX_FMT_GBRP16BE; + AV_PIX_FMT_GBRAP16 = AV_PIX_FMT_GBRAP16BE; + + AV_PIX_FMT_BAYER_BGGR16 = AV_PIX_FMT_BAYER_BGGR16BE; + AV_PIX_FMT_BAYER_RGGB16 = AV_PIX_FMT_BAYER_RGGB16BE; + AV_PIX_FMT_BAYER_GBRG16 = AV_PIX_FMT_BAYER_GBRG16BE; + AV_PIX_FMT_BAYER_GRBG16 = AV_PIX_FMT_BAYER_GRBG16BE; + + AV_PIX_FMT_YUVA420P9 = AV_PIX_FMT_YUVA420P9BE; + AV_PIX_FMT_YUVA422P9 = AV_PIX_FMT_YUVA422P9BE; + AV_PIX_FMT_YUVA444P9 = AV_PIX_FMT_YUVA444P9BE; + AV_PIX_FMT_YUVA420P10 = AV_PIX_FMT_YUVA420P10BE; + AV_PIX_FMT_YUVA422P10 = AV_PIX_FMT_YUVA422P10BE; + AV_PIX_FMT_YUVA444P10 = AV_PIX_FMT_YUVA444P10BE; + AV_PIX_FMT_YUVA420P16 = AV_PIX_FMT_YUVA420P16BE; + AV_PIX_FMT_YUVA422P16 = AV_PIX_FMT_YUVA422P16BE; + AV_PIX_FMT_YUVA444P16 = AV_PIX_FMT_YUVA444P16BE; + + AV_PIX_FMT_XYZ12 = AV_PIX_FMT_XYZ12BE; + AV_PIX_FMT_NV20 = AV_PIX_FMT_NV20BE; + {$ELSE} AV_PIX_FMT_RGB32 = AV_PIX_FMT_BGRA; AV_PIX_FMT_RGB32_1 = AV_PIX_FMT_ABGR; @@ -329,6 +374,26 @@ const AV_PIX_FMT_GBRP12 = AV_PIX_FMT_GBRP12LE; AV_PIX_FMT_GBRP14 = AV_PIX_FMT_GBRP14LE; AV_PIX_FMT_GBRP16 = AV_PIX_FMT_GBRP16LE; + AV_PIX_FMT_GBRAP16 = AV_PIX_FMT_GBRAP16LE; + + AV_PIX_FMT_BAYER_BGGR16 = AV_PIX_FMT_BAYER_BGGR16LE; + AV_PIX_FMT_BAYER_RGGB16 = AV_PIX_FMT_BAYER_RGGB16LE; + AV_PIX_FMT_BAYER_GBRG16 = AV_PIX_FMT_BAYER_GBRG16LE; + AV_PIX_FMT_BAYER_GRBG16 = AV_PIX_FMT_BAYER_GRBG16LE; + + AV_PIX_FMT_YUVA420P9 = AV_PIX_FMT_YUVA420P9LE; + AV_PIX_FMT_YUVA422P9 = AV_PIX_FMT_YUVA422P9LE; + AV_PIX_FMT_YUVA444P9 = AV_PIX_FMT_YUVA444P9LE; + AV_PIX_FMT_YUVA420P10 = AV_PIX_FMT_YUVA420P10LE; + AV_PIX_FMT_YUVA422P10 = AV_PIX_FMT_YUVA422P10LE; + AV_PIX_FMT_YUVA444P10 = AV_PIX_FMT_YUVA444P10LE; + AV_PIX_FMT_YUVA420P16 = AV_PIX_FMT_YUVA420P16LE; + AV_PIX_FMT_YUVA422P16 = AV_PIX_FMT_YUVA422P16LE; + AV_PIX_FMT_YUVA444P16 = AV_PIX_FMT_YUVA444P16LE; + + AV_PIX_FMT_XYZ12 = AV_PIX_FMT_XYZ12LE; + AV_PIX_FMT_NV20 = AV_PIX_FMT_NV20LE; + {$ENDIF} {$IFDEF FF_API_PIX_FMT} -- cgit v1.2.3