19 #ifndef MPLAYER_IMG_FORMAT_H 20 #define MPLAYER_IMG_FORMAT_H 26 #define IMGFMT_RGB_MASK 0xFFFFFF00 27 #define IMGFMT_RGB (('R'<<24)|('G'<<16)|('B'<<8)) 28 #define IMGFMT_RGB1 (IMGFMT_RGB|1) 29 #define IMGFMT_RGB4 (IMGFMT_RGB|4) 30 #define IMGFMT_RGB4_CHAR (IMGFMT_RGB|4|128) // RGB4 with 1 pixel per byte 31 #define IMGFMT_RGB8 (IMGFMT_RGB|8) 32 #define IMGFMT_RGB12 (IMGFMT_RGB|12) 33 #define IMGFMT_RGB15 (IMGFMT_RGB|15) 34 #define IMGFMT_RGB16 (IMGFMT_RGB|16) 35 #define IMGFMT_RGB24 (IMGFMT_RGB|24) 36 #define IMGFMT_RGB32 (IMGFMT_RGB|32) 37 #define IMGFMT_RGB48LE (IMGFMT_RGB|48) 38 #define IMGFMT_RGB48BE (IMGFMT_RGB|48|128) 39 #define IMGFMT_RGB64LE (IMGFMT_RGB|64) 40 #define IMGFMT_RGB64BE (IMGFMT_RGB|64|128) 42 #define IMGFMT_BGR_MASK 0xFFFFFF00 43 #define IMGFMT_BGR (('B'<<24)|('G'<<16)|('R'<<8)) 44 #define IMGFMT_BGR1 (IMGFMT_BGR|1) 45 #define IMGFMT_BGR4 (IMGFMT_BGR|4) 46 #define IMGFMT_BGR4_CHAR (IMGFMT_BGR|4|128) // BGR4 with 1 pixel per byte 47 #define IMGFMT_BGR8 (IMGFMT_BGR|8) 48 #define IMGFMT_BGR12 (IMGFMT_BGR|12) 49 #define IMGFMT_BGR15 (IMGFMT_BGR|15) 50 #define IMGFMT_BGR16 (IMGFMT_BGR|16) 51 #define IMGFMT_BGR24 (IMGFMT_BGR|24) 52 #define IMGFMT_BGR32 (IMGFMT_BGR|32) 54 #define IMGFMT_GBR24P (('G'<<24)|('B'<<16)|('R'<<8)|24) 55 #define IMGFMT_GBR12PLE (('G'<<24)|('B'<<16)|('R'<<8)|36) 56 #define IMGFMT_GBR12PBE (('G'<<24)|('B'<<16)|('R'<<8)|36|128) 57 #define IMGFMT_GBR14PLE (('G'<<24)|('B'<<16)|('R'<<8)|42) 58 #define IMGFMT_GBR14PBE (('G'<<24)|('B'<<16)|('R'<<8)|42|128) 61 #define IMGFMT_ABGR IMGFMT_RGB32 62 #define IMGFMT_BGRA (IMGFMT_RGB32|128) 63 #define IMGFMT_ARGB IMGFMT_BGR32 64 #define IMGFMT_RGBA (IMGFMT_BGR32|128) 65 #define IMGFMT_RGB64NE IMGFMT_RGB64BE 66 #define IMGFMT_RGB48NE IMGFMT_RGB48BE 67 #define IMGFMT_RGB12BE IMGFMT_RGB12 68 #define IMGFMT_RGB12LE (IMGFMT_RGB12|128) 69 #define IMGFMT_RGB15BE IMGFMT_RGB15 70 #define IMGFMT_RGB15LE (IMGFMT_RGB15|128) 71 #define IMGFMT_RGB16BE IMGFMT_RGB16 72 #define IMGFMT_RGB16LE (IMGFMT_RGB16|128) 73 #define IMGFMT_BGR12BE IMGFMT_BGR12 74 #define IMGFMT_BGR12LE (IMGFMT_BGR12|128) 75 #define IMGFMT_BGR15BE IMGFMT_BGR15 76 #define IMGFMT_BGR15LE (IMGFMT_BGR15|128) 77 #define IMGFMT_BGR16BE IMGFMT_BGR16 78 #define IMGFMT_BGR16LE (IMGFMT_BGR16|128) 79 #define IMGFMT_GBR12P IMGFMT_GBR12PBE 80 #define IMGFMT_GBR14P IMGFMT_GBR14PBE 82 #define IMGFMT_ABGR (IMGFMT_BGR32|128) 83 #define IMGFMT_BGRA IMGFMT_BGR32 84 #define IMGFMT_ARGB (IMGFMT_RGB32|128) 85 #define IMGFMT_RGBA IMGFMT_RGB32 86 #define IMGFMT_RGB64NE IMGFMT_RGB64LE 87 #define IMGFMT_RGB48NE IMGFMT_RGB48LE 88 #define IMGFMT_RGB12BE (IMGFMT_RGB12|128) 89 #define IMGFMT_RGB12LE IMGFMT_RGB12 90 #define IMGFMT_RGB15BE (IMGFMT_RGB15|128) 91 #define IMGFMT_RGB15LE IMGFMT_RGB15 92 #define IMGFMT_RGB16BE (IMGFMT_RGB16|128) 93 #define IMGFMT_RGB16LE IMGFMT_RGB16 94 #define IMGFMT_BGR12BE (IMGFMT_BGR12|128) 95 #define IMGFMT_BGR12LE IMGFMT_BGR12 96 #define IMGFMT_BGR15BE (IMGFMT_BGR15|128) 97 #define IMGFMT_BGR15LE IMGFMT_BGR15 98 #define IMGFMT_BGR16BE (IMGFMT_BGR16|128) 99 #define IMGFMT_BGR16LE IMGFMT_BGR16 100 #define IMGFMT_GBR12P IMGFMT_GBR12PLE 101 #define IMGFMT_GBR14P IMGFMT_GBR14PLE 105 #define IMGFMT_RG4B IMGFMT_RGB4_CHAR 106 #define IMGFMT_BG4B IMGFMT_BGR4_CHAR 108 #define IMGFMT_IS_RGB(fmt) (((fmt)&IMGFMT_RGB_MASK)==IMGFMT_RGB) 109 #define IMGFMT_IS_BGR(fmt) (((fmt)&IMGFMT_BGR_MASK)==IMGFMT_BGR) 111 #define IMGFMT_RGB_DEPTH(fmt) ((fmt)&0x7F) 112 #define IMGFMT_BGR_DEPTH(fmt) ((fmt)&0x7F) 117 #define IMGFMT_YVU9 0x39555659 118 #define IMGFMT_IF09 0x39304649 119 #define IMGFMT_YV12 0x32315659 120 #define IMGFMT_I420 0x30323449 121 #define IMGFMT_IYUV 0x56555949 122 #define IMGFMT_CLPL 0x4C504C43 123 #define IMGFMT_Y800 0x30303859 124 #define IMGFMT_Y8 0x20203859 125 #define IMGFMT_NV12 0x3231564E 126 #define IMGFMT_NV21 0x3132564E 127 #define IMGFMT_Y16_LE 0x20363159 130 #define IMGFMT_444P 0x50343434 131 #define IMGFMT_422P 0x50323234 132 #define IMGFMT_411P 0x50313134 133 #define IMGFMT_440P 0x50303434 134 #define IMGFMT_HM12 0x32314D48 135 #define IMGFMT_Y16_BE 0x59313620 138 #define IMGFMT_Y8A 0x59320008 140 #define IMGFMT_420A 0x41303234 142 #define IMGFMT_422A 0x41323234 144 #define IMGFMT_444A 0x41343434 146 #define IMGFMT_444P16_LE 0x51343434 147 #define IMGFMT_444P16_BE 0x34343451 148 #define IMGFMT_444P14_LE 0x54343434 149 #define IMGFMT_444P14_BE 0x34343454 150 #define IMGFMT_444P12_LE 0x55343434 151 #define IMGFMT_444P12_BE 0x34343455 152 #define IMGFMT_444P10_LE 0x52343434 153 #define IMGFMT_444P10_BE 0x34343452 154 #define IMGFMT_444P9_LE 0x53343434 155 #define IMGFMT_444P9_BE 0x34343453 156 #define IMGFMT_422P16_LE 0x51323234 157 #define IMGFMT_422P16_BE 0x34323251 158 #define IMGFMT_422P14_LE 0x54323234 159 #define IMGFMT_422P14_BE 0x34323254 160 #define IMGFMT_422P12_LE 0x55323234 161 #define IMGFMT_422P12_BE 0x34323255 162 #define IMGFMT_422P10_LE 0x52323234 163 #define IMGFMT_422P10_BE 0x34323252 164 #define IMGFMT_422P9_LE 0x53323234 165 #define IMGFMT_422P9_BE 0x34323253 166 #define IMGFMT_420P16_LE 0x51303234 167 #define IMGFMT_420P16_BE 0x34323051 168 #define IMGFMT_420P14_LE 0x54303234 169 #define IMGFMT_420P14_BE 0x34323054 170 #define IMGFMT_420P12_LE 0x55303234 171 #define IMGFMT_420P12_BE 0x34323055 172 #define IMGFMT_420P10_LE 0x52303234 173 #define IMGFMT_420P10_BE 0x34323052 174 #define IMGFMT_420P9_LE 0x53303234 175 #define IMGFMT_420P9_BE 0x34323053 177 #define IMGFMT_444P16 IMGFMT_444P16_BE 178 #define IMGFMT_444P14 IMGFMT_444P14_BE 179 #define IMGFMT_444P12 IMGFMT_444P12_BE 180 #define IMGFMT_444P10 IMGFMT_444P10_BE 181 #define IMGFMT_444P9 IMGFMT_444P9_BE 182 #define IMGFMT_422P16 IMGFMT_422P16_BE 183 #define IMGFMT_422P14 IMGFMT_422P14_BE 184 #define IMGFMT_422P12 IMGFMT_422P12_BE 185 #define IMGFMT_422P10 IMGFMT_422P10_BE 186 #define IMGFMT_422P9 IMGFMT_422P9_BE 187 #define IMGFMT_420P16 IMGFMT_420P16_BE 188 #define IMGFMT_420P14 IMGFMT_420P14_BE 189 #define IMGFMT_420P12 IMGFMT_420P12_BE 190 #define IMGFMT_420P10 IMGFMT_420P10_BE 191 #define IMGFMT_420P9 IMGFMT_420P9_BE 192 #define IMGFMT_Y16 IMGFMT_Y16_BE 193 #define IMGFMT_IS_YUVP16_NE(fmt) IMGFMT_IS_YUVP16_BE(fmt) 195 #define IMGFMT_444P16 IMGFMT_444P16_LE 196 #define IMGFMT_444P14 IMGFMT_444P14_LE 197 #define IMGFMT_444P12 IMGFMT_444P12_LE 198 #define IMGFMT_444P10 IMGFMT_444P10_LE 199 #define IMGFMT_444P9 IMGFMT_444P9_LE 200 #define IMGFMT_422P16 IMGFMT_422P16_LE 201 #define IMGFMT_422P14 IMGFMT_422P14_LE 202 #define IMGFMT_422P12 IMGFMT_422P12_LE 203 #define IMGFMT_422P10 IMGFMT_422P10_LE 204 #define IMGFMT_422P9 IMGFMT_422P9_LE 205 #define IMGFMT_420P16 IMGFMT_420P16_LE 206 #define IMGFMT_420P14 IMGFMT_420P14_LE 207 #define IMGFMT_420P12 IMGFMT_420P12_LE 208 #define IMGFMT_420P10 IMGFMT_420P10_LE 209 #define IMGFMT_420P9 IMGFMT_420P9_LE 210 #define IMGFMT_Y16 IMGFMT_Y16_LE 211 #define IMGFMT_IS_YUVP16_NE(fmt) IMGFMT_IS_YUVP16_LE(fmt) 214 #define IMGFMT_IS_YUVP16_LE(fmt) (((fmt - 0x51000034) & 0xfc0000ff) == 0) 215 #define IMGFMT_IS_YUVP16_BE(fmt) (((fmt - 0x34000051) & 0xff0000fc) == 0) 216 #define IMGFMT_IS_YUVP16(fmt) (IMGFMT_IS_YUVP16_LE(fmt) || IMGFMT_IS_YUVP16_BE(fmt)) 224 return (fmt & 0x00ffffff) | 0x51000000;
226 return (fmt & 0xffffff00) | 0x00000051;
232 #define IMGFMT_IUYV 0x56595549 // Interlaced UYVY 233 #define IMGFMT_IY41 0x31435949 // Interlaced Y41P 234 #define IMGFMT_IYU1 0x31555949 235 #define IMGFMT_IYU2 0x32555949 236 #define IMGFMT_UYVY 0x59565955 237 #define IMGFMT_UYNV 0x564E5955 // Exactly same as UYVY 238 #define IMGFMT_cyuv 0x76757963 // upside-down UYVY 239 #define IMGFMT_Y422 0x32323459 // Exactly same as UYVY 240 #define IMGFMT_YUY2 0x32595559 241 #define IMGFMT_YUNV 0x564E5559 // Exactly same as YUY2 242 #define IMGFMT_YVYU 0x55595659 243 #define IMGFMT_Y41P 0x50313459 244 #define IMGFMT_Y211 0x31313259 245 #define IMGFMT_Y41T 0x54313459 // Y41P, Y lsb = transparency 246 #define IMGFMT_Y42T 0x54323459 // UYVY, Y lsb = transparency 247 #define IMGFMT_V422 0x32323456 // upside-down UYVY? 248 #define IMGFMT_V655 0x35353656 249 #define IMGFMT_CLJR 0x524A4C43 250 #define IMGFMT_YUVP 0x50565559 // 10-bit YUYV 251 #define IMGFMT_UYVP 0x50565955 // 10-bit UYVY 254 #define IMGFMT_MPEGPES (('M'<<24)|('P'<<16)|('E'<<8)|('S')) 255 #define IMGFMT_MJPEG (('M')|('J'<<8)|('P'<<16)|('G'<<24)) 258 #define IMGFMT_ZRMJPEGNI (('Z'<<24)|('R'<<16)|('N'<<8)|('I')) 259 #define IMGFMT_ZRMJPEGIT (('Z'<<24)|('R'<<16)|('I'<<8)|('T')) 260 #define IMGFMT_ZRMJPEGIB (('Z'<<24)|('R'<<16)|('I'<<8)|('B')) 263 #define IMGFMT_XVMC 0x1DC70000 264 #define IMGFMT_XVMC_MASK 0xFFFF0000 265 #define IMGFMT_IS_XVMC(fmt) (((fmt)&IMGFMT_XVMC_MASK)==IMGFMT_XVMC) 267 #define IMGFMT_XVMC_MOCO_MPEG2 (IMGFMT_XVMC|0x02) 268 #define IMGFMT_XVMC_IDCT_MPEG2 (IMGFMT_XVMC|0x82) 271 #define IMGFMT_VDPAU 0x1DC80000 272 #define IMGFMT_VDPAU_MASK 0xFFFF0000 273 #define IMGFMT_IS_VDPAU(fmt) (((fmt)&IMGFMT_VDPAU_MASK)==IMGFMT_VDPAU) 274 #define IMGFMT_VDPAU_MPEG1 (IMGFMT_VDPAU|0x01) 275 #define IMGFMT_VDPAU_MPEG2 (IMGFMT_VDPAU|0x02) 276 #define IMGFMT_VDPAU_H264 (IMGFMT_VDPAU|0x03) 277 #define IMGFMT_VDPAU_WMV3 (IMGFMT_VDPAU|0x04) 278 #define IMGFMT_VDPAU_VC1 (IMGFMT_VDPAU|0x05) 279 #define IMGFMT_VDPAU_MPEG4 (IMGFMT_VDPAU|0x06) 281 #define IMGFMT_IS_HWACCEL(fmt) (IMGFMT_IS_VDPAU(fmt) || IMGFMT_IS_XVMC(fmt))
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFilterBuffer structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate.The lists are not just lists