From 57df9917d4626d93323c7b0d2368fbf5d4748627 Mon Sep 17 00:00:00 2001 From: Jochen Dolze Date: Thu, 16 Sep 2010 21:37:36 +0200 Subject: Added second pass processing (overlap, audio silence detection) --- command/pes2es.h | 82 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 30 deletions(-) (limited to 'command/pes2es.h') diff --git a/command/pes2es.h b/command/pes2es.h index c2c08e6..bfeaaaa 100644 --- a/command/pes2es.h +++ b/command/pes2es.h @@ -15,60 +15,82 @@ typedef unsigned char uchar; #include "global.h" #include "queue.h" -class cMarkAdPES2ES +struct PESHDR { -private: - struct PESHDR - { - uchar Sync1; - uchar Sync2; - uchar Sync3; - uchar StreamID; - uchar LenH; - uchar LenL; - }; + uchar Sync1; + uchar Sync2; + uchar Sync3; + uchar StreamID; + uchar LenH; + uchar LenL; +}; #pragma pack(1) - struct PESHDROPT - { +struct PESHDROPT +{ unsigned OOC: - 1; + 1; unsigned CY: - 1; + 1; unsigned DAI: - 1; + 1; unsigned PESP: - 1; + 1; unsigned PESSC: - 2; + 2; unsigned MarkerBits: - 2; + 2; unsigned EXT: - 1; + 1; unsigned CRC: - 1; + 1; unsigned ACI: - 1; + 1; unsigned TM: - 1; + 1; unsigned RATE: - 1; + 1; unsigned ESCR: - 1; -unsigned TSF: - 2; + 1; +unsigned PTSDTS: + 2; unsigned Length: - 8; - }; + 8; +}; + +struct PESHDROPTPTS +{ +unsigned Marker1: + 1; +unsigned PTS32_30: + 3; +unsigned Fixed: + 4; +unsigned PTS29_15_H: + 8; +unsigned Marker2: + 1; +unsigned PTS29_15_L: + 7; +unsigned PTS14_0_H: + 8; +unsigned Marker3: + 1; +unsigned PTS14_0_L: + 7; +}; #pragma pack() +class cMarkAdPES2ES +{ +private: cMarkAdPaketQueue *queue; int type; public: cMarkAdPES2ES(const char *QueueName="PES2ES", int QueueSize=32768); ~cMarkAdPES2ES(); void Clear(); - void Process(MarkAdPid Pid, uchar *PESData, int PESSize, uchar **ESData, int *ESSize); + void Process(MarkAdPid Pid, uchar *PESData, int PESSize, MarkAdPacket *ESPkt); }; #endif -- cgit v1.2.3