|
FFmpeg
|
#include "avformat.h"Go to the source code of this file.
Data Structures | |
| struct | SLConfigDescr |
| struct | Mp4Descr |
| struct | DVBAC3Descriptor |
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 | SYNC_BYTE 0x47 |
| #define | STUFFING_BYTE 0xFF |
| #define | SYSTEM_CLOCK_FREQUENCY_DIVISOR 300 /* convert 27 MHz to 90 kHz */ |
| #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 | FIRST_OTHER_PID 0x0020 |
| #define | LAST_OTHER_PID 0x1FFA |
| #define | NULL_PID 0x1FFF /* Null packet (used for fixed bandwidth padding) */ |
| #define | M2TS_PMT_PID 0x0100 |
| #define | M2TS_PCR_PID 0x1001 |
| #define | M2TS_VIDEO_PID 0x1011 |
| #define | M2TS_AUDIO_START_PID 0x1100 |
| #define | M2TS_PGSSUB_START_PID 0x1200 |
| #define | M2TS_TEXTSUB_PID 0x1800 |
| #define | M2TS_SECONDARY_AUDIO_START_PID 0x1A00 |
| #define | M2TS_SECONDARY_VIDEO_START_PID 0x1B00 |
| #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 Description 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 Information 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_ISO_IEC_14496_PES 0x12 |
| ISO/IEC 14496-1 (MPEG-4 Systems) SL-packetized stream or FlexMux stream carried in PES packets. More... | |
| #define | STREAM_TYPE_ISO_IEC_14496_SECTION 0x13 |
| ISO/IEC 14496-1 (MPEG-4 Systems) SL-packetized stream or FlexMux stream carried in ISO_IEC_14496_section()s. More... | |
| #define | STREAM_TYPE_METADATA 0x15 |
| #define | STREAM_TYPE_VIDEO_H264 0x1b |
| #define | STREAM_TYPE_AUDIO_MPEG4 0x1c |
| ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS. More... | |
| #define | STREAM_TYPE_VIDEO_MVC 0x20 |
| #define | STREAM_TYPE_VIDEO_JPEG2000 0x21 |
| #define | STREAM_TYPE_VIDEO_HEVC 0x24 |
| #define | STREAM_TYPE_VIDEO_VVC 0x33 |
| #define | STREAM_TYPE_VIDEO_CAVS 0x42 |
| #define | STREAM_TYPE_VIDEO_AVS2 0xd2 |
| #define | STREAM_TYPE_VIDEO_AVS3 0xd4 |
| #define | STREAM_TYPE_VIDEO_VC1 0xea |
| #define | STREAM_TYPE_VIDEO_DIRAC 0xd1 |
| #define | STREAM_TYPE_BLURAY_AUDIO_PCM_BLURAY 0x80 |
| #define | STREAM_TYPE_BLURAY_AUDIO_AC3 0x81 |
| #define | STREAM_TYPE_BLURAY_AUDIO_DTS 0x82 |
| #define | STREAM_TYPE_BLURAY_AUDIO_TRUEHD 0x83 |
| #define | STREAM_TYPE_BLURAY_AUDIO_EAC3 0x84 |
| #define | STREAM_TYPE_BLURAY_AUDIO_DTS_HD 0x85 |
| #define | STREAM_TYPE_BLURAY_AUDIO_DTS_HD_MASTER 0x86 |
| #define | STREAM_TYPE_BLURAY_AUDIO_EAC3_SECONDARY 0xa1 |
| #define | STREAM_TYPE_BLURAY_AUDIO_DTS_EXPRESS_SECONDARY 0xa2 |
| #define | STREAM_TYPE_BLURAY_SUBTITLE_PGS 0x90 |
| #define | STREAM_TYPE_BLURAY_SUBTITLE_TEXT 0x92 |
| #define | STREAM_TYPE_SCTE_DATA_SCTE_35 0x86 /* ANSI/SCTE 35 */ |
| #define | STREAM_TYPE_ATSC_AUDIO_AC3 0x81 /* ATSC A/52 */ |
| #define | STREAM_TYPE_ATSC_AUDIO_EAC3 0x87 /* ATSC A/52 */ |
| #define | STREAM_TYPE_HLS_SE_VIDEO_H264 0xdb |
| #define | STREAM_TYPE_HLS_SE_AUDIO_AAC 0xcf |
| #define | STREAM_TYPE_HLS_SE_AUDIO_AC3 0xc1 |
| #define | STREAM_TYPE_HLS_SE_AUDIO_EAC3 0xc2 |
| #define | STREAM_ID_PROGRAM_STREAM_MAP 0xbc |
| #define | STREAM_ID_PRIVATE_STREAM_1 0xbd |
| #define | STREAM_ID_PADDING_STREAM 0xbe |
| #define | STREAM_ID_PRIVATE_STREAM_2 0xbf |
| #define | STREAM_ID_AUDIO_STREAM_0 0xc0 |
| #define | STREAM_ID_VIDEO_STREAM_0 0xe0 |
| #define | STREAM_ID_ECM_STREAM 0xf0 |
| #define | STREAM_ID_EMM_STREAM 0xf1 |
| #define | STREAM_ID_DSMCC_STREAM 0xf2 |
| #define | STREAM_ID_TYPE_E_STREAM 0xf8 |
| #define | STREAM_ID_METADATA_STREAM 0xfc |
| #define | STREAM_ID_EXTENDED_STREAM_ID 0xfd |
| #define | STREAM_ID_PROGRAM_STREAM_DIRECTORY 0xff |
| #define | VIDEO_STREAM_DESCRIPTOR 0x02 |
| #define | REGISTRATION_DESCRIPTOR 0x05 |
| #define | ISO_639_LANGUAGE_DESCRIPTOR 0x0a |
| #define | IOD_DESCRIPTOR 0x1d |
| #define | SL_DESCRIPTOR 0x1e |
| #define | FMC_DESCRIPTOR 0x1f |
| #define | METADATA_DESCRIPTOR 0x26 |
| #define | METADATA_STD_DESCRIPTOR 0x27 |
| #define | NETWORK_NAME_DESCRIPTOR 0x40 |
| #define | SERVICE_LIST_DESCRIPTOR 0x41 |
| #define | SERVICE_DESCRIPTOR 0x48 |
| #define | STREAM_IDENTIFIER_DESCRIPTOR 0x52 |
| #define | TELETEXT_DESCRIPTOR 0x56 |
| #define | SUBTITLING_DESCRIPTOR 0x59 |
| #define | AC3_DESCRIPTOR 0x6a /* AC-3_descriptor */ |
| #define | ENHANCED_AC3_DESCRIPTOR 0x7a /* enhanced_AC-3_descriptor */ |
| #define | DTS_DESCRIPTOR 0x7b |
| #define | EXTENSION_DESCRIPTOR 0x7f |
| #define | SUPPLEMENTARY_AUDIO_DESCRIPTOR 0x06 |
| #define | DOVI_VIDEO_STREAM_DESCRIPTOR 0xb0 |
| see "Dolby Vision Streams Within the MPEG-2 Transport Stream Format" https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2.pdf More... | |
| #define | DATA_COMPONENT_DESCRIPTOR 0xfd /* ARIB STD-B10 */ |
Functions | |
| MpegTSContext * | avpriv_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... | |
| #define DIT_PID 0x001E /* Discontinuity Information Table */ |
| #define TSDT_TID 0x03 /* Transport Stream Description section */ |
| #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 Description section - other TS */ |
| #define UNT_TID 0x4B /* Update Notification Table 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 RPNT_TID 0x79 /* Resolution Provider Notification section */ |
| #define DIT_TID 0x7E /* Discontinuity Information section */ |
| #define STREAM_TYPE_ISO_IEC_14496_PES 0x12 |
| #define STREAM_TYPE_ISO_IEC_14496_SECTION 0x13 |
| #define STREAM_TYPE_AUDIO_MPEG4 0x1c |
| #define STREAM_TYPE_BLURAY_AUDIO_DTS_EXPRESS_SECONDARY 0xa2 |
| #define STREAM_TYPE_SCTE_DATA_SCTE_35 0x86 /* ANSI/SCTE 35 */ |
| #define ENHANCED_AC3_DESCRIPTOR 0x7a /* enhanced_AC-3_descriptor */ |
| #define DOVI_VIDEO_STREAM_DESCRIPTOR 0xb0 |
see "Dolby Vision Streams Within the MPEG-2 Transport Stream Format" https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2.pdf
| MpegTSContext* avpriv_mpegts_parse_open | ( | AVFormatContext * | s | ) |
Definition at line 3409 of file mpegts.c.
Referenced by iec61883_read_header(), and mpegts_init().
| int avpriv_mpegts_parse_packet | ( | MpegTSContext * | ts, |
| AVPacket * | pkt, | ||
| const uint8_t * | buf, | ||
| int | len | ||
| ) |
Definition at line 3431 of file mpegts.c.
Referenced by iec61883_parse_queue_hdv(), and mpegts_handle_packet().
| void avpriv_mpegts_parse_close | ( | MpegTSContext * | ts | ) |
Definition at line 3456 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.
| [in] | fc | Format context (used for logging only) |
| st | Stream | |
| stream_type | STREAM_TYPE_xxx | |
| pp | Descriptor buffer pointer | |
| desc_list_end | End of buffer |
Definition at line 1819 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.
Definition at line 1787 of file mpegtsenc.c.
Referenced by avi_write_packet(), mpegts_write_packet_internal(), and write_packet().
1.8.17