FFmpeg
Data Structures | Macros | Functions
mpegts.h File Reference
#include "avformat.h"

Go to the source code of this file.

Data Structures

struct  SLConfigDescr
 
struct  Mp4Descr
 

Macros

#define TS_FEC_PACKET_SIZE   204
 
#define TS_DVHS_PACKET_SIZE   192
 
#define TS_PACKET_SIZE   188
 
#define TS_MAX_PACKET_SIZE   204
 
#define NB_PID_MAX   8192
 
#define USUAL_SECTION_SIZE   1024 /* except EIT which is limited to 4096 */
 
#define MAX_SECTION_SIZE   4096
 
#define PAT_PID   0x0000 /* Program Association Table */
 
#define CAT_PID   0x0001 /* Conditional Access Table */
 
#define TSDT_PID   0x0002 /* Transport Stream Description Table */
 
#define IPMP_PID   0x0003
 
#define NIT_PID   0x0010 /* Network Information Table */
 
#define SDT_PID   0x0011 /* Service Description Table */
 
#define BAT_PID   0x0011 /* Bouquet Association Table */
 
#define EIT_PID   0x0012 /* Event Information Table */
 
#define RST_PID   0x0013 /* Running Status Table */
 
#define TDT_PID   0x0014 /* Time and Date Table */
 
#define TOT_PID   0x0014
 
#define NET_SYNC_PID   0x0015
 
#define RNT_PID   0x0016 /* RAR Notification Table */
 
#define LINK_LOCAL_PID   0x001C
 
#define MEASUREMENT_PID   0x001D
 
#define DIT_PID   0x001E /* Discontinuity Information Table */
 
#define SIT_PID   0x001F /* Selection Information Table */
 
#define NULL_PID   0x1FFF /* Null packet (used for fixed bandwidth padding) */
 
#define PAT_TID   0x00 /* Program Association section */
 
#define CAT_TID   0x01 /* Conditional Access section */
 
#define PMT_TID   0x02 /* Program Map section */
 
#define TSDT_TID   0x03 /* Transport Stream Description section */
 
#define M4OD_TID   0x05
 
#define NIT_TID   0x40 /* Network Information section - actual network */
 
#define ONIT_TID   0x41 /* Network Information section - other network */
 
#define SDT_TID   0x42 /* Service Description section - actual TS */
 
#define OSDT_TID   0x46 /* Service Descrition section - other TS */
 
#define BAT_TID   0x4A /* Bouquet Association section */
 
#define UNT_TID   0x4B /* Update Notification Table section */
 
#define DFI_TID   0x4C /* Downloadable Font Info section */
 
#define EIT_TID   0x4E /* Event Information section - actual TS */
 
#define OEIT_TID   0x4F /* Event Information section - other TS */
 
#define EITS_START_TID   0x50 /* Event Information section schedule - actual TS */
 
#define EITS_END_TID   0x5F /* Event Information section schedule - actual TS */
 
#define OEITS_START_TID   0x60 /* Event Information section schedule - other TS */
 
#define OEITS_END_TID   0x6F /* Event Information section schedule - other TS */
 
#define TDT_TID   0x70 /* Time Date section */
 
#define RST_TID   0x71 /* Running Status section */
 
#define ST_TID   0x72 /* Stuffing section */
 
#define TOT_TID   0x73 /* Time Offset section */
 
#define AIT_TID   0x74 /* Application Inforamtion section */
 
#define CT_TID   0x75 /* Container section */
 
#define RCT_TID   0x76 /* Related Content section */
 
#define CIT_TID   0x77 /* Content Identifier section */
 
#define MPE_FEC_TID   0x78 /* MPE-FEC section */
 
#define RPNT_TID   0x79 /* Resolution Provider Notification section */
 
#define MPE_IFEC_TID   0x7A /* MPE-IFEC section */
 
#define PROTMT_TID   0x7B /* Protection Message section */
 
#define DIT_TID   0x7E /* Discontinuity Information section */
 
#define SIT_TID   0x7F /* Selection Information section */
 
#define STREAM_TYPE_VIDEO_MPEG1   0x01
 
#define STREAM_TYPE_VIDEO_MPEG2   0x02
 
