FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
v4l.c File Reference
#include "avdevice.h"
#include "config.h"
#include "libavutil/rational.h"
#include "libavutil/imgutils.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavformat/internal.h"
#include "libavcodec/dsputil.h"
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <linux/videodev.h>
#include <time.h>

Go to the source code of this file.

Data Structures

struct  VideoData
 

Macros

#define _LINUX_TIME_H   1
 

Functions

static int grab_read_header (AVFormatContext *s1, AVFormatParameters *ap)
 
static int v4l_mm_read_picture (VideoData *s, uint8_t *buf)
 
static int grab_read_packet (AVFormatContext *s1, AVPacket *pkt)
 
static int grab_read_close (AVFormatContext *s1)
 

Variables

struct {
   int   palette
 
   int   depth
 
   enum AVPixelFormat   pix_fmt
 
video_formats []
 
static const AVOption options []
 
static const AVClass v4l_class
 
AVInputFormat ff_v4l_demuxer
 

Macro Definition Documentation

#define _LINUX_TIME_H   1

Definition at line 37 of file v4l.c.

Function Documentation

static int grab_read_header ( AVFormatContext s1,
AVFormatParameters *  ap 
)
static

Definition at line 76 of file v4l.c.

static int v4l_mm_read_picture ( VideoData s,
uint8_t buf 
)
static

Definition at line 257 of file v4l.c.

Referenced by grab_read_packet().

static int grab_read_packet ( AVFormatContext s1,
AVPacket pkt 
)
static

Definition at line 283 of file v4l.c.

static int grab_read_close ( AVFormatContext s1)
static

Definition at line 323 of file v4l.c.

Variable Documentation

int palette
int depth
enum AVPixelFormat pix_fmt
struct { ... } video_formats[]
Initial value:
= {
{.palette = VIDEO_PALETTE_YUV420P, .depth = 12, .pix_fmt = AV_PIX_FMT_YUV420P },
{.palette = VIDEO_PALETTE_YUV422, .depth = 16, .pix_fmt = AV_PIX_FMT_YUYV422 },
{.palette = VIDEO_PALETTE_UYVY, .depth = 16, .pix_fmt = AV_PIX_FMT_UYVY422 },
{.palette = VIDEO_PALETTE_YUYV, .depth = 16, .pix_fmt = AV_PIX_FMT_YUYV422 },
{.palette = VIDEO_PALETTE_RGB24, .depth = 24, .pix_fmt = AV_PIX_FMT_BGR24 },
{.palette = VIDEO_PALETTE_RGB565, .depth = 16, .pix_fmt = AV_PIX_FMT_BGR565 },
{.palette = VIDEO_PALETTE_GREY, .depth = 8, .pix_fmt = AV_PIX_FMT_GRAY8 },
}

Referenced by grab_read_header().

const AVOption options[]
static
Initial value:
= {
{ "standard", "", 0x42, AV_OPT_TYPE_INT, {.i64 = VIDEO_MODE_NTSC}, VIDEO_MODE_PAL, VIDEO_MODE_NTSC, AV_OPT_FLAG_DECODING_PARAM, "standard" },
{ "PAL", "", 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_MODE_PAL}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "standard" },
{ "SECAM", "", 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_MODE_SECAM}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "standard" },
{ "NTSC", "", 0, AV_OPT_TYPE_CONST, {.i64 = VIDEO_MODE_NTSC}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "standard" },
{ NULL },
}

Definition at line 339 of file v4l.c.

const AVClass v4l_class
static
Initial value:
= {
.class_name = "V4L indev",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 347 of file v4l.c.

AVInputFormat ff_v4l_demuxer
Initial value:
= {
.name = "video4linux,v4l",
.long_name = NULL_IF_CONFIG_SMALL("Video4Linux device grab"),
.priv_data_size = sizeof(VideoData),
.priv_class = &v4l_class,
}

Definition at line 354 of file v4l.c.