libavformat/mpegenc.c File Reference

#include "libavutil/fifo.h"
#include "libavutil/log.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavcodec/put_bits.h"
#include "avformat.h"
#include "internal.h"
#include "mpeg.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  PacketDesc
struct  StreamInfo
struct  MpegMuxContext

Defines

#define MAX_PAYLOAD_SIZE   4096
#define OFFSET(x)   offsetof(MpegMuxContext, x)
#define E   AV_OPT_FLAG_ENCODING_PARAM
#define MPEGENC_CLASS(flavor)

Functions

static int put_pack_header (AVFormatContext *ctx, uint8_t *buf, int64_t timestamp)
static int put_system_header (AVFormatContext *ctx, uint8_t *buf, int only_for_stream_id)
static int get_system_header_size (AVFormatContext *ctx)
static int mpeg_mux_init (AVFormatContext *ctx)
static void put_timestamp (AVIOContext *pb, int id, int64_t timestamp)
static int get_vcd_padding_size (AVFormatContext *ctx, int64_t pts)
static void put_padding_packet (AVFormatContext *ctx, AVIOContext *pb, int packet_bytes)
static int get_nb_frames (AVFormatContext *ctx, StreamInfo *stream, int len)
static int flush_packet (AVFormatContext *ctx, int stream_index, int64_t pts, int64_t dts, int64_t scr, int trailer_size)
static void put_vcd_padding_sector (AVFormatContext *ctx)
static int remove_decoded_packets (AVFormatContext *ctx, int64_t scr)
static int output_packet (AVFormatContext *ctx, int flush)
static int mpeg_mux_write_packet (AVFormatContext *ctx, AVPacket *pkt)
static int mpeg_mux_end (AVFormatContext *ctx)

Variables

AVOutputFormat ff_mpeg1vcd_muxer
AVOutputFormat ff_mpeg2dvd_muxer
AVOutputFormat ff_mpeg2svcd_muxer
AVOutputFormat ff_mpeg2vob_muxer
static const AVOption options []


Define Documentation

#define E   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 1245 of file mpegenc.c.

#define MAX_PAYLOAD_SIZE   4096

Definition at line 31 of file mpegenc.c.

#define MPEGENC_CLASS ( flavor   ) 

Value:

static const AVClass flavor ## _class = {\
    .class_name = #flavor " muxer",\
    .item_name  = av_default_item_name,\
    .version    = LIBAVUTIL_VERSION_INT,\
    .option     = options,\
};

Definition at line 1252 of file mpegenc.c.

#define OFFSET (  )     offsetof(MpegMuxContext, x)

Definition at line 1244 of file mpegenc.c.


Function Documentation

static int flush_packet ( AVFormatContext ctx,
int  stream_index,
int64_t  pts,
int64_t  dts,
int64_t  scr,
int  trailer_size 
) [static]

Definition at line 656 of file mpegenc.c.

static int get_nb_frames ( AVFormatContext ctx,
StreamInfo stream,
int  len 
) [static]

Definition at line 641 of file mpegenc.c.

Referenced by flush_packet().

static int get_system_header_size ( AVFormatContext ctx  )  [static]

Definition at line 272 of file mpegenc.c.

Referenced by mpeg_mux_init().

static int get_vcd_padding_size ( AVFormatContext ctx,
int64_t  pts 
) [static]

Definition at line 515 of file mpegenc.c.

Referenced by output_packet().

static int mpeg_mux_end ( AVFormatContext ctx  )  [static]

Definition at line 1215 of file mpegenc.c.

static int mpeg_mux_init ( AVFormatContext ctx  )  [static]

Definition at line 295 of file mpegenc.c.

static int mpeg_mux_write_packet ( AVFormatContext ctx,
AVPacket pkt 
) [static]

Definition at line 1153 of file mpegenc.c.

static int output_packet ( AVFormatContext ctx,
int  flush 
) [static]

Definition at line 1032 of file mpegenc.c.

static int put_pack_header ( AVFormatContext ctx,
uint8_t *  buf,
int64_t  timestamp 
) [static]

Definition at line 89 of file mpegenc.c.

Referenced by flush_packet().

static void put_padding_packet ( AVFormatContext ctx,
AVIOContext pb,
int  packet_bytes 
) [static]

Definition at line 624 of file mpegenc.c.

Referenced by flush_packet().

static int put_system_header ( AVFormatContext ctx,
uint8_t *  buf,
int  only_for_stream_id 
) [static]

Definition at line 125 of file mpegenc.c.

Referenced by flush_packet().

static void put_timestamp ( AVIOContext pb,
int  id,
int64_t  timestamp 
) [inline, static]

Definition at line 502 of file mpegenc.c.

Referenced by flush_packet().

static void put_vcd_padding_sector ( AVFormatContext ctx  )  [static]

Definition at line 957 of file mpegenc.c.

Referenced by output_packet().

static int remove_decoded_packets ( AVFormatContext ctx,
int64_t  scr 
) [static]

Definition at line 1004 of file mpegenc.c.

Referenced by output_packet().


Variable Documentation

const AVOption options[] [static]

Initial value:

 {
    { "muxrate", NULL, OFFSET(mux_rate), AV_OPT_TYPE_INT, {0}, 0, INT_MAX, E },
    { "preload", "Initial demux-decode delay in microseconds.", OFFSET(preload),  AV_OPT_TYPE_INT, {500000}, 0, INT_MAX, E},
    { NULL },
}

Definition at line 1246 of file mpegenc.c.


Generated on Fri Oct 26 02:46:13 2012 for FFmpeg by  doxygen 1.5.8