From 5e3ada86ffaee845bd6e7ec0a0ee5797ea1f1fe3 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Mon, 30 Nov 2009 17:30:08 +0000 Subject: dcc video: added experimental ogg/theora support. Open Problems: - audio sync still missing - Slow as hell, since yuv<->rgb conversion is done in software git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3641 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/dcc/codec.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/modules/dcc/codec.h') diff --git a/src/modules/dcc/codec.h b/src/modules/dcc/codec.h index 68da97c8d..cff70073d 100644 --- a/src/modules/dcc/codec.h +++ b/src/modules/dcc/codec.h @@ -25,6 +25,7 @@ //============================================================================= #include "kvi_string.h" +#include "kvi_oggtheora.h" #include "kvi_databuffer.h" class KviDccVoiceCodec @@ -63,21 +64,27 @@ protected: KviStr m_szName; public: const char * name(); - virtual void encode(KviDataBuffer * signal,KviDataBuffer * stream); + virtual void encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream); + virtual void encodeAudio(KviDataBuffer * audioSignal, KviDataBuffer * stream); virtual void decode(KviDataBuffer * stream,KviDataBuffer * signal); virtual int encodedFrameSize(); virtual int decodedFrameSize(); }; -class KviDccVideoJpegCodec : public KviDccVideoCodec +class KviDccVideoTheoraCodec : public KviDccVideoCodec { public: - KviDccVideoJpegCodec(); - virtual ~KviDccVideoJpegCodec(); + KviDccVideoTheoraCodec(); + virtual ~KviDccVideoTheoraCodec(); public: - virtual void encode(KviDataBuffer * signal,KviDataBuffer * stream); + virtual void encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream); + virtual void encodeAudio(KviDataBuffer * audioSignal, KviDataBuffer * stream); virtual void decode(KviDataBuffer * stream,KviDataBuffer * signal); virtual int encodedFrameSize(); virtual int decodedFrameSize(); +private: + KviTheoraEncoder *m_pEncoder; + KviTheoraDecoder *m_pDecoder; }; + #endif //_CODEC_H_ -- cgit v1.3.1-10-gc9f91