#define STREAM_TYPE_AUDIO_MPEG1   0x03
 
#define STREAM_TYPE_AUDIO_MPEG2   0x04
 
#define STREAM_TYPE_PRIVATE_SECTION   0x05
 
#define STREAM_TYPE_PRIVATE_DATA   0x06
 
#define STREAM_TYPE_AUDIO_AAC   0x0f
 
#define STREAM_TYPE_AUDIO_AAC_LATM   0x11
 
#define STREAM_TYPE_VIDEO_MPEG4   0x10
 
#define STREAM_TYPE_METADATA   0x15
 
#define STREAM_TYPE_VIDEO_H264   0x1b
 
#define STREAM_TYPE_VIDEO_HEVC   0x24
 
#define STREAM_TYPE_VIDEO_CAVS   0x42
 
#define STREAM_TYPE_VIDEO_VC1   0xea
 
#define STREAM_TYPE_VIDEO_DIRAC   0xd1
 
#define STREAM_TYPE_AUDIO_AC3   0x81
 
#define STREAM_TYPE_AUDIO_DTS   0x82
 
#define STREAM_TYPE_AUDIO_TRUEHD   0x83
 
#define STREAM_TYPE_AUDIO_EAC3   0x87
 

Functions

MpegTSContextavpriv_mpegts_parse_open (AVFormatContext *s)
 
int avpriv_mpegts_parse_packet (MpegTSContext *ts, AVPacket *pkt, const uint8_t *buf, int len)
 
void avpriv_mpegts_parse_close (MpegTSContext *ts)
 
int ff_parse_mpeg2_descriptor (AVFormatContext *fc, AVStream *st, int stream_type, const uint8_t **pp, const uint8_t *desc_list_end, Mp4Descr *mp4_descr, int mp4_descr_count, int pid, MpegTSContext *ts)
 Parse an MPEG-2 descriptor. More...
 
int ff_check_h264_startcode (AVFormatContext *s, const AVStream *st, const AVPacket *pkt)
 Check presence of H264 startcode. More...
 

Macro Definition Documentation

#define TS_FEC_PACKET_SIZE   204

Definition at line 27 of file mpegts.h.

Referenced by get_packet_size(), mpegts_probe(), and reanalyze().

#define TS_DVHS_PACKET_SIZE   192

Definition at line 28 of file mpegts.h.

Referenced by get_packet_size(), mpegts_probe(), and reanalyze().

#define TS_PACKET_SIZE   188
#define TS_MAX_PACKET_SIZE   204

Definition at line 30 of file mpegts.h.

Referenced by analyze().

#define NB_PID_MAX   8192

Definition at line 32 of file mpegts.h.

Referenced by handle_packets(), m4sl_cb(), mpegts_free(), mpegts_open_filter(), and mpegts_read_packet().

#define USUAL_SECTION_SIZE   1024 /* except EIT which is limited to 4096 */

Definition at line 33 of file mpegts.h.

#define MAX_SECTION_SIZE   4096

Definition at line 34 of file mpegts.h.

Referenced by mpegts_open_section_filter(), and write_section_data().

#define PAT_PID   0x0000 /* Program Association Table */

Definition at line 37 of file mpegts.h.

Referenced by avpriv_mpegts_parse_open(), mpegts_init(), and mpegts_read_header().

#define CAT_PID   0x0001 /* Conditional Access Table */

Definition at line 38 of file mpegts.h.

#define TSDT_PID   0x0002 /* Transport Stream Description Table */

Definition at line 39 of file mpegts.h.

#define IPMP_PID   0x0003

Definition at line 40 of file mpegts.h.

#define NIT_PID   0x0010 /* Network Information Table */

Definition at line 42 of file mpegts.h.

#define SDT_PID   0x0011 /* Service Description Table */

Definition at line 43 of file mpegts.h.

Referenced by avpriv_mpegts_parse_open(), mpegts_init(), and mpegts_read_header().

#define BAT_PID   0x0011 /* Bouquet Association Table */

Definition at line 44 of file mpegts.h.

#define EIT_PID   0x0012 /* Event Information Table */

Definition at line 45 of file mpegts.h.

Referenced by avpriv_mpegts_parse_open(), eit_cb(), and mpegts_read_header().

