#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) |
Typedefs | |
typedef struct PacketDesc | PacketDesc |
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 MPEGENC_CLASS | ( | flavor | ) |
static const AVClass flavor ## _class = {\ .class_name = #flavor " muxer",\ .item_name = av_default_item_name,\ .version = LIBAVUTIL_VERSION_INT,\ .option = options,\ };
#define OFFSET | ( | x | ) | offsetof(MpegMuxContext, x) |
typedef struct PacketDesc PacketDesc |
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.
Referenced by output_packet().
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] |
static int mpeg_mux_init | ( | AVFormatContext * | ctx | ) | [static] |
static int mpeg_mux_write_packet | ( | AVFormatContext * | ctx, |
AVPacket * | pkt | ||
) | [static] |
static int output_packet | ( | AVFormatContext * | ctx, |
int | flush | ||
) | [static] |
Definition at line 1032 of file mpegenc.c.
Referenced by mpeg_mux_end(), and mpeg_mux_write_packet().
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().
{ { "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 }, }