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 /osd.h | |
parent | 310f5b2a62343d0c9b7624c09efe35828785ef26 (diff) | |
download | vdr-plugin-osdpip-0.0.3.tar.gz vdr-plugin-osdpip-0.0.3.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 'osd.h')
-rw-r--r-- | osd.h | 45 |
1 files changed, 38 insertions, 7 deletions
@@ -1,22 +1,34 @@ +/* + * OSD Picture in Picture plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + */ + #ifndef VDR_OSDPIP_OSD_H #define VDR_OSDPIP_OSD_H +extern "C" +{ +#ifdef HAVE_FFMPEG_STATIC +# include <avcodec.h> +#else +# include <ffmpeg/avcodec.h> +#endif +} + #include <vdr/osd.h> #include <vdr/thread.h> +#include <vdr/status.h> #include <vdr/receiver.h> -extern "C" { -#include <mpeg2dec/mpeg2.h> -#include <mpeg2dec/mpeg2convert.h> -}; - -class cRingBufferLinear; +class cRingBufferFrame; class cOsdPipReceiver; +class cQuantize; class cOsdPipObject: public cOsdObject, public cThread { private: cOsdBase *m_Osd; - cRingBufferLinear *m_ESBuffer; + cRingBufferFrame *m_ESBuffer; cOsdPipReceiver *m_Receiver; const cChannel *m_Channel; tWindowHandle m_Window; @@ -25,7 +37,26 @@ private: bool m_Active; bool m_Ready; int m_Width, m_Height; + int m_FrameDrop; + + AVCodec * m_Codec; + AVCodecContext * m_Context; + AVFrame * m_PicDecoded; + AVFrame * m_PicResample; + AVFrame * m_PicConvert; + unsigned char * m_BufferResample; + unsigned char * m_BufferConvert; + + unsigned int m_AlphaBase; + unsigned int m_Palette[256]; + int m_PaletteStart; + + cQuantize * quantizer; + int Decode(unsigned char * data, int length); + int Resample(); + int ConvertToRGB(); + void ProcessImage(unsigned char * data, int length); protected: virtual void Action(void); |