#include "libavutil/bswap.h"
#include "libavutil/crc.h"
#include "libavcodec/mpegvideo.h"
#include "avformat.h"
#include "internal.h"
#include "mpegts.h"
#include "adts.h"
Go to the source code of this file.
Data Structures | |
struct | MpegTSSection |
struct | MpegTSService |
struct | MpegTSWrite |
struct | MpegTSWriteStream |
Defines | |
#define | DEFAULT_PMT_START_PID 0x1000 |
#define | DEFAULT_START_PID 0x0100 |
#define | DEFAULT_PROVIDER_NAME "FFmpeg" |
#define | DEFAULT_SERVICE_NAME "Service01" |
#define | DEFAULT_ONID 0x0001 |
#define | DEFAULT_TSID 0x0001 |
#define | DEFAULT_SID 0x0001 |
#define | DEFAULT_PES_HEADER_FREQ 16 |
#define | DEFAULT_PES_PAYLOAD_SIZE ((DEFAULT_PES_HEADER_FREQ - 1) * 184 + 170) |
#define | SDT_RETRANS_TIME 500 |
#define | PAT_RETRANS_TIME 100 |
#define | PCR_RETRANS_TIME 20 |
Functions | |
static void | mpegts_write_section (MpegTSSection *s, uint8_t *buf, int len) |
static void | put16 (uint8_t **q_ptr, int val) |
static int | mpegts_write_section1 (MpegTSSection *s, int tid, int id, int version, int sec_num, int last_sec_num, uint8_t *buf, int len) |
static void | mpegts_write_pat (AVFormatContext *s) |
static void | mpegts_write_pmt (AVFormatContext *s, MpegTSService *service) |
static void | putstr8 (uint8_t **q_ptr, const char *str) |
static void | mpegts_write_sdt (AVFormatContext *s) |
static MpegTSService * | mpegts_add_service (MpegTSWrite *ts, int sid, const char *provider_name, const char *name) |
static void | section_write_packet (MpegTSSection *s, const uint8_t *packet) |
static int | mpegts_write_header (AVFormatContext *s) |
static void | retransmit_si_info (AVFormatContext *s) |
static void | mpegts_insert_null_packet (AVFormatContext *s) |
static void | mpegts_insert_pcr_only (AVFormatContext *s, AVStream *st) |
static void | write_pts (uint8_t *q, int fourbits, int64_t pts) |
static void | mpegts_write_pes (AVFormatContext *s, AVStream *st, const uint8_t *payload, int payload_size, int64_t pts, int64_t dts) |
static int | mpegts_write_packet (AVFormatContext *s, AVPacket *pkt) |
static int | mpegts_write_end (AVFormatContext *s) |
Variables | |
AVOutputFormat | mpegts_muxer |
#define DEFAULT_ONID 0x0001 |
#define DEFAULT_PES_HEADER_FREQ 16 |
Definition at line 165 of file mpegtsenc.c.
#define DEFAULT_PES_PAYLOAD_SIZE ((DEFAULT_PES_HEADER_FREQ - 1) * 184 + 170) |
#define DEFAULT_PMT_START_PID 0x1000 |
#define DEFAULT_PROVIDER_NAME "FFmpeg" |
#define DEFAULT_SERVICE_NAME "Service01" |
#define DEFAULT_SID 0x0001 |
#define DEFAULT_START_PID 0x0100 |
#define DEFAULT_TSID 0x0001 |
#define PAT_RETRANS_TIME 100 |
#define PCR_RETRANS_TIME 20 |
#define SDT_RETRANS_TIME 500 |
static MpegTSService* mpegts_add_service | ( | MpegTSWrite * | ts, | |
int | sid, | |||
const char * | provider_name, | |||
const char * | name | |||
) | [static] |
static void mpegts_insert_null_packet | ( | AVFormatContext * | s | ) | [static] |
static void mpegts_insert_pcr_only | ( | AVFormatContext * | s, | |
AVStream * | st | |||
) | [static] |
static int mpegts_write_end | ( | AVFormatContext * | s | ) | [static] |
Definition at line 878 of file mpegtsenc.c.
static int mpegts_write_header | ( | AVFormatContext * | s | ) | [static] |
Definition at line 383 of file mpegtsenc.c.
static int mpegts_write_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
Definition at line 776 of file mpegtsenc.c.
static void mpegts_write_pat | ( | AVFormatContext * | s | ) | [static] |
static void mpegts_write_pes | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
const uint8_t * | payload, | |||
int | payload_size, | |||
int64_t | pts, | |||
int64_t | dts | |||
) | [static] |
Definition at line 593 of file mpegtsenc.c.
Referenced by mpegts_write_end(), and mpegts_write_packet().
static void mpegts_write_pmt | ( | AVFormatContext * | s, | |
MpegTSService * | service | |||
) | [static] |
static void mpegts_write_sdt | ( | AVFormatContext * | s | ) | [static] |
static void mpegts_write_section | ( | MpegTSSection * | s, | |
uint8_t * | buf, | |||
int | len | |||
) | [static] |
static int mpegts_write_section1 | ( | MpegTSSection * | s, | |
int | tid, | |||
int | id, | |||
int | version, | |||
int | sec_num, | |||
int | last_sec_num, | |||
uint8_t * | buf, | |||
int | len | |||
) | [static] |
Definition at line 126 of file mpegtsenc.c.
Referenced by mpegts_write_pat(), mpegts_write_pmt(), and mpegts_write_sdt().
static void put16 | ( | uint8_t ** | q_ptr, | |
int | val | |||
) | [inline, static] |
Definition at line 117 of file mpegtsenc.c.
Referenced by mpegts_write_pat(), mpegts_write_pmt(), mpegts_write_sdt(), and mpegts_write_section1().
static void putstr8 | ( | uint8_t ** | q_ptr, | |
const char * | str | |||
) | [static] |
static void retransmit_si_info | ( | AVFormatContext * | s | ) | [static] |
static void section_write_packet | ( | MpegTSSection * | s, | |
const uint8_t * | packet | |||
) | [static] |
static void write_pts | ( | uint8_t * | q, | |
int | fourbits, | |||
int64_t | pts | |||
) | [static] |
Initial value:
{ "mpegts", NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"), "video/x-mpegts", "ts,m2t", sizeof(MpegTSWrite), CODEC_ID_MP2, CODEC_ID_MPEG2VIDEO, mpegts_write_header, mpegts_write_packet, mpegts_write_end, }
Definition at line 909 of file mpegtsenc.c.