/******************************************************************* PES treating interface *******************************************************************/ #ifndef PES_H #define PES_H #include "bitstream.h" #include "stream_type.h" #define MAX_PACKET_DATA_LENGTH 65536 typedef struct { int stream_id; int data_length; unsigned char data[MAX_PACKET_DATA_LENGTH]; } PES_PACKET; typedef struct { int type; int id; } PES_STREAM_TYPE; #ifdef __cplusplus extern "C" { #endif #ifndef PES_C extern int read_pes_packet(BITSTREAM *in, PES_PACKET *out); extern unsigned int get_pes_packet_data_length(PES_PACKET *p); extern int extract_pes_stream_type(PES_PACKET *p, PES_STREAM_TYPE *type); extern int extract_pes_packet_data(PES_PACKET *p, unsigned char *data, unsigned int *length); #endif #ifdef __cplusplus } #endif #endif