annotate raw.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 3ab26ab83911
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
1 /*
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
2 * Raw Video Codec
8629
04423b2f6e0b cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 8256
diff changeset
3 * Copyright (c) 2001 Fabrice Bellard
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
15 * Lesser General Public License for more details.
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
16 *
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2979
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
20 */
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2863
diff changeset
21
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
22 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 11622
diff changeset
23 * @file
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
24 * Raw Video Codec
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
25 */
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2863
diff changeset
26
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
27 #include "avcodec.h"
5264
810df021dbef split rawvideo encoder and decoder in their own files
aurel
parents: 4872
diff changeset
28 #include "raw.h"
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
29
11751
378caf7b42ef Rename ff_raw_pixelFormatTags symbol to ff_raw_pix_fmt_tags.
stefano
parents: 11740
diff changeset
30 const PixelFormatTag ff_raw_pix_fmt_tags[] = {
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
31 { PIX_FMT_YUV420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
32 { PIX_FMT_YUV420P, MKTAG('I', 'Y', 'U', 'V') },
3587
d4ab276e5987 Add YV12 support, patch by Steve Lhomme % steve P lhomme A free P fr %
gpoirier
parents: 3306
diff changeset
33 { PIX_FMT_YUV420P, MKTAG('Y', 'V', '1', '2') },
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
34 { PIX_FMT_YUV410P, MKTAG('Y', 'U', 'V', '9') },
9712
1cc354a5242c Support YVU9 AVI 4cc.
michael
parents: 9335
diff changeset
35 { PIX_FMT_YUV410P, MKTAG('Y', 'V', 'U', '9') },
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
36 { PIX_FMT_YUV411P, MKTAG('Y', '4', '1', 'B') },
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
37 { PIX_FMT_YUV422P, MKTAG('Y', '4', '2', 'B') },
10457
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
38 { PIX_FMT_YUV422P, MKTAG('P', '4', '2', '2') },
11695
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
39 /* yuvjXXX formats are deprecated hacks specific to libav*,
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
40 they are identical to yuvXXX */
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
41 { PIX_FMT_YUVJ420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
42 { PIX_FMT_YUVJ420P, MKTAG('I', 'Y', 'U', 'V') },
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
43 { PIX_FMT_YUVJ420P, MKTAG('Y', 'V', '1', '2') },
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
44 { PIX_FMT_YUVJ422P, MKTAG('Y', '4', '2', 'B') },
2912f70b4e71 Make the codec tags for the yuvjXXX pixel formats the same as the
stefano
parents: 11694
diff changeset
45 { PIX_FMT_YUVJ422P, MKTAG('P', '4', '2', '2') },
11815
dfdb608a78ef Remove weird empty line and perform vertical align.
stefano
parents: 11779
diff changeset
46 { PIX_FMT_GRAY8, MKTAG('Y', '8', '0', '0') },
dfdb608a78ef Remove weird empty line and perform vertical align.
stefano
parents: 11779
diff changeset
47 { PIX_FMT_GRAY8, MKTAG(' ', ' ', 'Y', '8') },
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
48
4494
ce643a22f049 Replace deprecated PIX_FMT names by the newer variants.
diego
parents: 4170
diff changeset
49 { PIX_FMT_YUYV422, MKTAG('Y', 'U', 'Y', '2') }, /* Packed formats */
ce643a22f049 Replace deprecated PIX_FMT names by the newer variants.
diego
parents: 4170
diff changeset
50 { PIX_FMT_YUYV422, MKTAG('Y', '4', '2', '2') },
10457
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
51 { PIX_FMT_YUYV422, MKTAG('V', '4', '2', '2') },
10486
b2524430a456 map VYUY fourcc to rawcodec
compn
parents: 10457
diff changeset
52 { PIX_FMT_YUYV422, MKTAG('V', 'Y', 'U', 'Y') },
10457
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
53 { PIX_FMT_YUYV422, MKTAG('Y', 'U', 'N', 'V') },
2142
caacb3f9ee51 Add UYVY support to libavcodec/raw.c patch by ("Todd.Kirby" <doubleshot at pacbell dot net>)
michael
parents: 2133
diff changeset
54 { PIX_FMT_UYVY422, MKTAG('U', 'Y', 'V', 'Y') },
5695
6b8daf48b82f HDYC fourcc, sample hdyc/Test2.avi
bcoudurier
parents: 5264
diff changeset
55 { PIX_FMT_UYVY422, MKTAG('H', 'D', 'Y', 'C') },
10457
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
56 { PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'V') },
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
57 { PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'Y') },
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
58 { PIX_FMT_UYVY422, MKTAG('u', 'y', 'v', '1') },
11b8940a3a75 add some raw codec fourccs, fixes:
compn
parents: 9845
diff changeset
59 { PIX_FMT_UYVY422, MKTAG('2', 'V', 'u', '1') },
10880
1184d065c26a Do not assign codec_tag to pix_fmt in rawdec.c, but in raw.c
cehoyos
parents: 10490
diff changeset
60 { PIX_FMT_UYVY422, MKTAG('A', 'V', 'R', 'n') }, /* Avid AVI Codec 1:1 */
10884
867740c94988 Support decoding Avid 1:1x codec, (partially) fixes issue1684.
cehoyos
parents: 10880
diff changeset
61 { PIX_FMT_UYVY422, MKTAG('A', 'V', '1', 'x') }, /* Avid 1:1x */
10885
e3e466b6bc5e Support decoding of Avid uncompressed mov files, fixes issue 1685.
cehoyos
parents: 10884
diff changeset
62 { PIX_FMT_UYVY422, MKTAG('A', 'V', 'u', 'p') },
10898
71fccf5aa7e3 Support decoding of SoftLab-NSK VideoTizer.
cehoyos
parents: 10888
diff changeset
63 { PIX_FMT_UYVY422, MKTAG('V', 'D', 'T', 'Z') }, /* SoftLab-NSK VideoTizer */
11694
5e8fdcac294e Add support to the Y411 codec tag, corresponding to the rawvideo pixel
stefano
parents: 11644
diff changeset
64 { PIX_FMT_UYYVYY411, MKTAG('Y', '4', '1', '1') },
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
65 { PIX_FMT_GRAY8, MKTAG('G', 'R', 'E', 'Y') },
11736
98492069d859 Add NV12 and NV21 AVI tags.
stefano
parents: 11697
diff changeset
66 { PIX_FMT_NV12, MKTAG('N', 'V', '1', '2') },
98492069d859 Add NV12 and NV21 AVI tags.
stefano
parents: 11697
diff changeset
67 { PIX_FMT_NV21, MKTAG('N', 'V', '2', '1') },
11697
79a98585aa2d Reorder nut specific codec tags and add a comment for marking them as
stefano
parents: 11696
diff changeset
68
79a98585aa2d Reorder nut specific codec tags and add a comment for marking them as
stefano
parents: 11696
diff changeset
69 /* nut */
11622
5531833d63f4 Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
stefano
parents: 10898
diff changeset
70 { PIX_FMT_RGB555LE, MKTAG('R', 'G', 'B', 15) },
5531833d63f4 Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
stefano
parents: 10898
diff changeset
71 { PIX_FMT_BGR555LE, MKTAG('B', 'G', 'R', 15) },
5531833d63f4 Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
stefano
parents: 10898
diff changeset
72 { PIX_FMT_RGB565LE, MKTAG('R', 'G', 'B', 16) },
5531833d63f4 Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
stefano
parents: 10898
diff changeset
73 { PIX_FMT_BGR565LE, MKTAG('B', 'G', 'R', 16) },
11696
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
74 { PIX_FMT_RGB555BE, MKTAG(15 , 'B', 'G', 'R') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
75 { PIX_FMT_BGR555BE, MKTAG(15 , 'R', 'G', 'B') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
76 { PIX_FMT_RGB565BE, MKTAG(16 , 'B', 'G', 'R') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
77 { PIX_FMT_BGR565BE, MKTAG(16 , 'R', 'G', 'B') },
11840
6258952f47df bgr/rgb444 for nut
michael
parents: 11831
diff changeset
78 { PIX_FMT_RGB444LE, MKTAG('R', 'G', 'B', 12) },
6258952f47df bgr/rgb444 for nut
michael
parents: 11831
diff changeset
79 { PIX_FMT_BGR444LE, MKTAG('B', 'G', 'R', 12) },
6258952f47df bgr/rgb444 for nut
michael
parents: 11831
diff changeset
80 { PIX_FMT_RGB444BE, MKTAG(12 , 'B', 'G', 'R') },
6258952f47df bgr/rgb444 for nut
michael
parents: 11831
diff changeset
81 { PIX_FMT_BGR444BE, MKTAG(12 , 'R', 'G', 'B') },
11696
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
82 { PIX_FMT_RGBA, MKTAG('R', 'G', 'B', 'A') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
83 { PIX_FMT_BGRA, MKTAG('B', 'G', 'R', 'A') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
84 { PIX_FMT_ABGR, MKTAG('A', 'B', 'G', 'R') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
85 { PIX_FMT_ARGB, MKTAG('A', 'R', 'G', 'B') },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
86 { PIX_FMT_RGB24, MKTAG('R', 'G', 'B', 24 ) },
9519a0e8cec6 Add missing nut-specific codec tags for rawvideo pixel formats.
stefano
parents: 11695
diff changeset
87 { PIX_FMT_BGR24, MKTAG('B', 'G', 'R', 24 ) },
11737
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
88 { PIX_FMT_YUV411P, MKTAG('4', '1', '1', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
89 { PIX_FMT_YUV422P, MKTAG('4', '2', '2', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
90 { PIX_FMT_YUVJ422P, MKTAG('4', '2', '2', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
91 { PIX_FMT_YUV440P, MKTAG('4', '4', '0', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
92 { PIX_FMT_YUVJ440P, MKTAG('4', '4', '0', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
93 { PIX_FMT_YUV444P, MKTAG('4', '4', '4', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
94 { PIX_FMT_YUVJ444P, MKTAG('4', '4', '4', 'P') },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
95 { PIX_FMT_MONOWHITE,MKTAG('B', '1', 'W', '0') },
11740
87a5abd9b1ae Fix typo ('B', 'O', 'W', '1') => ('B', '0', 'W', '1')
benoit
parents: 11737
diff changeset
96 { PIX_FMT_MONOBLACK,MKTAG('B', '0', 'W', '1') },
11737
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
97 { PIX_FMT_BGR8, MKTAG('B', 'G', 'R', 8 ) },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
98 { PIX_FMT_RGB8, MKTAG('R', 'G', 'B', 8 ) },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
99 { PIX_FMT_BGR4, MKTAG('B', 'G', 'R', 4 ) },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
100 { PIX_FMT_RGB4, MKTAG('R', 'G', 'B', 4 ) },
11843
c2438ba304e0 Add support to B4BY and R4BY NUT codec tags added in NUT r672.
stefano
parents: 11840
diff changeset
101 { PIX_FMT_RGB4_BYTE,MKTAG('B', '4', 'B', 'Y') },
c2438ba304e0 Add support to B4BY and R4BY NUT codec tags added in NUT r672.
stefano
parents: 11840
diff changeset
102 { PIX_FMT_BGR4_BYTE,MKTAG('R', '4', 'B', 'Y') },
11737
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
103 { PIX_FMT_RGB48LE, MKTAG('R', 'G', 'B', 48 ) },
74a65e23c2e7 Add missing rawvideo pixel formats to codec tags mappings for nut.
stefano
parents: 11736
diff changeset
104 { PIX_FMT_RGB48BE, MKTAG( 48, 'R', 'G', 'B') },
11779
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
105 { PIX_FMT_GRAY16LE, MKTAG('Y', '1', 0 , 16 ) },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
106 { PIX_FMT_GRAY16BE, MKTAG(16 , 0 , '1', 'Y') },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
107 { PIX_FMT_YUV420P16LE, MKTAG('Y', '3', 11 , 16 ) },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
108 { PIX_FMT_YUV420P16BE, MKTAG(16 , 11 , '3', 'Y') },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
109 { PIX_FMT_YUV422P16LE, MKTAG('Y', '3', 10 , 16 ) },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
110 { PIX_FMT_YUV422P16BE, MKTAG(16 , 10 , '3', 'Y') },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
111 { PIX_FMT_YUV444P16LE, MKTAG('Y', '3', 0 , 16 ) },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
112 { PIX_FMT_YUV444P16BE, MKTAG(16 , 0 , '3', 'Y') },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
113 { PIX_FMT_YUVA420P, MKTAG('Y', '4', 11 , 8 ) },
9371254837b5 Add support for the newly added Nut codec tags (added in Nut r669):
stefano
parents: 11751
diff changeset
114 { PIX_FMT_Y400A, MKTAG('Y', '2', 0 , 8 ) },
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
115
3306
78963e63a45c add quicktime uncompressed 8bit 4:2:2 support
bcoudurier
parents: 3160
diff changeset
116 /* quicktime */
78963e63a45c add quicktime uncompressed 8bit 4:2:2 support
bcoudurier
parents: 3160
diff changeset
117 { PIX_FMT_UYVY422, MKTAG('2', 'v', 'u', 'y') },
10888
427070f45916 Support 2Vuy in mov, fixes issue 1690.
cehoyos
parents: 10885
diff changeset
118 { PIX_FMT_UYVY422, MKTAG('2', 'V', 'u', 'y') },
4619
9358bf66a1d0 partial avid meridien uncompressed support
bcoudurier
parents: 4611
diff changeset
119 { PIX_FMT_UYVY422, MKTAG('A', 'V', 'U', 'I') }, /* FIXME merge both fields */
9335
c7396480f8e3 Map MOV fourcc YUV2 correctly to PIX_FMT_YUYV422.
cehoyos
parents: 8718
diff changeset
120 { PIX_FMT_YUYV422, MKTAG('y', 'u', 'v', '2') },
10490
27750570f2d4 add yuvs fourcc to raw.c and isom.c, fixes samples/mov/yuvs.mov
compn
parents: 10486
diff changeset
121 { PIX_FMT_YUYV422, MKTAG('y', 'u', 'v', 's') },
8256
765685da1483 partial WRAW fourcc support, might need image flipping
bcoudurier
parents: 8023
diff changeset
122 { PIX_FMT_PAL8, MKTAG('W', 'R', 'A', 'W') },
11831
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
123 { PIX_FMT_RGB555LE,MKTAG('L', '5', '5', '5') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
124 { PIX_FMT_RGB565LE,MKTAG('L', '5', '6', '5') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
125 { PIX_FMT_RGB565BE,MKTAG('B', '5', '6', '5') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
126 { PIX_FMT_BGR24, MKTAG('2', '4', 'B', 'G') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
127 { PIX_FMT_BGRA, MKTAG('B', 'G', 'R', 'A') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
128 { PIX_FMT_RGBA, MKTAG('R', 'G', 'B', 'A') },
9b1da3f82dd7 More mov rawvideo fourcc supported by the rawvideo decoder
bcoudurier
parents: 11815
diff changeset
129 { PIX_FMT_ABGR, MKTAG('A', 'B', 'G', 'R') },
11880
3ab26ab83911 Support gray16be and rgb48be in mov
bcoudurier
parents: 11843
diff changeset
130 { PIX_FMT_GRAY16BE,MKTAG('b', '1', '6', 'g') },
3ab26ab83911 Support gray16be and rgb48be in mov
bcoudurier
parents: 11843
diff changeset
131 { PIX_FMT_RGB48BE, MKTAG('b', '4', '8', 'r') },
3306
78963e63a45c add quicktime uncompressed 8bit 4:2:2 support
bcoudurier
parents: 3160
diff changeset
132
11697
79a98585aa2d Reorder nut specific codec tags and add a comment for marking them as
stefano
parents: 11696
diff changeset
133 /* special */
79a98585aa2d Reorder nut specific codec tags and add a comment for marking them as
stefano
parents: 11696
diff changeset
134 { PIX_FMT_RGB565LE,MKTAG( 3 , 0 , 0 , 0 ) }, /* flipped RGB565LE */
79a98585aa2d Reorder nut specific codec tags and add a comment for marking them as
stefano
parents: 11696
diff changeset
135
8023
76f6a08c9fe6 Fix some icc warnings by using enum PixelFormat instead of int where appropriate.
cehoyos
parents: 5695
diff changeset
136 { PIX_FMT_NONE, 0 },
1139
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
137 };
6842feb093c1 rawvideo patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michaelni
parents:
diff changeset
138
2341
d9c9b42767da fix image stream copy
michael
parents: 2166
diff changeset
139 unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat fmt)
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
140 {
11751
378caf7b42ef Rename ff_raw_pixelFormatTags symbol to ff_raw_pix_fmt_tags.
stefano
parents: 11740
diff changeset
141 const PixelFormatTag *tags = ff_raw_pix_fmt_tags;
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
142 while (tags->pix_fmt >= 0) {
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
143 if (tags->pix_fmt == fmt)
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
144 return tags->fourcc;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
145 tags++;
1231
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
146 }
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
147 return 0;
b88dfc4bbf8c * introducing new public interface in imgconvert.c
romansh
parents: 1195
diff changeset
148 }