dvenc.c File Reference
#include <time.h>
#include <stdarg.h>
#include "avformat.h"
#include "internal.h"
#include "libavcodec/dvdata.h"
#include "dv.h"
#include "libavutil/fifo.h"
#include "libavutil/mathematics.h"

Go to the source code of this file.

Data Structures

struct  DVMuxContext

Functions

static int dv_audio_frame_size (const DVprofile *sys, int frame)
static int dv_write_pack (enum dv_pack_type pack_id, DVMuxContext *c, uint8_t *buf,...)
static void dv_inject_audio (DVMuxContext *c, int channel, uint8_t *frame_ptr)
static void dv_inject_metadata (DVMuxContext *c, uint8_t *frame)
static int dv_assemble_frame (DVMuxContext *c, AVStream *st, uint8_t *data, int data_size, uint8_t **frame)
static DVMuxContextdv_init_mux (AVFormatContext *s)
static void dv_delete_mux (DVMuxContext *c)
static int dv_write_header (AVFormatContext *s)
static int dv_write_packet (struct AVFormatContext *s, AVPacket *pkt)
static int dv_write_trailer (struct AVFormatContext *s)

Variables

static const int dv_aaux_packs_dist [12][9]
AVOutputFormat ff_dv_muxer

Function Documentation

static int dv_assemble_frame ( DVMuxContext c,
AVStream st,
uint8_t *  data,
int  data_size,
uint8_t **  frame 
)
static

Definition at line 236 of file dvenc.c.

Referenced by dv_write_packet().

static int dv_audio_frame_size ( const DVprofile sys,
int  frame 
)
static

Definition at line 67 of file dvenc.c.

Referenced by dv_assemble_frame(), dv_inject_audio(), and dv_write_pack().

static void dv_delete_mux ( DVMuxContext c)
static

Definition at line 365 of file dvenc.c.

Referenced by dv_write_trailer().

static DVMuxContext* dv_init_mux ( AVFormatContext s)
static

Definition at line 289 of file dvenc.c.

Referenced by dv_write_header().

static void dv_inject_audio ( DVMuxContext c,
int  channel,
uint8_t *  frame_ptr 
)
static

Definition at line 181 of file dvenc.c.

Referenced by dv_assemble_frame().

static void dv_inject_metadata ( DVMuxContext c,
uint8_t *  frame 
)
static

Definition at line 203 of file dvenc.c.

Referenced by dv_assemble_frame().

static int dv_write_header ( AVFormatContext s)
static

Definition at line 372 of file dvenc.c.

static int dv_write_pack ( enum dv_pack_type  pack_id,
DVMuxContext c,
uint8_t *  buf,
  ... 
)
static

Definition at line 73 of file dvenc.c.

Referenced by dv_inject_audio(), and dv_inject_metadata().

static int dv_write_packet ( struct AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 384 of file dvenc.c.

static int dv_write_trailer ( struct AVFormatContext s)
static

Definition at line 404 of file dvenc.c.

Variable Documentation

const int dv_aaux_packs_dist[12][9]
static
Initial value:
{
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xff, 0xff, 0xff, 0x50, 0x51, 0x52, 0x53, 0xff, 0xff },
{ 0x50, 0x51, 0x52, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff },
}

Definition at line 52 of file dvenc.c.

Referenced by dv_inject_audio().

AVOutputFormat ff_dv_muxer
Initial value:
{
.name = "dv",
.long_name = NULL_IF_CONFIG_SMALL("DV video format"),
.extensions = "dv",
.priv_data_size = sizeof(DVMuxContext),
.audio_codec = CODEC_ID_PCM_S16LE,
.video_codec = CODEC_ID_DVVIDEO,
}

Definition at line 410 of file dvenc.c.