mirror of
https://github.com/mpv-player/mpv
synced 2024-12-13 10:26:00 +00:00
bda27f2adc
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1546 b3059339-0415-0410-9bf9-f77b7e298cf2
38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
#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 */
|