annotate pixdesc.c @ 855:ccac021c9a8e libavutil

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