view loader/dmo/DMO_Filter.h @ 18693:a4a6b2cf5022

Do not use border for bicubic filter helper texture, since it will cause ATI cards to switch to software mode and be unusable. Double texture size to avoid this causing artefacts. Note: yuv=6 will not be changed, so it will stay unusable with ATI cards unless ATI starts supporting this.
author reimar
date Tue, 13 Jun 2006 19:55:20 +0000
parents 8e00b6a9e40b
children de09fcf0b4f1
line wrap: on
line source

 #ifndef DMO_FILTER_H
#define DMO_FILTER_H

#include "dmo_guids.h"
#include "dmo_interfaces.h"

#if defined(__cplusplus)
extern "C" {
#endif

typedef struct _DMO_Filter
{
    int m_iHandle;
    IDMOVideoOutputOptimizations* m_pOptim;
    IMediaObject* m_pMedia;
    IMediaObjectInPlace* m_pInPlace;
    AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
} DMO_Filter;

typedef struct _CMediaBuffer CMediaBuffer;

/**
 * Create DMO_Filter object - similar syntax as for DS_Filter
 */
DMO_Filter* DMO_FilterCreate(const char* dllname, const GUID* id,
			     AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
/**
 * Destroy DMO_Filter object - release all allocated resources
 */
void DMO_Filter_Destroy(DMO_Filter* This);


/**
 * Create IMediaBuffer object - to pass/receive data from DMO_Filter
 *
 * maxlen - maximum size for this buffer
 * mem - initial memory  0 - creates memory
 * len - initial size of used portion of the buffer
 * copy - make a local copy of data
 */
CMediaBuffer* CMediaBufferCreate(unsigned long maxlen, void* mem, unsigned long len, int copy);

#if defined(__cplusplus)
}
#endif

#endif /* DS_FILTER_H */