ffmpeg / libavcodec / raw.c @ c78dfcda
History | View | Annotate | Download (3.02 KB)
1 |
/*
|
---|---|
2 |
* Raw Video Codec
|
3 |
* Copyright (c) 2001 Fabrice Bellard
|
4 |
*
|
5 |
* This file is part of FFmpeg.
|
6 |
*
|
7 |
* FFmpeg is free software; you can redistribute it and/or
|
8 |
* modify it under the terms of the GNU Lesser General Public
|
9 |
* License as published by the Free Software Foundation; either
|
10 |
* version 2.1 of the License, or (at your option) any later version.
|
11 |
*
|
12 |
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
* Lesser General Public License for more details.
|
16 |
*
|
17 |
* You should have received a copy of the GNU Lesser General Public
|
18 |
* License along with FFmpeg; if not, write to the Free Software
|
19 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
*/
|
21 |
|
22 |
/**
|
23 |
* @file libavcodec/raw.c
|
24 |
* Raw Video Codec
|
25 |
*/
|
26 |
|
27 |
#include "avcodec.h" |
28 |
#include "raw.h" |
29 |
|
30 |
const PixelFormatTag ff_raw_pixelFormatTags[] = {
|
31 |
{ PIX_FMT_YUV420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */ |
32 |
{ PIX_FMT_YUV420P, MKTAG('I', 'Y', 'U', 'V') }, |
33 |
{ PIX_FMT_YUV420P, MKTAG('Y', 'V', '1', '2') }, |
34 |
{ PIX_FMT_YUV410P, MKTAG('Y', 'U', 'V', '9') }, |
35 |
{ PIX_FMT_YUV410P, MKTAG('Y', 'V', 'U', '9') }, |
36 |
{ PIX_FMT_YUV411P, MKTAG('Y', '4', '1', 'B') }, |
37 |
{ PIX_FMT_YUV422P, MKTAG('Y', '4', '2', 'B') }, |
38 |
{ PIX_FMT_YUV422P, MKTAG('P', '4', '2', '2') }, |
39 |
{ PIX_FMT_GRAY8, MKTAG('Y', '8', '0', '0') }, |
40 |
{ PIX_FMT_GRAY8, MKTAG(' ', ' ', 'Y', '8') }, |
41 |
|
42 |
|
43 |
{ PIX_FMT_YUYV422, MKTAG('Y', 'U', 'Y', '2') }, /* Packed formats */ |
44 |
{ PIX_FMT_YUYV422, MKTAG('Y', '4', '2', '2') }, |
45 |
{ PIX_FMT_YUYV422, MKTAG('V', '4', '2', '2') }, |
46 |
{ PIX_FMT_YUYV422, MKTAG('V', 'Y', 'U', 'Y') }, |
47 |
{ PIX_FMT_YUYV422, MKTAG('Y', 'U', 'N', 'V') }, |
48 |
{ PIX_FMT_UYVY422, MKTAG('U', 'Y', 'V', 'Y') }, |
49 |
{ PIX_FMT_UYVY422, MKTAG('H', 'D', 'Y', 'C') }, |
50 |
{ PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'V') }, |
51 |
{ PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'Y') }, |
52 |
{ PIX_FMT_UYVY422, MKTAG('u', 'y', 'v', '1') }, |
53 |
{ PIX_FMT_UYVY422, MKTAG('2', 'V', 'u', '1') }, |
54 |
{ PIX_FMT_UYVY422, MKTAG('A', 'V', 'R', 'n') }, /* Avid AVI Codec 1:1 */ |
55 |
{ PIX_FMT_GRAY8, MKTAG('G', 'R', 'E', 'Y') }, |
56 |
{ PIX_FMT_RGB555, MKTAG('R', 'G', 'B', 15) }, |
57 |
{ PIX_FMT_BGR555, MKTAG('B', 'G', 'R', 15) }, |
58 |
{ PIX_FMT_RGB565, MKTAG('R', 'G', 'B', 16) }, |
59 |
{ PIX_FMT_BGR565, MKTAG('B', 'G', 'R', 16) }, |
60 |
{ PIX_FMT_RGB565, MKTAG( 3 , 0 , 0 , 0 ) }, |
61 |
|
62 |
/* quicktime */
|
63 |
{ PIX_FMT_UYVY422, MKTAG('2', 'v', 'u', 'y') }, |
64 |
{ PIX_FMT_UYVY422, MKTAG('A', 'V', 'U', 'I') }, /* FIXME merge both fields */ |
65 |
{ PIX_FMT_YUYV422, MKTAG('y', 'u', 'v', '2') }, |
66 |
{ PIX_FMT_YUYV422, MKTAG('y', 'u', 'v', 's') }, |
67 |
{ PIX_FMT_PAL8, MKTAG('W', 'R', 'A', 'W') }, |
68 |
|
69 |
{ PIX_FMT_NONE, 0 },
|
70 |
}; |
71 |
|
72 |
unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat fmt) |
73 |
{ |
74 |
const PixelFormatTag * tags = ff_raw_pixelFormatTags;
|
75 |
while (tags->pix_fmt >= 0) { |
76 |
if (tags->pix_fmt == fmt)
|
77 |
return tags->fourcc;
|
78 |
tags++; |
79 |
} |
80 |
return 0; |
81 |
} |