diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-09-16 21:37:36 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-09-16 21:37:36 +0200 |
commit | 57df9917d4626d93323c7b0d2368fbf5d4748627 (patch) | |
tree | ebfe76fe280db47e223335266eab1bd34afa4226 /command/pes2es.h | |
parent | 03fc6351fce571b5ff7454bdfad9d4a0f0fb7679 (diff) | |
download | vdr-plugin-markad-57df9917d4626d93323c7b0d2368fbf5d4748627.tar.gz vdr-plugin-markad-57df9917d4626d93323c7b0d2368fbf5d4748627.tar.bz2 |
Added second pass processing (overlap, audio silence detection)
Diffstat (limited to 'command/pes2es.h')
-rw-r--r-- | command/pes2es.h | 82 |
1 files changed, 52 insertions, 30 deletions
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 |