diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-16 00:50:02 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-16 00:50:02 +0000 |
commit | bda27f2adc68d6065d7a7df1e6558c062efe41f1 (patch) | |
tree | 4077a416a09134894f71166eef48f9f39782fc9d /loader/dshow/DS_VideoDecoder.h | |
parent | fda7100c9d34a2c5dccddfd25e87193abe55a152 (diff) | |
download | mpv-bda27f2adc68d6065d7a7df1e6558c062efe41f1.tar.bz2 mpv-bda27f2adc68d6065d7a7df1e6558c062efe41f1.tar.xz |
big avifile sync - from now we have common code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1546 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader/dshow/DS_VideoDecoder.h')
-rw-r--r-- | loader/dshow/DS_VideoDecoder.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/loader/dshow/DS_VideoDecoder.h b/loader/dshow/DS_VideoDecoder.h new file mode 100644 index 0000000000..6acd820162 --- /dev/null +++ b/loader/dshow/DS_VideoDecoder.h @@ -0,0 +1,37 @@ +#ifndef AVIFILE_DS_VIDEODECODER_H +#define AVIFILE_DS_VIDEODECODER_H + +#include <libwin32.h> +#include <DS_Filter.h> + +class DS_VideoDecoder: public IVideoDecoder, public IRtConfig +{ +public: + DS_VideoDecoder(const CodecInfo& info, const BITMAPINFOHEADER& format, int flip); + ~DS_VideoDecoder(); + int SetDestFmt(int bits = 24, fourcc_t csp = 0); + CAPS GetCapabilities() const {return m_Caps;} + int DecodeInternal(void* src, size_t size, int is_keyframe, CImage* pImage); + void StartInternal(); + void StopInternal(); + //void Restart(); + int SetDirection(int d) + { + m_obh.biHeight = d ? m_bh->biHeight : -m_bh->biHeight; + m_sVhdr2->bmiHeader.biHeight = m_obh.biHeight; + return 0; + } + // IRtConfig interface + virtual HRESULT GetValue(const char*, int&); + virtual HRESULT SetValue(const char*, int); +protected: + DS_Filter* m_pDS_Filter; + AM_MEDIA_TYPE m_sOurType, m_sDestType; + VIDEOINFOHEADER* m_sVhdr; + VIDEOINFOHEADER* m_sVhdr2; + CAPS m_Caps; // capabilities of DirectShow decoder + int m_iLastQuality; // remember last quality as integer + bool m_bIsDivX; // for speed +}; + +#endif /* AVIFILE_DS_VIDEODECODER_H */ |