view loader/dmo/DMO_VideoDecoder.h @ 32969:ad1a232df994

Make slabel work. It is amazing that so far no skin is using a slabel (static label), but the reason is quite simple. Former versions of the GUI crashed when rendering a slabel. The current GUI recognizes the malloc error but can't render the slabel due to (probable) lack of memory. An item that shall be fnt-rendered must have a valid item width. Additionally, a break was missing which caused a slabel that would have been already handled to erroneously run through the dlabel handling as well.
author ib
date Tue, 08 Mar 2011 15:29:19 +0000
parents 837cd9762b4e
children
line wrap: on
line source

#ifndef MPLAYER_DMO_VIDEODECODER_H
#define MPLAYER_DMO_VIDEODECODER_H

#include "loader/com.h"
#include "loader/wine/vfw.h"

typedef struct DMO_VideoDecoder DMO_VideoDecoder;

int DMO_VideoDecoder_GetCapabilities(DMO_VideoDecoder *this);

DMO_VideoDecoder * DMO_VideoDecoder_Open(char* dllname, GUID* guid, BITMAPINFOHEADER * format, int flip, int maxauto);

void DMO_VideoDecoder_Destroy(DMO_VideoDecoder *this);

void DMO_VideoDecoder_StartInternal(DMO_VideoDecoder *this);

void DMO_VideoDecoder_StopInternal(DMO_VideoDecoder *this);

int DMO_VideoDecoder_DecodeInternal(DMO_VideoDecoder *this, const void* src, int size, int is_keyframe, char* pImage);

/*
 * bits == 0   - leave unchanged
 */
//int SetDestFmt(DMO_VideoDecoder * this, int bits = 24, fourcc_t csp = 0);
int DMO_VideoDecoder_SetDestFmt(DMO_VideoDecoder *this, int bits, unsigned int csp);
int DMO_VideoDecoder_SetDirection(DMO_VideoDecoder *this, int d);


#endif /* MPLAYER_DMO_VIDEODECODER_H */