FFmpeg
libavdevice
v4l2-common.h
Go to the documentation of this file.
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
19
#ifndef AVDEVICE_V4L2_COMMON_H
20
#define AVDEVICE_V4L2_COMMON_H
21
22
#undef __STRICT_ANSI__ //workaround due to broken kernel headers
23
#include "
config.h
"
24
#include "
libavformat/internal.h
"
25
#include <unistd.h>
26
#include <fcntl.h>
27
#include <sys/ioctl.h>
28
#include <sys/mman.h>
29
#include <sys/time.h>
30
#if HAVE_SYS_VIDEOIO_H
31
#include <sys/videoio.h>
32
#else
33
#if HAVE_ASM_TYPES_H
34
#include <asm/types.h>
35
#endif
36
#include <linux/videodev2.h>
37
#endif
38
#include "
libavutil/avassert.h
"
39
#include "
libavutil/imgutils.h
"
40
#include "
libavutil/log.h
"
41
#include "
libavutil/opt.h
"
42
#include "
avdevice.h
"
43
#include "
timefilter.h
"
44
#include "
libavutil/parseutils.h
"
45
#include "
libavutil/pixdesc.h
"
46
#include "
libavutil/time.h
"
47
#include "
libavutil/avstring.h
"
48
49
struct
fmt_map
{
50
enum
AVPixelFormat
ff_fmt
;
51
enum
AVCodecID
codec_id
;
52
uint32_t
v4l2_fmt
;
53
};
54
55
extern
const
struct
fmt_map
ff_fmt_conversion_table
[];
56
57
uint32_t
ff_fmt_ff2v4l
(
enum
AVPixelFormat
pix_fmt
,
enum
AVCodecID
codec_id
);
58
enum
AVPixelFormat
ff_fmt_v4l2ff
(uint32_t
v4l2_fmt
,
enum
AVCodecID
codec_id
);
59
enum
AVCodecID
ff_fmt_v4l2codec
(uint32_t
v4l2_fmt
);
60
61
#endif
/* AVDEVICE_V4L2_COMMON_H */
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:64
opt.h
codec_id
enum AVCodecID codec_id
Definition:
qsv.c:72
pixdesc.h
ff_fmt_v4l2codec
enum AVCodecID ff_fmt_v4l2codec(uint32_t v4l2_fmt)
Definition:
v4l2-common.c:103
ff_fmt_ff2v4l
uint32_t ff_fmt_ff2v4l(enum AVPixelFormat pix_fmt, enum AVCodecID codec_id)
Definition:
v4l2-common.c:73
avassert.h
ff_fmt_conversion_table
const struct fmt_map ff_fmt_conversion_table[]
Definition:
v4l2-common.c:21
pix_fmt
static enum AVPixelFormat pix_fmt
Definition:
demuxing_decoding.c:40
internal.h
timefilter.h
parseutils.h
fmt_map::v4l2_fmt
uint32_t v4l2_fmt
Definition:
v4l2-common.h:52
time.h
AVCodecID
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition:
avcodec.h:215
avdevice.h
fmt_map::codec_id
enum AVCodecID codec_id
Definition:
v4l2-common.h:51
log.h
config.h
fmt_map
Definition:
v4l2-common.h:49
imgutils.h
avstring.h
ff_fmt_v4l2ff
enum AVPixelFormat ff_fmt_v4l2ff(uint32_t v4l2_fmt, enum AVCodecID codec_id)
Definition:
v4l2-common.c:89
fmt_map::ff_fmt
enum AVPixelFormat ff_fmt
Definition:
v4l2-common.h:50
Generated on Wed Aug 24 2022 21:27:06 for FFmpeg by
1.8.17