diff options
author | Andreas Regel <andreas.regel@powarman.de> | 2004-01-28 19:11:00 +0100 |
---|---|---|
committer | Andreas Regel <andreas.regel@powarman.de> | 2004-01-28 19:11:00 +0100 |
commit | 64fe6b70d0a5b34a80ff458fbf1664018d5c0182 (patch) | |
tree | 4fe036adaf90fef0d0dc910b84dbc11269e40008 /pes.c | |
parent | 310f5b2a62343d0c9b7624c09efe35828785ef26 (diff) | |
download | vdr-plugin-osdpip-64fe6b70d0a5b34a80ff458fbf1664018d5c0182.tar.gz vdr-plugin-osdpip-64fe6b70d0a5b34a80ff458fbf1664018d5c0182.tar.bz2 |
Release version 0.0.3v0.0.3
- new TS->ES remuxer: now using VDR's cRemux for TS->PES and some own code
for PES->ES
- now using libavcodec from ffmpeg instead of mpeg2dec
- frames to decode configurable (I-frames, I-/P-frames, all frames)
- frame dropping configurable
- added new color depths:
- 128 shades greyscale
- 128 colors with variable palette using Wu's quantizer (patch needed)
- changed osd size setting to 6 configurable values
Diffstat (limited to 'pes.c')
-rw-r--r-- | pes.c | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +/* + * OSD Picture in Picture plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + */ + +#include "pes.h" + +cPESPacket::cPESPacket(unsigned char * data, int length) +: data(data), + length(length) +{ + streamId = data[3]; + packetLength = (data[4] << 8) | data[5]; + headerDataLength = data[8]; + payloadStart = headerDataLength + 9; + payloadLength = packetLength + 6 - payloadStart; +} + +void cPESPacket::Dump(FILE * fp) +{ + fprintf(fp, "Stream ID: %02X ", streamId); + fprintf(fp, "Packet Length: %d ", packetLength); + fprintf(fp, "Header Data Length: %d ", headerDataLength); + fprintf(fp, "Payload Start: %d ", payloadStart); + fprintf(fp, "Payload Length: %d ", payloadLength); + fprintf(fp, "\n"); +} + +unsigned char * cPESPacket::Payload(int & retLength) +{ + retLength = payloadLength; + return data + payloadStart; +} + |