1 /*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
20
22 //ff_fmt codec_id v4l2_fmt
40 #ifdef V4L2_PIX_FMT_Y16
42 #endif
46 #ifdef V4L2_PIX_FMT_H264
48 #endif
49 #ifdef V4L2_PIX_FMT_MPEG4
51 #endif
52 #ifdef V4L2_PIX_FMT_CPIA1
54 #endif
55 #ifdef V4L2_PIX_FMT_SRGGB8
60 #endif
62 };
63
65 {
66 int i;
67
70 ff_fmt_conversion_table[i].codec_id == codec_id) &&
72 ff_fmt_conversion_table[i].
ff_fmt == pix_fmt)) {
73 return ff_fmt_conversion_table[i].
v4l2_fmt;
74 }
75 }
76
77 return 0;
78 }
79
81 {
82 int i;
83
85 if (ff_fmt_conversion_table[i].v4l2_fmt == v4l2_fmt &&
86 ff_fmt_conversion_table[i].codec_id == codec_id) {
87 return ff_fmt_conversion_table[i].
ff_fmt;
88 }
89 }
90
92 }
93
95 {
96 int i;
97
99 if (ff_fmt_conversion_table[i].v4l2_fmt == v4l2_fmt) {
100 return ff_fmt_conversion_table[i].
codec_id;
101 }
102 }
103
105 }
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
static enum AVPixelFormat pix_fmt
packed RGB 8:8:8, 24bpp, RGBRGB...
bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */
bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined ...
bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */
uint32_t ff_fmt_ff2v4l(enum AVPixelFormat pix_fmt, enum AVCodecID codec_id)
const struct fmt_map ff_fmt_conversion_table[]
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
AVCodecID
Identify the syntax and semantics of the bitstream.
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
packed RGB 8:8:8, 24bpp, BGRBGR...
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
enum AVCodecID ff_fmt_v4l2codec(uint32_t v4l2_fmt)
Y , 16bpp, little-endian.
enum AVPixelFormat ff_fmt_v4l2ff(uint32_t v4l2_fmt, enum AVCodecID codec_id)
enum AVPixelFormat ff_fmt
packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined
AVPixelFormat
Pixel format.