annotate pixdesc.c @ 1014:3728a7291737 libavutil

pixdesc: use 8-bit accesses when possible in av_read/write_image_line() This fixes out of bounds accesses for big endian formats and should be a little faster.
author mru
date Sun, 12 Sep 2010 21:39:54 +0000
parents 83021885b234
children f332df5d8da5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
1 /*
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
2 * pixel format descriptor
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
3 * Copyright (c) 2009 Michael Niedermayer <michaelni@gmx.at>
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
4 *
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
5 * This file is part of FFmpeg.
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
6 *
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
11 *
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
15 * Lesser General Public License for more details.
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
16 *
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
20 */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
21
989
732bb5b10aec pixdesc: add missing includes
mru
parents: 987
diff changeset
22 #include <stdio.h>
732bb5b10aec pixdesc: add missing includes
mru
parents: 987
diff changeset
23 #include <string.h>
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
24 #include "pixfmt.h"
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
25 #include "pixdesc.h"
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
26
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
27 #include "intreadwrite.h"
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
28
982
da1b5110dbd0 Rename read/write_line() to av_read/write_image_line().
mru
parents: 898
diff changeset
29 void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4],
987
f2fa8ffe7a05 Reindent after r24101.
stefano
parents: 982
diff changeset
30 const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component)
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
31 {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
32 AVComponentDescriptor comp= desc->comp[c];
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
33 int plane= comp.plane;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
34 int depth= comp.depth_minus1+1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
35 int mask = (1<<depth)-1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
36 int shift= comp.shift;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
37 int step = comp.step_minus1+1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
38 int flags= desc->flags;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
39
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
40 if (flags & PIX_FMT_BITSTREAM){
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
41 int skip = x*step + comp.offset_plus1-1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
42 const uint8_t *p = data[plane] + y*linesize[plane] + (skip>>3);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
43 int shift = 8 - depth - (skip&7);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
44
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
45 while(w--){
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
46 int val = (*p >> shift) & mask;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
47 if(read_pal_component)
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
48 val= data[1][4*val + c];
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
49 shift -= step;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
50 p -= shift>>3;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
51 shift &= 7;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
52 *dst++= val;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
53 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
54 } else {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
55 const uint8_t *p = data[plane]+ y*linesize[plane] + x*step + comp.offset_plus1-1;
1014
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
56 int is_8bit = 0;
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
57
1014
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
58 if (shift + depth <= 8) {
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
59 p += !!(flags & PIX_FMT_BE);
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
60 is_8bit = 1;
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
61 }
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
62 while(w--){
1014
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
63 int val = is_8bit ? *p :
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
64 flags & PIX_FMT_BE ? AV_RB16(p) : AV_RL16(p);
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
65 val = (val>>shift) & mask;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
66 if(read_pal_component)
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
67 val= data[1][4*val + c];
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
68 p+= step;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
69 *dst++= val;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
70 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
71 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
72 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
73
982
da1b5110dbd0 Rename read/write_line() to av_read/write_image_line().
mru
parents: 898
diff changeset
74 void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
987
f2fa8ffe7a05 Reindent after r24101.
stefano
parents: 982
diff changeset
75 const AVPixFmtDescriptor *desc, int x, int y, int c, int w)
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
76 {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
77 AVComponentDescriptor comp = desc->comp[c];
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
78 int plane = comp.plane;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
79 int depth = comp.depth_minus1+1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
80 int step = comp.step_minus1+1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
81 int flags = desc->flags;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
82
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
83 if (flags & PIX_FMT_BITSTREAM) {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
84 int skip = x*step + comp.offset_plus1-1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
85 uint8_t *p = data[plane] + y*linesize[plane] + (skip>>3);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
86 int shift = 8 - depth - (skip&7);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
87
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
88 while (w--) {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
89 *p |= *src++ << shift;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
90 shift -= step;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
91 p -= shift>>3;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
92 shift &= 7;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
93 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
94 } else {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
95 int shift = comp.shift;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
96 uint8_t *p = data[plane]+ y*linesize[plane] + x*step + comp.offset_plus1-1;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
97
1014
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
98 if (shift + depth <= 8) {
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
99 p += !!(flags & PIX_FMT_BE);
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
100 while (w--) {
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
101 *p |= (*src++<<shift);
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
102 p += step;
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
103 }
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
104 } else {
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
105 while (w--) {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
106 if (flags & PIX_FMT_BE) {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
107 uint16_t val = AV_RB16(p) | (*src++<<shift);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
108 AV_WB16(p, val);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
109 } else {
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
110 uint16_t val = AV_RL16(p) | (*src++<<shift);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
111 AV_WL16(p, val);
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
112 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
113 p+= step;
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
114 }
1014
3728a7291737 pixdesc: use 8-bit accesses when possible in av_read/write_image_line()
mru
parents: 1013
diff changeset
115 }
836
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
116 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
117 }
af688c6fa72f Move read_line() and write_line() definition from pixdesc.h to
stefano
parents: 827
diff changeset
118
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
119 const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
120 [PIX_FMT_YUV420P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
121 .name = "yuv420p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
122 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
123 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
124 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
125 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
126 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
127 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
128 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
129 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
130 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
131 [PIX_FMT_YUYV422] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
132 .name = "yuyv422",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
133 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
134 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
135 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
136 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
137 {0,1,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
138 {0,3,2,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
139 {0,3,4,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
140 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
141 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
142 [PIX_FMT_RGB24] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
143 .name = "rgb24",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
144 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
145 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
146 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
147 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
148 {0,2,1,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
149 {0,2,2,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
150 {0,2,3,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
151 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
152 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
153 [PIX_FMT_BGR24] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
154 .name = "bgr24",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
155 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
156 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
157 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
158 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
159 {0,2,1,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
160 {0,2,2,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
161 {0,2,3,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
162 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
163 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
164 [PIX_FMT_YUV422P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
165 .name = "yuv422p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
166 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
167 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
168 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
169 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
170 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
171 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
172 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
173 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
174 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
175 [PIX_FMT_YUV444P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
176 .name = "yuv444p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
177 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
178 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
179 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
180 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
181 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
182 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
183 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
184 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
185 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
186 [PIX_FMT_YUV410P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
187 .name = "yuv410p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
188 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
189 .log2_chroma_w= 2,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
190 .log2_chroma_h= 2,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
191 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
192 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
193 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
194 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
195 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
196 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
197 [PIX_FMT_YUV411P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
198 .name = "yuv411p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
199 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
200 .log2_chroma_w= 2,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
201 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
202 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
203 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
204 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
205 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
206 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
207 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
208 [PIX_FMT_GRAY8] = {
796
ecf400e9601b Make av_pix_fmt_descriptors use the same pixel format names as defined
stefano
parents: 791
diff changeset
209 .name = "gray",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
210 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
211 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
212 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
213 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
214 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
215 },
856
f01741b79070 Declare the PIX_FMT_GRAY8 pixel format as a paletted format. This is
stefano
parents: 836
diff changeset
216 .flags = PIX_FMT_PAL,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
217 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
218 [PIX_FMT_MONOWHITE] = {
796
ecf400e9601b Make av_pix_fmt_descriptors use the same pixel format names as defined
stefano
parents: 791
diff changeset
219 .name = "monow",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
220 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
221 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
222 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
223 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
224 {0,0,1,0,0}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
225 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
226 .flags = PIX_FMT_BITSTREAM,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
227 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
228 [PIX_FMT_MONOBLACK] = {
796
ecf400e9601b Make av_pix_fmt_descriptors use the same pixel format names as defined
stefano
parents: 791
diff changeset
229 .name = "monob",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
230 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
231 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
232 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
233 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
234 {0,0,1,7,0}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
235 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
236 .flags = PIX_FMT_BITSTREAM,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
237 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
238 [PIX_FMT_PAL8] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
239 .name = "pal8",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
240 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
241 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
242 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
243 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
244 {0,0,1,0,7},
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
245 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
246 .flags = PIX_FMT_PAL,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
247 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
248 [PIX_FMT_YUVJ420P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
249 .name = "yuvj420p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
250 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
251 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
252 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
253 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
254 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
255 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
256 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
257 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
258 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
259 [PIX_FMT_YUVJ422P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
260 .name = "yuvj422p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
261 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
262 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
263 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
264 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
265 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
266 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
267 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
268 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
269 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
270 [PIX_FMT_YUVJ444P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
271 .name = "yuvj444p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
272 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
273 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
274 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
275 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
276 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
277 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
278 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
279 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
280 },
783
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
281 [PIX_FMT_XVMC_MPEG2_MC] = {
796
ecf400e9601b Make av_pix_fmt_descriptors use the same pixel format names as defined
stefano
parents: 791
diff changeset
282 .name = "xvmcmc",
783
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
283 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
284 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
285 [PIX_FMT_XVMC_MPEG2_IDCT] = {
796
ecf400e9601b Make av_pix_fmt_descriptors use the same pixel format names as defined
stefano
parents: 791
diff changeset
286 .name = "xvmcidct",
783
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
287 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
288 },
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
289 [PIX_FMT_UYVY422] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
290 .name = "uyvy422",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
291 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
292 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
293 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
294 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
295 {0,1,2,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
296 {0,3,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
297 {0,3,3,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
298 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
299 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
300 [PIX_FMT_UYYVYY411] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
301 .name = "uyyvyy411",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
302 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
303 .log2_chroma_w= 2,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
304 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
305 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
306 {0,3,2,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
307 {0,5,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
308 {0,5,4,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
309 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
310 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
311 [PIX_FMT_BGR8] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
312 .name = "bgr8",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
313 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
314 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
315 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
316 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
317 {0,0,1,6,1}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
318 {0,0,1,3,2}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
319 {0,0,1,0,2}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
320 },
782
9b06eaf7b6ef Add PIX_FMT_PAL flag to BGR8, BGR4_BYTE, RGB8, and RGB4_BYTE formats.
stefano
parents: 781
diff changeset
321 .flags = PIX_FMT_PAL,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
322 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
323 [PIX_FMT_BGR4] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
324 .name = "bgr4",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
325 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
326 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
327 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
328 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
329 {0,3,1,0,0}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
330 {0,3,2,0,1}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
331 {0,3,4,0,0}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
332 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
333 .flags = PIX_FMT_BITSTREAM,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
334 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
335 [PIX_FMT_BGR4_BYTE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
336 .name = "bgr4_byte",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
337 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
338 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
339 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
340 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
341 {0,0,1,3,0}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
342 {0,0,1,1,1}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
343 {0,0,1,0,0}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
344 },
782
9b06eaf7b6ef Add PIX_FMT_PAL flag to BGR8, BGR4_BYTE, RGB8, and RGB4_BYTE formats.
stefano
parents: 781
diff changeset
345 .flags = PIX_FMT_PAL,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
346 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
347 [PIX_FMT_RGB8] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
348 .name = "rgb8",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
349 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
350 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
351 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
352 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
353 {0,0,1,6,1}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
354 {0,0,1,3,2}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
355 {0,0,1,0,2}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
356 },
782
9b06eaf7b6ef Add PIX_FMT_PAL flag to BGR8, BGR4_BYTE, RGB8, and RGB4_BYTE formats.
stefano
parents: 781
diff changeset
357 .flags = PIX_FMT_PAL,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
358 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
359 [PIX_FMT_RGB4] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
360 .name = "rgb4",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
361 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
362 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
363 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
364 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
365 {0,3,1,0,0}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
366 {0,3,2,0,1}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
367 {0,3,4,0,0}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
368 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
369 .flags = PIX_FMT_BITSTREAM,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
370 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
371 [PIX_FMT_RGB4_BYTE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
372 .name = "rgb4_byte",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
373 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
374 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
375 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
376 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
377 {0,0,1,3,0}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
378 {0,0,1,1,1}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
379 {0,0,1,0,0}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
380 },
782
9b06eaf7b6ef Add PIX_FMT_PAL flag to BGR8, BGR4_BYTE, RGB8, and RGB4_BYTE formats.
stefano
parents: 781
diff changeset
381 .flags = PIX_FMT_PAL,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
382 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
383 [PIX_FMT_NV12] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
384 .name = "nv12",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
385 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
386 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
387 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
388 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
389 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
390 {1,1,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
391 {1,1,2,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
392 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
393 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
394 [PIX_FMT_NV21] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
395 .name = "nv21",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
396 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
397 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
398 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
399 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
400 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
401 {1,1,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
402 {1,1,2,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
403 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
404 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
405 [PIX_FMT_ARGB] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
406 .name = "argb",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
407 .nb_components= 4,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
408 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
409 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
410 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
411 {0,3,1,0,7}, /* A */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
412 {0,3,2,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
413 {0,3,3,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
414 {0,3,4,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
415 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
416 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
417 [PIX_FMT_RGBA] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
418 .name = "rgba",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
419 .nb_components= 4,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
420 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
421 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
422 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
423 {0,3,1,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
424 {0,3,2,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
425 {0,3,3,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
426 {0,3,4,0,7}, /* A */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
427 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
428 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
429 [PIX_FMT_ABGR] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
430 .name = "abgr",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
431 .nb_components= 4,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
432 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
433 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
434 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
435 {0,3,1,0,7}, /* A */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
436 {0,3,2,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
437 {0,3,3,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
438 {0,3,4,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
439 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
440 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
441 [PIX_FMT_BGRA] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
442 .name = "bgra",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
443 .nb_components= 4,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
444 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
445 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
446 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
447 {0,3,1,0,7}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
448 {0,3,2,0,7}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
449 {0,3,3,0,7}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
450 {0,3,4,0,7}, /* A */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
451 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
452 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
453 [PIX_FMT_GRAY16BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
454 .name = "gray16be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
455 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
456 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
457 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
458 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
459 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
460 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
461 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
462 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
463 [PIX_FMT_GRAY16LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
464 .name = "gray16le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
465 .nb_components= 1,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
466 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
467 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
468 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
469 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
470 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
471 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
472 [PIX_FMT_YUV440P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
473 .name = "yuv440p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
474 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
475 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
476 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
477 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
478 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
479 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
480 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
481 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
482 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
483 [PIX_FMT_YUVJ440P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
484 .name = "yuvj440p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
485 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
486 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
487 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
488 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
489 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
490 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
491 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
492 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
493 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
494 [PIX_FMT_YUVA420P] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
495 .name = "yuva420p",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
496 .nb_components= 4,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
497 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
498 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
499 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
500 {0,0,1,0,7}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
501 {1,0,1,0,7}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
502 {2,0,1,0,7}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
503 {3,0,1,0,7}, /* A */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
504 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
505 },
783
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
506 [PIX_FMT_VDPAU_H264] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
507 .name = "vdpau_h264",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
508 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
509 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
510 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
511 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
512 [PIX_FMT_VDPAU_MPEG1] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
513 .name = "vdpau_mpeg1",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
514 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
515 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
516 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
517 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
518 [PIX_FMT_VDPAU_MPEG2] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
519 .name = "vdpau_mpeg2",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
520 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
521 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
522 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
523 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
524 [PIX_FMT_VDPAU_WMV3] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
525 .name = "vdpau_wmv3",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
526 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
527 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
528 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
529 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
530 [PIX_FMT_VDPAU_VC1] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
531 .name = "vdpau_vc1",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
532 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
533 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
534 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
535 },
787
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
536 [PIX_FMT_VDPAU_MPEG4] = {
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
537 .name = "vdpau_mpeg4",
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
538 .log2_chroma_w = 1,
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
539 .log2_chroma_h = 1,
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
540 .flags = PIX_FMT_HWACCEL,
664b42a6cf75 Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
cehoyos
parents: 783
diff changeset
541 },
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
542 [PIX_FMT_RGB48BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
543 .name = "rgb48be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
544 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
545 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
546 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
547 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
548 {0,5,1,0,15}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
549 {0,5,3,0,15}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
550 {0,5,5,0,15}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
551 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
552 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
553 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
554 [PIX_FMT_RGB48LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
555 .name = "rgb48le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
556 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
557 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
558 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
559 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
560 {0,5,1,0,15}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
561 {0,5,3,0,15}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
562 {0,5,5,0,15}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
563 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
564 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
565 [PIX_FMT_RGB565BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
566 .name = "rgb565be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
567 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
568 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
569 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
570 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
571 {0,1,0,3,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
572 {0,1,1,5,5}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
573 {0,1,1,0,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
574 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
575 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
576 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
577 [PIX_FMT_RGB565LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
578 .name = "rgb565le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
579 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
580 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
581 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
582 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
583 {0,1,2,3,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
584 {0,1,1,5,5}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
585 {0,1,1,0,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
586 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
587 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
588 [PIX_FMT_RGB555BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
589 .name = "rgb555be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
590 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
591 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
592 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
593 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
594 {0,1,0,2,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
595 {0,1,1,5,4}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
596 {0,1,1,0,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
597 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
598 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
599 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
600 [PIX_FMT_RGB555LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
601 .name = "rgb555le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
602 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
603 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
604 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
605 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
606 {0,1,2,2,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
607 {0,1,1,5,4}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
608 {0,1,1,0,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
609 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
610 },
857
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
611 [PIX_FMT_RGB444BE] = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
612 .name = "rgb444be",
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
613 .nb_components= 3,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
614 .log2_chroma_w= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
615 .log2_chroma_h= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
616 .comp = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
617 {0,1,0,0,3}, /* R */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
618 {0,1,1,4,3}, /* G */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
619 {0,1,1,0,3}, /* B */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
620 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
621 .flags = PIX_FMT_BE,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
622 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
623 [PIX_FMT_RGB444LE] = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
624 .name = "rgb444le",
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
625 .nb_components= 3,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
626 .log2_chroma_w= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
627 .log2_chroma_h= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
628 .comp = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
629 {0,1,2,0,3}, /* R */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
630 {0,1,1,4,3}, /* G */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
631 {0,1,1,0,3}, /* B */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
632 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
633 },
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
634 [PIX_FMT_BGR565BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
635 .name = "bgr565be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
636 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
637 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
638 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
639 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
640 {0,1,0,3,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
641 {0,1,1,5,5}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
642 {0,1,1,0,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
643 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
644 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
645 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
646 [PIX_FMT_BGR565LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
647 .name = "bgr565le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
648 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
649 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
650 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
651 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
652 {0,1,2,3,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
653 {0,1,1,5,5}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
654 {0,1,1,0,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
655 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
656 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
657 [PIX_FMT_BGR555BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
658 .name = "bgr555be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
659 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
660 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
661 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
662 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
663 {0,1,0,2,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
664 {0,1,1,5,4}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
665 {0,1,1,0,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
666 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
667 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
668 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
669 [PIX_FMT_BGR555LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
670 .name = "bgr555le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
671 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
672 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
673 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
674 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
675 {0,1,2,2,4}, /* B */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
676 {0,1,1,5,4}, /* G */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
677 {0,1,1,0,4}, /* R */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
678 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
679 },
857
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
680 [PIX_FMT_BGR444BE] = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
681 .name = "bgr444be",
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
682 .nb_components= 3,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
683 .log2_chroma_w= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
684 .log2_chroma_h= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
685 .comp = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
686 {0,1,0,0,3}, /* B */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
687 {0,1,1,4,3}, /* G */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
688 {0,1,1,0,3}, /* R */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
689 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
690 .flags = PIX_FMT_BE,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
691 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
692 [PIX_FMT_BGR444LE] = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
693 .name = "bgr444le",
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
694 .nb_components= 3,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
695 .log2_chroma_w= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
696 .log2_chroma_h= 0,
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
697 .comp = {
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
698 {0,1,2,0,3}, /* B */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
699 {0,1,1,4,3}, /* G */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
700 {0,1,1,0,3}, /* R */
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
701 },
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 856
diff changeset
702 },
783
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
703 [PIX_FMT_VAAPI_MOCO] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
704 .name = "vaapi_moco",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
705 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
706 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
707 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
708 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
709 [PIX_FMT_VAAPI_IDCT] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
710 .name = "vaapi_idct",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
711 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
712 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
713 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
714 },
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
715 [PIX_FMT_VAAPI_VLD] = {
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
716 .name = "vaapi_vld",
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
717 .log2_chroma_w = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
718 .log2_chroma_h = 1,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
719 .flags = PIX_FMT_HWACCEL,
c0b4f10edb74 Add pixel format descriptors for the HW-accelerated formats.
stefano
parents: 782
diff changeset
720 },
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
721 [PIX_FMT_YUV420P16LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
722 .name = "yuv420p16le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
723 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
724 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
725 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
726 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
727 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
728 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
729 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
730 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
731 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
732 [PIX_FMT_YUV420P16BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
733 .name = "yuv420p16be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
734 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
735 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
736 .log2_chroma_h= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
737 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
738 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
739 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
740 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
741 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
742 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
743 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
744 [PIX_FMT_YUV422P16LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
745 .name = "yuv422p16le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
746 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
747 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
748 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
749 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
750 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
751 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
752 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
753 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
754 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
755 [PIX_FMT_YUV422P16BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
756 .name = "yuv422p16be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
757 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
758 .log2_chroma_w= 1,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
759 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
760 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
761 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
762 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
763 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
764 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
765 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
766 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
767 [PIX_FMT_YUV444P16LE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
768 .name = "yuv444p16le",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
769 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
770 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
771 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
772 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
773 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
774 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
775 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
776 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
777 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
778 [PIX_FMT_YUV444P16BE] = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
779 .name = "yuv444p16be",
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
780 .nb_components= 3,
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
781 .log2_chroma_w= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
782 .log2_chroma_h= 0,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
783 .comp = {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
784 {0,1,1,0,15}, /* Y */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
785 {1,1,1,0,15}, /* U */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
786 {2,1,1,0,15}, /* V */
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
787 },
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
788 .flags = PIX_FMT_BE,
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
789 },
818
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
790 [PIX_FMT_DXVA2_VLD] = {
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
791 .name = "dxva2_vld",
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
792 .log2_chroma_w = 1,
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
793 .log2_chroma_h = 1,
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
794 .flags = PIX_FMT_HWACCEL,
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 796
diff changeset
795 },
898
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
796 [PIX_FMT_Y400A] = {
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
797 .name = "y400a",
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
798 .nb_components= 2,
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
799 .comp = {
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
800 {0,1,1,0,7}, /* Y */
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
801 {0,1,2,0,7}, /* A */
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
802 },
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
803 },
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
804 };
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
805
827
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
806 static enum PixelFormat get_pix_fmt_internal(const char *name)
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
807 {
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
808 enum PixelFormat pix_fmt;
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
809
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
810 for (pix_fmt = 0; pix_fmt < PIX_FMT_NB; pix_fmt++)
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
811 if (av_pix_fmt_descriptors[pix_fmt].name &&
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
812 !strcmp(av_pix_fmt_descriptors[pix_fmt].name, name))
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
813 return pix_fmt;
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
814
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
815 return PIX_FMT_NONE;
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
816 }
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
817
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
818 #if HAVE_BIGENDIAN
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
819 # define X_NE(be, le) be
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
820 #else
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
821 # define X_NE(be, le) le
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
822 #endif
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
823
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
824 enum PixelFormat av_get_pix_fmt(const char *name)
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
825 {
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
826 enum PixelFormat pix_fmt;
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
827
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
828 if (!strcmp(name, "rgb32"))
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
829 name = X_NE("argb", "bgra");
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
830 else if (!strcmp(name, "bgr32"))
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
831 name = X_NE("abgr", "rgba");
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
832
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
833 pix_fmt = get_pix_fmt_internal(name);
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
834 if (pix_fmt == PIX_FMT_NONE) {
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
835 char name2[32];
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
836
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
837 snprintf(name2, sizeof(name2), "%s%s", name, X_NE("be", "le"));
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
838 pix_fmt = get_pix_fmt_internal(name2);
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
839 }
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
840 return pix_fmt;
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
841 }
f01765adeb5c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
stefano
parents: 818
diff changeset
842
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
843 int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
844 {
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
845 int c, bits = 0;
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
846 int log2_pixels = pixdesc->log2_chroma_w + pixdesc->log2_chroma_h;
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
847
791
ecf67bd079fe Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
stefano
parents: 787
diff changeset
848 for (c = 0; c < pixdesc->nb_components; c++) {
781
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
849 int s = c==1 || c==2 ? 0 : log2_pixels;
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
850 bits += (pixdesc->comp[c].depth_minus1+1) << s;
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
851 }
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
852
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
853 return bits >> log2_pixels;
9ef56664097a Move pixdesc.{h,c} from libavcodec to libavutil.
stefano
parents:
diff changeset
854 }