#define RST_PID   0x0013 /* Running Status Table */

Definition at line 46 of file mpegts.h.

#define TDT_PID   0x0014 /* Time and Date Table */

Definition at line 47 of file mpegts.h.

#define TOT_PID   0x0014

Definition at line 48 of file mpegts.h.

#define NET_SYNC_PID   0x0015

Definition at line 49 of file mpegts.h.

#define RNT_PID   0x0016 /* RAR Notification Table */

Definition at line 50 of file mpegts.h.

#define LINK_LOCAL_PID   0x001C

Definition at line 55 of file mpegts.h.

#define MEASUREMENT_PID   0x001D

Definition at line 56 of file mpegts.h.

#define DIT_PID   0x001E /* Discontinuity Information Table */

Definition at line 57 of file mpegts.h.

#define SIT_PID   0x001F /* Selection Information Table */

Definition at line 58 of file mpegts.h.

#define NULL_PID   0x1FFF /* Null packet (used for fixed bandwidth padding) */

Definition at line 64 of file mpegts.h.

#define PAT_TID   0x00 /* Program Association section */

Definition at line 67 of file mpegts.h.

Referenced by mpegts_write_pat(), and pat_cb().

#define CAT_TID   0x01 /* Conditional Access section */

Definition at line 68 of file mpegts.h.

#define PMT_TID   0x02 /* Program Map section */

Definition at line 69 of file mpegts.h.

Referenced by mpegts_write_pmt(), and pmt_cb().

#define TSDT_TID   0x03 /* Transport Stream Description section */

Definition at line 70 of file mpegts.h.

#define M4OD_TID   0x05

Definition at line 72 of file mpegts.h.

Referenced by m4sl_cb().

#define NIT_TID   0x40 /* Network Information section - actual network */

Definition at line 73 of file mpegts.h.

#define ONIT_TID   0x41 /* Network Information section - other network */

Definition at line 74 of file mpegts.h.

#define SDT_TID   0x42 /* Service Description section - actual TS */

Definition at line 75 of file mpegts.h.

Referenced by mpegts_write_sdt(), mpegts_write_section1(), and sdt_cb().

#define OSDT_TID   0x46 /* Service Descrition section - other TS */

Definition at line 77 of file mpegts.h.

#define BAT_TID   0x4A /* Bouquet Association section */

Definition at line 79 of file mpegts.h.

#define UNT_TID   0x4B /* Update Notification Table section */

Definition at line 80 of file mpegts.h.

#define DFI_TID   0x4C /* Downloadable Font Info section */

Definition at line 81 of file mpegts.h.

#define EIT_TID   0x4E /* Event Information section - actual TS */

Definition at line 83 of file mpegts.h.

Referenced by eit_cb().

#define OEIT_TID   0x4F /* Event Information section - other TS */

Definition at line 84 of file mpegts.h.

#define EITS_START_TID   0x50 /* Event Information section schedule - actual TS */

Definition at line 85 of file mpegts.h.

#define EITS_END_TID   0x5F /* Event Information section schedule - actual TS */

Definition at line 86 of file mpegts.h.

#define OEITS_START_TID   0x60 /* Event Information section schedule - other TS */

Definition at line 87 of file mpegts.h.

#define OEITS_END_TID   0x6F /* Event Information section schedule - other TS */

Definition at line 88 of file mpegts.h.

Referenced by eit_cb().

#define TDT_TID   0x70 /* Time Date section */

Definition at line 89 of file mpegts.h.

#define RST_TID   0x71 /* Running Status section */

Definition at line 90 of file mpegts.h.

#define ST_TID   0x72 /* Stuffing section */

Definition at line 91 of file mpegts.h.

#define TOT_TID   0x73 /* Time Offset section */

Definition at line 92 of file mpegts.h.

#define AIT_TID   0x74 /* Application Inforamtion section */

Definition at line 93 of file mpegts.h.

#define CT_TID   0x75 /* Container section */

Definition at line 94 of file mpegts.h.

#define RCT_TID   0x76 /* Related Content section */

Definition at line 95 of file mpegts.h.

#define CIT_TID   0x77 /* Content Identifier section */

Definition at line 96 of file mpegts.h.

