view loader/dshow/DS_VideoDecoder.h @ 2335:26fdd1a317ad

Again changed logic: -screenw, -screenh - force user video mode -x, -y - force userdefined prescaling -zoom - activates prescaling -fs - scales prescaling to fullscreen (meaningless with -zoom) So full command line should be: mplayer -vo vesa -screenw WWW -screenh HHH -bpp BPP -x XXX -y YYY -zoom -fs filename And you will be able to watch movies in 16:9 format with bold black border at top and bottom of screen.
author nick
date Sun, 21 Oct 2001 14:02:09 +0000
parents da26060c81ef
children 24fa494bedb1
line wrap: on
line source

#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 */