summaryrefslogtreecommitdiff
path: root/libdvbmpeg/cpptools.hh
diff options
context:
space:
mode:
authorAndreas Regel <andreas.regel@powarman.de>2004-01-28 19:11:00 +0100
committerAndreas Regel <andreas.regel@powarman.de>2004-01-28 19:11:00 +0100
commit64fe6b70d0a5b34a80ff458fbf1664018d5c0182 (patch)
tree4fe036adaf90fef0d0dc910b84dbc11269e40008 /libdvbmpeg/cpptools.hh
parent310f5b2a62343d0c9b7624c09efe35828785ef26 (diff)
downloadvdr-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 'libdvbmpeg/cpptools.hh')
-rw-r--r--libdvbmpeg/cpptools.hh330
1 files changed, 0 insertions, 330 deletions
diff --git a/libdvbmpeg/cpptools.hh b/libdvbmpeg/cpptools.hh
deleted file mode 100644
index 49ea5de..0000000
--- a/libdvbmpeg/cpptools.hh
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * dvb-mpegtools for the Siemens Fujitsu DVB PCI card
- *
- * Copyright (C) 2000, 2001 Marcus Metzler
- * for convergence integrated media GmbH
- * Copyright (C) 2002 Marcus Metzler
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
- *
-
- * The author can be reached at mocm@metzlerbros.de,
- */
-
-#include <fstream>
-#include <sstream>
-#include <iostream>
-#include <iomanip>
-using namespace std;
-
-
-#ifndef _CPPTOOLS_HH_
-#define _CPPTOOLS_HH_
-
-#include "ctools.h"
-
-
-class PES_Packet{
- int info;
- pes_packet p;
-public:
- PES_Packet(){
- info = 0;
- init_pes(&p);
- }
-
- ~PES_Packet(){
- if (p.pack_header)
- delete [] p.pack_header;
- if (p.pes_ext)
- delete [] p.pes_ext;
- if (p.pes_pckt_data)
- delete [] p.pes_pckt_data;
- if (p.mpeg1_headr)
- delete [] p.mpeg1_headr;
- }
-
- inline void init(){
- if (p.pack_header)
- delete [] p.pack_header;
- if (p.pes_ext)
- delete [] p.pes_ext;
- if (p.pes_pckt_data)
- delete [] p.pes_pckt_data;
- if (p.mpeg1_headr)
- delete [] p.mpeg1_headr;
-
- info = 0;
- init_pes(&p);
- }
-
- inline pes_packet *P(){
- return &p;
- }
-
- inline void setlength(){
- setlength_pes(&p);
- if (p.length)
- p.pes_pckt_data = new uint8_t[p.length];
- }
-
- inline void Nlength(){
- nlength_pes(&p);
- p.pes_pckt_data = new uint8_t[p.length];
- }
-
-
- inline uint8_t &Stream_ID(){
- return p.stream_id;
- }
-
- inline uint8_t &Flags1(){
- return p.flags1;
- }
-
- inline uint8_t &Flags2(){
- return p.flags2;
- }
-
- inline uint32_t &Length(){
- return p.length;
- }
-
- inline uint8_t &HLength(){
- return p.pes_hlength;
- }
-
- inline uint8_t &Stuffing(){
- return p.stuffing;
- }
-
- inline uint8_t *Data(){
- return p.pes_pckt_data;
- }
-
- inline int has_pts(){
- return (p.flags2 & PTS_DTS);
- }
-
- inline int &MPEG(){
- return p.mpeg;
- }
- inline uint8_t *PTS(){
- return p.pts;
- }
-
- inline uint8_t *DTS(){
- return p.dts;
- }
-
- inline int &Info(){
- return info;
- }
-
-
-
- inline uint8_t high_pts(){
- if (has_pts())
- return ((p.pts[0] & 0x08)>>3);
- else
- return 0;
- }
-
- inline uint8_t high_dts(){
- return ((p.dts[0] & 0x08)>>3);
- }
-
- inline int WDTS(){
- int w_dts;
- w_dts = (int)trans_pts_dts(p.dts);
- return w_dts;
- }
-
- inline int WPTS(){
- int w_dts;
- w_dts = (int)trans_pts_dts(p.pts);
- return w_dts;
- }
-
- friend ostream & operator << (ostream & stream, PES_Packet & x);
- friend istream & operator >> (istream & stream, PES_Packet & x);
-
-};
-
-
-class TS_Packet{
- ts_packet p;
- int info;
-
-public:
- TS_Packet(){
- init_ts(&p);
- info = 0;
- }
-
- ~TS_Packet(){
- if (p.priv_dat)
- delete [] p.priv_dat;
- }
-
- inline void init(){
- if (p.priv_dat)
- delete [] p.priv_dat;
-
- init_ts(&p);
- info = 0;
- }
-
- inline ts_packet *P(){
- return &p;
- }
-
- inline int &Rest(){
- return p.rest;
- }
-
- inline uint8_t *Data(){
- return p.data;
- }
-
- inline short PID(){
- return pid_ts(&p);
- }
-
- inline uint8_t FLAG1(){
- return (p.pid[0] & ~PID_MASK_HI);
- }
-
- inline int &Info(){
- return info;
- }
-
- friend ostream & operator << (ostream & stream, TS_Packet & x);
- friend istream & operator >> (istream & stream, TS_Packet & x);
-};
-
-
-class PS_Packet{
- int info;
- ps_packet p;
-public:
-
- PS_Packet(){
- init_ps(&p);
- info = 0;
- }
-
- ~PS_Packet(){
- if (p.data)
- delete [] p.data;
- }
-
- inline void init(){
- if (p.data)
- delete [] p.data;
-
- init_ps(&p);
- info = 0;
- }
-
- inline ps_packet *P(){
- return &p;
- }
-
- inline int MUX(){
- return mux_ps(&p);
- }
-
- inline int Rate(){
- return rate_ps(&p);
- }
-
- inline void setlength(){
- setlength_ps(&p);
- p.data = new uint8_t[p.sheader_length];
- }
-
- inline int Stuffing(){
- return p.stuff_length & PACK_STUFF_MASK;
- }
-
- inline int NPES(){
- return p.npes;
- }
-
- inline int &MPEG(){
- return p.mpeg;
- }
-
- inline uint8_t &operator()(int l){
- return p.data[l];
- }
-
- inline char * Data() {
- return (char *)p.data+p.stuff_length;
- }
-
- inline int &SLENGTH(){
- return p.sheader_length;
- }
-
- inline int &Info(){
- return info;
- }
-
- uint32_t SCR_base(){
- return scr_base_ps(&p);
- }
-
- uint16_t SCR_ext(){
- return scr_ext_ps(&p);
- }
-
- friend ostream & operator << (ostream & stream, PS_Packet & x);
- friend istream & operator >> (istream & stream, PS_Packet & x);
-};
-
-
-typedef void (* FILTER)(istream &in, ostream &out);
-
-typedef struct thread_args_{
- FILTER function;
- int *fd;
- int in;
- int out;
-} thread_args;
-
-
-void extract_audio_from_PES(istream &in, ostream &out);
-void extract_video_from_PES(istream &in, ostream &out);
-void extract_es_audio_from_PES(istream &in, ostream &out);
-void extract_es_video_from_PES(istream &in, ostream &out);
-int TS_PIDS(istream &in, ostream &out);
-int ifilter (istream &in, FILTER function);
-int ofilter (istream &in, FILTER function);
-int itfilter (int in, FILTER function);
-int otfilter (istream &in, FILTER function);
-int stream_type(int fd);
-int stream_type(istream &stream);
-int tv_norm(istream &fin);
-
-void analyze(istream &fin);
-
-
-#endif //_CPPTOOLS_HH_
-