#define MPE_FEC_TID   0x78 /* MPE-FEC section */

Definition at line 97 of file mpegts.h.

#define RPNT_TID   0x79 /* Resolution Provider Notification section */

Definition at line 98 of file mpegts.h.

#define MPE_IFEC_TID   0x7A /* MPE-IFEC section */

Definition at line 99 of file mpegts.h.

#define PROTMT_TID   0x7B /* Protection Message section */

Definition at line 100 of file mpegts.h.

#define DIT_TID   0x7E /* Discontinuity Information section */

Definition at line 102 of file mpegts.h.

#define SIT_TID   0x7F /* Selection Information section */

Definition at line 103 of file mpegts.h.

#define STREAM_TYPE_VIDEO_MPEG1   0x01

Definition at line 107 of file mpegts.h.

#define STREAM_TYPE_VIDEO_MPEG2   0x02

Definition at line 108 of file mpegts.h.

#define STREAM_TYPE_AUDIO_MPEG1   0x03

Definition at line 109 of file mpegts.h.

#define STREAM_TYPE_AUDIO_MPEG2   0x04

Definition at line 110 of file mpegts.h.

#define STREAM_TYPE_PRIVATE_SECTION   0x05

Definition at line 111 of file mpegts.h.

#define STREAM_TYPE_PRIVATE_DATA   0x06

Definition at line 112 of file mpegts.h.

#define STREAM_TYPE_AUDIO_AAC   0x0f

Definition at line 113 of file mpegts.h.

#define STREAM_TYPE_AUDIO_AAC_LATM   0x11

Definition at line 114 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_VIDEO_MPEG4   0x10

Definition at line 115 of file mpegts.h.

#define STREAM_TYPE_METADATA   0x15

Definition at line 116 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_VIDEO_H264   0x1b

Definition at line 117 of file mpegts.h.

#define STREAM_TYPE_VIDEO_HEVC   0x24

Definition at line 118 of file mpegts.h.

#define STREAM_TYPE_VIDEO_CAVS   0x42

Definition at line 119 of file mpegts.h.

#define STREAM_TYPE_VIDEO_VC1   0xea

Definition at line 120 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_VIDEO_DIRAC   0xd1

Definition at line 121 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_AUDIO_AC3   0x81

Definition at line 123 of file mpegts.h.

#define STREAM_TYPE_AUDIO_DTS   0x82

Definition at line 124 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_AUDIO_TRUEHD   0x83

Definition at line 125 of file mpegts.h.

Referenced by mpegts_write_pmt().

#define STREAM_TYPE_AUDIO_EAC3   0x87

Definition at line 126 of file mpegts.h.

Referenced by mpegts_write_pmt().

Function Documentation

MpegTSContext* avpriv_mpegts_parse_open ( AVFormatContext s)

Definition at line 3289 of file mpegts.c.

Referenced by get_sockaddr(), iec61883_read_header(), and mpegts_init().

int avpriv_mpegts_parse_packet ( MpegTSContext ts,
AVPacket pkt,
const uint8_t buf,
int  len 
)
void avpriv_mpegts_parse_close ( MpegTSContext ts)

Definition at line 3335 of file mpegts.c.

Referenced by ff_rtsp_close_streams(), iec61883_close(), and mpegts_close_context().

int ff_parse_mpeg2_descriptor ( AVFormatContext fc,
AVStream st,
int  stream_type,
const uint8_t **  pp,
const uint8_t desc_list_end,
Mp4Descr mp4_descr,
int  mp4_descr_count,
int  pid,
MpegTSContext ts 
)

Parse an MPEG-2 descriptor.

Parameters
[in]fcFormat context (used for logging only)
stStream
stream_typeSTREAM_TYPE_xxx
ppDescriptor buffer pointer
desc_list_endEnd of buffer
Returns
<0 to stop processing

Definition at line 1769 of file mpegts.c.

Referenced by parse_chunks(), and pmt_cb().

int ff_check_h264_startcode ( AVFormatContext s,
const AVStream st,
const AVPacket pkt 
)

Check presence of H264 startcode.

Returns
<0 to stop processing

Definition at line 1441 of file mpegtsenc.c.

Referenced by avi_write_packet(), mpegts_write_packet_internal(), and write_packet().