Mercurial > mplayer.hg
comparison loader/dshow/DS_VideoDecoder.h @ 1545:da26060c81ef
big avifile sync - from now we have common code
author | arpi |
---|---|
date | Thu, 16 Aug 2001 00:50:02 +0000 |
parents | |
children | 24fa494bedb1 |
comparison
equal
deleted
inserted
replaced
1544:558c1b03b8d0 | 1545:da26060c81ef |
---|---|
1 #ifndef AVIFILE_DS_VIDEODECODER_H | |
2 #define AVIFILE_DS_VIDEODECODER_H | |
3 | |
4 #include <libwin32.h> | |
5 #include <DS_Filter.h> | |
6 | |
7 class DS_VideoDecoder: public IVideoDecoder, public IRtConfig | |
8 { | |
9 public: | |
10 DS_VideoDecoder(const CodecInfo& info, const BITMAPINFOHEADER& format, int flip); | |
11 ~DS_VideoDecoder(); | |
12 int SetDestFmt(int bits = 24, fourcc_t csp = 0); | |
13 CAPS GetCapabilities() const {return m_Caps;} | |
14 int DecodeInternal(void* src, size_t size, int is_keyframe, CImage* pImage); | |
15 void StartInternal(); | |
16 void StopInternal(); | |
17 //void Restart(); | |
18 int SetDirection(int d) | |
19 { | |
20 m_obh.biHeight = d ? m_bh->biHeight : -m_bh->biHeight; | |
21 m_sVhdr2->bmiHeader.biHeight = m_obh.biHeight; | |
22 return 0; | |
23 } | |
24 // IRtConfig interface | |
25 virtual HRESULT GetValue(const char*, int&); | |
26 virtual HRESULT SetValue(const char*, int); | |
27 protected: | |
28 DS_Filter* m_pDS_Filter; | |
29 AM_MEDIA_TYPE m_sOurType, m_sDestType; | |
30 VIDEOINFOHEADER* m_sVhdr; | |
31 VIDEOINFOHEADER* m_sVhdr2; | |
32 CAPS m_Caps; // capabilities of DirectShow decoder | |
33 int m_iLastQuality; // remember last quality as integer | |
34 bool m_bIsDivX; // for speed | |
35 }; | |
36 | |
37 #endif /* AVIFILE_DS_VIDEODECODER_H */ |