00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FFMPEG_MPEGTS_H
00023 #define FFMPEG_MPEGTS_H
00024
00025 #include "avformat.h"
00026
00027 #define TS_FEC_PACKET_SIZE 204
00028 #define TS_DVHS_PACKET_SIZE 192
00029 #define TS_PACKET_SIZE 188
00030 #define NB_PID_MAX 8192
00031 #define MAX_SECTION_SIZE 4096
00032
00033
00034 #define PAT_PID 0x0000
00035 #define SDT_PID 0x0011
00036
00037
00038 #define PAT_TID 0x00
00039 #define PMT_TID 0x02
00040 #define SDT_TID 0x42
00041
00042
00043 #define DVB_CAROUSEL_ID 0x13
00044 #define DVB_VBI_DESCID 0x56
00045 #define DVB_SUBT_DESCID 0x59
00046 #define DVB_BROADCAST_ID 0x66
00047 #define DVB_DATA_STREAM 0x52
00048
00049 #define STREAM_TYPE_VIDEO_MPEG1 0x01
00050 #define STREAM_TYPE_VIDEO_MPEG2 0x02
00051 #define STREAM_TYPE_AUDIO_MPEG1 0x03
00052 #define STREAM_TYPE_AUDIO_MPEG2 0x04
00053 #define STREAM_TYPE_PRIVATE_SECTION 0x05
00054 #define STREAM_TYPE_PRIVATE_DATA 0x06
00055 #define STREAM_TYPE_DSMCC_B 0x0b
00056 #define STREAM_TYPE_AUDIO_AAC 0x0f
00057 #define STREAM_TYPE_VIDEO_MPEG4 0x10
00058 #define STREAM_TYPE_VIDEO_H264 0x1b
00059 #define STREAM_TYPE_VIDEO_VC1 0xea
00060
00061 #define STREAM_TYPE_AUDIO_AC3 0x81
00062 #define STREAM_TYPE_AUDIO_DTS 0x8a
00063
00064 #define STREAM_TYPE_SUBTITLE_DVB 0x100
00065 #define STREAM_TYPE_VBI_DVB 0x101
00066
00067 typedef struct MpegTSContext MpegTSContext;
00068
00069 MpegTSContext *mpegts_parse_open(AVFormatContext *s);
00070 int mpegts_parse_packet(MpegTSContext *ts, AVPacket *pkt,
00071 const uint8_t *buf, int len);
00072 void mpegts_parse_close(MpegTSContext *ts);
00073 void mpegts_remove_stream(MpegTSContext *ts, int pid);
00074
00075 #endif