libavdevice/iec61883.c File Reference

libiec61883 interface More...

#include <sys/poll.h>
#include <libraw1394/raw1394.h>
#include <libavc1394/avc1394.h>
#include <libavc1394/rom1394.h>
#include <libiec61883/iec61883.h>
#include "libavformat/dv.h"
#include "libavformat/mpegts.h"
#include "libavutil/opt.h"
#include "avdevice.h"

Go to the source code of this file.

Data Structures

struct  DVPacket
 For DV, one packet corresponds exactly to one frame. More...
struct  iec61883_data

Defines

#define THREADS   HAVE_PTHREADS
#define MOTDCT_SPEC_ID   0x00005068
#define IEC61883_AUTO   0
#define IEC61883_DV   1
#define IEC61883_HDV   2

Functions

static int iec61883_callback (unsigned char *data, int length, int complete, void *callback_data)
static void * iec61883_receive_task (void *opaque)
static int iec61883_parse_queue_dv (struct iec61883_data *dv, AVPacket *pkt)
static int iec61883_parse_queue_hdv (struct iec61883_data *dv, AVPacket *pkt)
static int iec61883_read_header (AVFormatContext *context)
static int iec61883_read_packet (AVFormatContext *context, AVPacket *pkt)
static int iec61883_close (AVFormatContext *context)

Variables

static const AVOption options []
static const AVClass iec61883_class
AVInputFormat ff_iec61883_demuxer


Detailed Description

libiec61883 interface

Definition in file iec61883.c.


Define Documentation

#define IEC61883_AUTO   0

Definition at line 43 of file iec61883.c.

Referenced by iec61883_read_header().

#define IEC61883_DV   1

Definition at line 44 of file iec61883.c.

Referenced by iec61883_read_header().

#define IEC61883_HDV   2

Definition at line 45 of file iec61883.c.

Referenced by iec61883_close(), and iec61883_read_header().

#define MOTDCT_SPEC_ID   0x00005068

Definition at line 42 of file iec61883.c.

Referenced by iec61883_read_header().

#define THREADS   HAVE_PTHREADS

Definition at line 36 of file iec61883.c.


Function Documentation

static int iec61883_callback ( unsigned char *  data,
int  length,
int  complete,
void *  callback_data 
) [static]

Definition at line 96 of file iec61883.c.

Referenced by iec61883_read_header().

static int iec61883_close ( AVFormatContext context  )  [static]

Definition at line 406 of file iec61883.c.

static int iec61883_parse_queue_dv ( struct iec61883_data dv,
AVPacket pkt 
) [static]

Definition at line 184 of file iec61883.c.

Referenced by iec61883_read_header().

static int iec61883_parse_queue_hdv ( struct iec61883_data dv,
AVPacket pkt 
) [static]

Definition at line 210 of file iec61883.c.

Referenced by iec61883_read_header().

static int iec61883_read_header ( AVFormatContext context  )  [static]

Definition at line 231 of file iec61883.c.

static int iec61883_read_packet ( AVFormatContext context,
AVPacket pkt 
) [static]

Try to parse frames from queue

Definition at line 377 of file iec61883.c.

static void* iec61883_receive_task ( void *  opaque  )  [static]

Definition at line 147 of file iec61883.c.

Referenced by iec61883_read_header(), and iec61883_read_packet().


Variable Documentation

Initial value:

 {
    .name           = "iec61883",
    .long_name      = NULL_IF_CONFIG_SMALL("libiec61883 (new DV1394) A/V input device"),
    .priv_data_size = sizeof(struct iec61883_data),
    .read_header    = iec61883_read_header,
    .read_packet    = iec61883_read_packet,
    .read_close     = iec61883_close,
    .flags          = AVFMT_NOFILE,
    .priv_class     = &iec61883_class,
}

Definition at line 457 of file iec61883.c.

const AVClass iec61883_class [static]

Initial value:

 {
    .class_name = "iec61883 indev",
    .item_name  = av_default_item_name,
    .option     = options,
    .version    = LIBAVUTIL_VERSION_INT,
}

Definition at line 450 of file iec61883.c.

const AVOption options[] [static]

Initial value:

 {
    { "dvtype", "override autodetection of DV/HDV", 0x42, AV_OPT_TYPE_INT, {.i64 = IEC61883_AUTO}, IEC61883_AUTO, IEC61883_HDV, AV_OPT_FLAG_DECODING_PARAM, "dvtype" },
    { "auto",   "auto detect DV/HDV", 0, AV_OPT_TYPE_CONST, {.i64 = IEC61883_AUTO}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "dvtype" },
    { "dv",     "force device being treated as DV device", 0, AV_OPT_TYPE_CONST, {.i64 = IEC61883_DV},   0, 0, AV_OPT_FLAG_DECODING_PARAM, "dvtype" },
    { "hdv" ,   "force device being treated as HDV device", 0, AV_OPT_TYPE_CONST, {.i64 = IEC61883_HDV},  0, 0, AV_OPT_FLAG_DECODING_PARAM, "dvtype" },
    { "dvbuffer", "set queue buffer size (in packets)", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
    { NULL },
}

Definition at line 441 of file iec61883.c.


Generated on Fri Oct 26 02:50:08 2012 for FFmpeg by  doxygen 1.5.8