misc/winutils/include/libavutil/pixfmt.h
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14844 e239378a9400
parent 7813 7ac83d79b897
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7813
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     1
/*
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     2
 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     3
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     4
 * This file is part of Libav.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     5
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     6
 * Libav is free software; you can redistribute it and/or
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     7
 * modify it under the terms of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     8
 * License as published by the Free Software Foundation; either
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     9
 * version 2.1 of the License, or (at your option) any later version.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    10
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    11
 * Libav is distributed in the hope that it will be useful,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    14
 * Lesser General Public License for more details.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    15
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    16
 * You should have received a copy of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    17
 * License along with Libav; if not, write to the Free Software
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    19
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    20
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    21
#ifndef AVUTIL_PIXFMT_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    22
#define AVUTIL_PIXFMT_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    23
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    24
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    25
 * @file
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    26
 * pixel format definitions
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    27
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    28
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    29
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    30
#include "libavutil/avconfig.h"
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    31
#include "libavutil/version.h"
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    32
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    33
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    34
 * Pixel format.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    35
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    36
 * @note
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    37
 * PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    38
 * color is put together as:
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    39
 *  (A << 24) | (R << 16) | (G << 8) | B
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    40
 * This is stored as BGRA on little-endian CPU architectures and ARGB on
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    41
 * big-endian CPUs.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    42
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    43
 * @par
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    44
 * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    45
 * image data is stored in AVFrame.data[0]. The palette is transported in
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    46
 * AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    47
 * formatted the same as in PIX_FMT_RGB32 described above (i.e., it is
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    48
 * also endian-specific). Note also that the individual RGB palette
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    49
 * components stored in AVFrame.data[1] should be in the range 0..255.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    50
 * This is important as many custom PAL8 video codecs that were designed
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    51
 * to run on the IBM VGA graphics adapter use 6-bit palette components.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    52
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    53
 * @par
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    54
 * For all the 8bit per pixel formats, an RGB32 palette is in data[1] like
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    55
 * for pal8. This palette is filled in automatically by the function
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    56
 * allocating the picture.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    57
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    58
 * @note
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    59
 * make sure that all newly added big endian formats have pix_fmt&1==1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    60
 * and that all newly added little endian formats have pix_fmt&1==0
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    61
 * this allows simpler detection of big vs little endian.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    62
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    63
enum AVPixelFormat {
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    64
    AV_PIX_FMT_NONE = -1,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    65
    AV_PIX_FMT_YUV420P,   ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    66
    AV_PIX_FMT_YUYV422,   ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    67
    AV_PIX_FMT_RGB24,     ///< packed RGB 8:8:8, 24bpp, RGBRGB...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    68
    AV_PIX_FMT_BGR24,     ///< packed RGB 8:8:8, 24bpp, BGRBGR...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    69
    AV_PIX_FMT_YUV422P,   ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    70
    AV_PIX_FMT_YUV444P,   ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    71
    AV_PIX_FMT_YUV410P,   ///< planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    72
    AV_PIX_FMT_YUV411P,   ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    73
    AV_PIX_FMT_GRAY8,     ///<        Y        ,  8bpp
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    74
    AV_PIX_FMT_MONOWHITE, ///<        Y        ,  1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    75
    AV_PIX_FMT_MONOBLACK, ///<        Y        ,  1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    76
    AV_PIX_FMT_PAL8,      ///< 8 bit with PIX_FMT_RGB32 palette
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    77
    AV_PIX_FMT_YUVJ420P,  ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    78
    AV_PIX_FMT_YUVJ422P,  ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    79
    AV_PIX_FMT_YUVJ444P,  ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    80
    AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    81
    AV_PIX_FMT_XVMC_MPEG2_IDCT,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    82
    AV_PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    83
    AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    84
    AV_PIX_FMT_BGR8,      ///< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    85
    AV_PIX_FMT_BGR4,      ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    86
    AV_PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    87
    AV_PIX_FMT_RGB8,      ///< packed RGB 3:3:2,  8bpp, (msb)2R 3G 3B(lsb)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    88
    AV_PIX_FMT_RGB4,      ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    89
    AV_PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    90
    AV_PIX_FMT_NV12,      ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    91
    AV_PIX_FMT_NV21,      ///< as above, but U and V bytes are swapped
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    92
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    93
    AV_PIX_FMT_ARGB,      ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    94
    AV_PIX_FMT_RGBA,      ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    95
    AV_PIX_FMT_ABGR,      ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    96
    AV_PIX_FMT_BGRA,      ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    97
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    98
    AV_PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    99
    AV_PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   100
    AV_PIX_FMT_YUV440P,   ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   101
    AV_PIX_FMT_YUVJ440P,  ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   102
    AV_PIX_FMT_YUVA420P,  ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   103
    AV_PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   104
    AV_PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   105
    AV_PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   106
    AV_PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   107
    AV_PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   108
    AV_PIX_FMT_RGB48BE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   109
    AV_PIX_FMT_RGB48LE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   110
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   111
    AV_PIX_FMT_RGB565BE,  ///< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   112
    AV_PIX_FMT_RGB565LE,  ///< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   113
    AV_PIX_FMT_RGB555BE,  ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   114
    AV_PIX_FMT_RGB555LE,  ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   115
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   116
    AV_PIX_FMT_BGR565BE,  ///< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   117
    AV_PIX_FMT_BGR565LE,  ///< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   118
    AV_PIX_FMT_BGR555BE,  ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   119
    AV_PIX_FMT_BGR555LE,  ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   120
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   121
    AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   122
    AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   123
    AV_PIX_FMT_VAAPI_VLD,  ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   124
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   125
    AV_PIX_FMT_YUV420P16LE,  ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   126
    AV_PIX_FMT_YUV420P16BE,  ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   127
    AV_PIX_FMT_YUV422P16LE,  ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   128
    AV_PIX_FMT_YUV422P16BE,  ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   129
    AV_PIX_FMT_YUV444P16LE,  ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   130
    AV_PIX_FMT_YUV444P16BE,  ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   131
    AV_PIX_FMT_VDPAU_MPEG4,  ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   132
    AV_PIX_FMT_DXVA2_VLD,    ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   133
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   134
    AV_PIX_FMT_RGB444LE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   135
    AV_PIX_FMT_RGB444BE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   136
    AV_PIX_FMT_BGR444LE,  ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   137
    AV_PIX_FMT_BGR444BE,  ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   138
    AV_PIX_FMT_Y400A,     ///< 8bit gray, 8bit alpha
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   139
    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
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   140
    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
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   141
    AV_PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   142
    AV_PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   143
    AV_PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   144
    AV_PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   145
    AV_PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   146
    AV_PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   147
    AV_PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   148
    AV_PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   149
    AV_PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   150
    AV_PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   151
    AV_PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   152
    AV_PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   153
    AV_PIX_FMT_VDA_VLD,    ///< hardware decoding through VDA
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   154
    AV_PIX_FMT_GBRP,      ///< planar GBR 4:4:4 24bpp
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   155
    AV_PIX_FMT_GBRP9BE,   ///< planar GBR 4:4:4 27bpp, big endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   156
    AV_PIX_FMT_GBRP9LE,   ///< planar GBR 4:4:4 27bpp, little endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   157
    AV_PIX_FMT_GBRP10BE,  ///< planar GBR 4:4:4 30bpp, big endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   158
    AV_PIX_FMT_GBRP10LE,  ///< planar GBR 4:4:4 30bpp, little endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   159
    AV_PIX_FMT_GBRP16BE,  ///< planar GBR 4:4:4 48bpp, big endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   160
    AV_PIX_FMT_GBRP16LE,  ///< planar GBR 4:4:4 48bpp, little endian
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   161
    AV_PIX_FMT_YUVA422P,  ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   162
    AV_PIX_FMT_YUVA444P,  ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   163
    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
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   164
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   165
#if FF_API_PIX_FMT
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   166
#include "old_pix_fmts.h"
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   167
#endif
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   168
};
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   169
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   170
#if AV_HAVE_BIGENDIAN
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   171
#   define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   172
#else
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   173
#   define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   174
#endif
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   175
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   176
#define AV_PIX_FMT_RGB32   AV_PIX_FMT_NE(ARGB, BGRA)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   177
#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   178
#define AV_PIX_FMT_BGR32   AV_PIX_FMT_NE(ABGR, RGBA)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   179
#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   180
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   181
#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   182
#define AV_PIX_FMT_RGB48  AV_PIX_FMT_NE(RGB48BE,  RGB48LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   183
#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   184
#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   185
#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   186
#define AV_PIX_FMT_BGR48  AV_PIX_FMT_NE(BGR48BE,  BGR48LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   187
#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   188
#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   189
#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   190
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   191
#define AV_PIX_FMT_YUV420P9  AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   192
#define AV_PIX_FMT_YUV422P9  AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   193
#define AV_PIX_FMT_YUV444P9  AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   194
#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   195
#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   196
#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   197
#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   198
#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   199
#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   200
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   201
#define AV_PIX_FMT_GBRP9     AV_PIX_FMT_NE(GBRP9BE ,    GBRP9LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   202
#define AV_PIX_FMT_GBRP10    AV_PIX_FMT_NE(GBRP10BE,    GBRP10LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   203
#define AV_PIX_FMT_GBRP16    AV_PIX_FMT_NE(GBRP16BE,    GBRP16LE)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   204
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   205
#if FF_API_PIX_FMT
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   206
#define PixelFormat AVPixelFormat
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   207
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   208
#define PIX_FMT_NE(be, le) AV_PIX_FMT_NE(be, le)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   209
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   210
#define PIX_FMT_RGB32   AV_PIX_FMT_RGB32
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   211
#define PIX_FMT_RGB32_1 AV_PIX_FMT_RGB32_1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   212
#define PIX_FMT_BGR32   AV_PIX_FMT_BGR32
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   213
#define PIX_FMT_BGR32_1 AV_PIX_FMT_BGR32_1
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   214
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   215
#define PIX_FMT_GRAY16 AV_PIX_FMT_GRAY16
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   216
#define PIX_FMT_RGB48  AV_PIX_FMT_RGB48
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   217
#define PIX_FMT_RGB565 AV_PIX_FMT_RGB565
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   218
#define PIX_FMT_RGB555 AV_PIX_FMT_RGB555
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   219
#define PIX_FMT_RGB444 AV_PIX_FMT_RGB444
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   220
#define PIX_FMT_BGR48  AV_PIX_FMT_BGR48
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   221
#define PIX_FMT_BGR565 AV_PIX_FMT_BGR565
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   222
#define PIX_FMT_BGR555 AV_PIX_FMT_BGR555
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   223
#define PIX_FMT_BGR444 AV_PIX_FMT_BGR444
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   224
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   225
#define PIX_FMT_YUV420P9  AV_PIX_FMT_YUV420P9
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   226
#define PIX_FMT_YUV422P9  AV_PIX_FMT_YUV422P9
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   227
#define PIX_FMT_YUV444P9  AV_PIX_FMT_YUV444P9
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   228
#define PIX_FMT_YUV420P10 AV_PIX_FMT_YUV420P10
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   229
#define PIX_FMT_YUV422P10 AV_PIX_FMT_YUV422P10
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   230
#define PIX_FMT_YUV444P10 AV_PIX_FMT_YUV444P10
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   231
#define PIX_FMT_YUV420P16 AV_PIX_FMT_YUV420P16
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   232
#define PIX_FMT_YUV422P16 AV_PIX_FMT_YUV422P16
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   233
#define PIX_FMT_YUV444P16 AV_PIX_FMT_YUV444P16
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   234
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   235
#define PIX_FMT_GBRP9  AV_PIX_FMT_GBRP9
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   236
#define PIX_FMT_GBRP10 AV_PIX_FMT_GBRP10
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   237
#define PIX_FMT_GBRP16 AV_PIX_FMT_GBRP16
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   238
#endif
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   239
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   240
#endif /* AVUTIL_PIXFMT_H */