annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
1 #ifndef AVIFILE_DS_VIDEODECODER_H
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
2 #define AVIFILE_DS_VIDEODECODER_H
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
3
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
4 #include <libwin32.h>
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
5 #include <DS_Filter.h>
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
6
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
7 class DS_VideoDecoder: public IVideoDecoder, public IRtConfig
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
8 {
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
9 public:
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
10 DS_VideoDecoder(const CodecInfo& info, const BITMAPINFOHEADER& format, int flip);
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
11 ~DS_VideoDecoder();
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
12 int SetDestFmt(int bits = 24, fourcc_t csp = 0);
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
13 CAPS GetCapabilities() const {return m_Caps;}
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
14 int DecodeInternal(void* src, size_t size, int is_keyframe, CImage* pImage);
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
15 void StartInternal();
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
16 void StopInternal();
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
17 //void Restart();
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
18 int SetDirection(int d)
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
19 {
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
20 m_obh.biHeight = d ? m_bh->biHeight : -m_bh->biHeight;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
21 m_sVhdr2->bmiHeader.biHeight = m_obh.biHeight;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
22 return 0;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
23 }
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
24 // IRtConfig interface
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
25 virtual HRESULT GetValue(const char*, int&);
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
26 virtual HRESULT SetValue(const char*, int);
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
27 protected:
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
28 DS_Filter* m_pDS_Filter;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
29 AM_MEDIA_TYPE m_sOurType, m_sDestType;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
30 VIDEOINFOHEADER* m_sVhdr;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
31 VIDEOINFOHEADER* m_sVhdr2;
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
32 CAPS m_Caps; // capabilities of DirectShow decoder
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
33 int m_iLastQuality; // remember last quality as integer
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
34 bool m_bIsDivX; // for speed
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
35 };
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
36
da26060c81ef big avifile sync - from now we have common code
arpi
parents:
diff changeset
37 #endif /* AVIFILE_DS_VIDEODECODER_H */