xine-lib: xine-lib-1.2.12/src/libw32dll/DirectShow/DS_VideoDecoder.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Typedefs | Functions | Variables
DS_VideoDecoder.c File Reference
`#include "guids.h"`
`#include "interfaces.h"`
`#include "videodecoder.h"`
`#include "DS_Filter.h"`
`#include "DS_VideoDecoder.h"`
`#include "../wine/winerror.h"`
`#include "fourcc.h"`
`#include "except.h"`
`#include <unistd.h>`
`#include <fcntl.h>`
`#include <errno.h>`
`#include <sys/types.h>`
`#include <sys/mman.h>`
`#include <stdio.h>`
`#include <stdlib.h>`

## Data Structures
struct | _DS_VideoDecoder
struct | _ct

## Macros
#define | VFW_E_NOT_RUNNING 0x80040226
#define | __MODULE__ "DirectShow_VideoDecoder"
#define | false 0
#define | true 1

## Typedefs
typedef struct _ct | ct

## Functions
int | DS_VideoDecoder_GetCapabilities (DS_VideoDecoder *this)
DS_VideoDecoder * | DS_VideoDecoder_Open (const char *dllname, GUID *guid, BITMAPINFOHEADER *format, int flip, int maxauto)
void | DS_VideoDecoder_Destroy (DS_VideoDecoder *this)
void | DS_VideoDecoder_StartInternal (DS_VideoDecoder *this)
void | DS_VideoDecoder_StopInternal (DS_VideoDecoder *this)
int | DS_VideoDecoder_DecodeInternal (DS_VideoDecoder *this, const void *src, int size, int is_keyframe, char *pImage)
int | DS_VideoDecoder_SetDestFmt (DS_VideoDecoder *this, int bits, unsigned int csp)
int | DS_VideoDecoder_SetDirection (DS_VideoDecoder *this, int d)
int | DS_VideoDecoder_GetValue (DS_VideoDecoder *this, const char *name, int *value)
int | DS_VideoDecoder_SetValue (DS_VideoDecoder *this, const char *name, int value)

## Variables
static ct | check []

## Macro Definition Documentation

## ◆ __MODULE__

#define __MODULE__ "DirectShow_VideoDecoder"

## ◆ false

#define false 0

## ◆ true

#define true 1

## ◆ VFW_E_NOT_RUNNING

#define VFW_E_NOT_RUNNING 0x80040226

## Typedef Documentation

## ◆ ct

typedef struct _ct ct

## Function Documentation

## ◆ DS_VideoDecoder_DecodeInternal()

int DS_VideoDecoder_DecodeInternal | ( | DS_VideoDecoder * | this,
|  | const void * | src,
|  | int | size,
|  | int | is_keyframe,
|  | char * | pImage
| ) |  |

References Debug, DS_VideoDecoder_GetValue(), DS_VideoDecoder_SetValue(), IMediaSample_vt::GetPointer, IHidden_vt::GetSmth2, IMediaSample_vt::Release, IMediaSample_vt::SetActualDataLength, IMediaSample_vt::SetPreroll, IHidden_vt::SetSmth, IMediaSample_vt::SetSyncPoint, _IMediaSample::vt, and _IHidden::vt.

Referenced by w32v_decode_data().

## ◆ DS_VideoDecoder_Destroy()

void DS_VideoDecoder_Destroy | ( | DS_VideoDecoder * | this | ) |

References DS_Filter_Destroy(), DS_VideoDecoder_StopInternal(), and STOP.

Referenced by w32v_dispose().

## ◆ DS_VideoDecoder_GetCapabilities()

int DS_VideoDecoder_GetCapabilities | ( | DS_VideoDecoder * | this | ) |

## ◆ DS_VideoDecoder_GetValue()

int DS_VideoDecoder_GetValue | ( | DS_VideoDecoder * | this,
|  | const char * | name,
|  | int * | value
| ) |  |

References Debug, IHidden2_vt::DecodeSet, fccIV50, IDivxFilterInterface_vt::get_Brightness, IDivxFilterInterface_vt::get_Contrast, IDivxFilterInterface_vt::get_PPLevel, IDivxFilterInterface_vt::get_Saturation, IHidden_vt::GetSmth2, IHidden_vt::GetSmth3, IHidden_vt::GetSmth4, IHidden_vt::GetSmth5, IHidden_vt::GetSmth6, IID_IDivxFilterInterface, IID_Iv50Hidden, name, IHidden2_vt::Release, IDivxFilterInterface_vt::Release, START, VFW_E_NOT_RUNNING, _IHidden::vt, _IHidden2::vt, and IDivxFilterInterface::vt.

Referenced by DS_VideoDecoder_DecodeInternal().

## ◆ DS_VideoDecoder_Open()

DS_VideoDecoder * DS_VideoDecoder_Open | ( | const char * | dllname,
|  | GUID * | guid,
|  | BITMAPINFOHEADER * | format,
|  | int | flip,
|  | int | maxauto
| ) |  |

References _ct::bits, _ct::cap, CAP_NONE, CAP_UYVY, CAP_YUY2, check, DIRECT, DS_FilterCreate(), _ct::fcc, fccDIV3, fccDIV4, fccDIV5, fccDIV6, fccMP42, fccWMV2, FORMAT_VideoInfo, MEDIASUBTYPE_RGB24, MEDIATYPE_Video, STOP, _ct::subtype, and VIDEOINFOHEADER.

Referenced by w32v_init_ds_dmo_codec().

## ◆ DS_VideoDecoder_SetDestFmt()

int DS_VideoDecoder_SetDestFmt | ( | DS_VideoDecoder * | this,
|  | int | bits,
|  | unsigned int | csp
| ) |  |

References abs, bits, CAP_I420, CAP_IYUV, CAP_UYVY, CAP_YUY2, CAP_YV12, CAP_YVU9, CAP_YVYU, Debug, DS_VideoDecoder_StartInternal(), DS_VideoDecoder_StopInternal(), fccI420, fccIYUV, fccUYVY, fccYUY2, fccYV12, fccYVU9, fccYVYU, MEDIASUBTYPE_I420, MEDIASUBTYPE_IYUV, MEDIASUBTYPE_RGB24, MEDIASUBTYPE_RGB32, MEDIASUBTYPE_RGB555, MEDIASUBTYPE_RGB565, MEDIASUBTYPE_UYVY, MEDIASUBTYPE_YUY2, MEDIASUBTYPE_YV12, MEDIASUBTYPE_YVU9, MEDIASUBTYPE_YVYU, START, STOP, and VIDEOINFOHEADER.

Referenced by w32v_init_ds_dmo_codec().

## ◆ DS_VideoDecoder_SetDirection()

int DS_VideoDecoder_SetDirection | ( | DS_VideoDecoder * | this,
|  | int | d
| ) |  |

## ◆ DS_VideoDecoder_SetValue()

int DS_VideoDecoder_SetValue | ( | DS_VideoDecoder * | this,
|  | const char * | name,
|  | int | value
| ) |  |

References Debug, IHidden2_vt::DecodeSet, fccIV50, IID_IDivxFilterInterface, IID_Iv50Hidden, name, NULL, IDivxFilterInterface_vt::put_Brightness, IDivxFilterInterface_vt::put_Contrast, IDivxFilterInterface_vt::put_PPLevel, IDivxFilterInterface_vt::put_Saturation, IHidden2_vt::Release, IDivxFilterInterface_vt::Release, IHidden_vt::SetSmth, IHidden_vt::SetSmth2, IHidden_vt::SetSmth3, IHidden_vt::SetSmth4, IHidden_vt::SetSmth5, START, VFW_E_NOT_RUNNING, _IHidden::vt, _IHidden2::vt, and IDivxFilterInterface::vt.

Referenced by DS_VideoDecoder_DecodeInternal().

## ◆ DS_VideoDecoder_StartInternal()

void DS_VideoDecoder_StartInternal | ( | DS_VideoDecoder * | this | ) |

References _AllocatorProperties::cbAlign, _AllocatorProperties::cbBuffer, _AllocatorProperties::cbPrefix, _AllocatorProperties::cBuffers, Debug, and START.

Referenced by DS_VideoDecoder_SetDestFmt(), and w32v_init_ds_dmo_codec().

## ◆ DS_VideoDecoder_StopInternal()

void DS_VideoDecoder_StopInternal | ( | DS_VideoDecoder * | this | ) |

Referenced by DS_VideoDecoder_Destroy(), and DS_VideoDecoder_SetDestFmt().

## Variable Documentation

## ◆ check

ct check[]
| static

Initial value:
= {
{16, fccYUY2, &MEDIASUBTYPE_YUY2, CAP_YUY2},
{12, fccIYUV, &MEDIASUBTYPE_IYUV, CAP_IYUV},
{16, fccUYVY, &MEDIASUBTYPE_UYVY, CAP_UYVY},
{12, fccYV12, &MEDIASUBTYPE_YV12, CAP_YV12},
{16, fccYVYU, &MEDIASUBTYPE_YVYU, CAP_YVYU},
{12, fccI420, &MEDIASUBTYPE_I420, CAP_I420},
{9, fccYVU9, &MEDIASUBTYPE_YVU9, CAP_YVU9},
{0, 0, NULL, 0}
}
MEDIASUBTYPE_I420
const GUID MEDIASUBTYPE_I420
Definition: guids.c:63
MEDIASUBTYPE_IYUV
const GUID MEDIASUBTYPE_IYUV
Definition: guids.c:45
MEDIASUBTYPE_YVYU
const GUID MEDIASUBTYPE_YVYU
Definition: guids.c:55
MEDIASUBTYPE_YV12
const GUID MEDIASUBTYPE_YV12
Definition: guids.c:61
MEDIASUBTYPE_UYVY
const GUID MEDIASUBTYPE_UYVY
Definition: guids.c:57
MEDIASUBTYPE_YUY2
const GUID MEDIASUBTYPE_YUY2
Definition: guids.c:53
MEDIASUBTYPE_YVU9
const GUID MEDIASUBTYPE_YVU9
Definition: guids.c:47
fccYVYU
#define fccYVYU
Definition: libwin32.h:259
CAP_YV12
@ CAP_YV12
Definition: libwin32.h:86
CAP_UYVY
@ CAP_UYVY
Definition: libwin32.h:88
CAP_YVU9
@ CAP_YVU9
Definition: libwin32.h:91
CAP_YUY2
@ CAP_YUY2
Definition: libwin32.h:85
CAP_IYUV
@ CAP_IYUV
Definition: libwin32.h:87
CAP_YVYU
@ CAP_YVYU
Definition: libwin32.h:89
CAP_I420
@ CAP_I420
Definition: libwin32.h:90
fccIYUV
#define fccIYUV
Definition: libwin32.h:257
fccUYVY
#define fccUYVY
Definition: libwin32.h:258
fccYV12
#define fccYV12
Definition: libwin32.h:255
fccYUY2
#define fccYUY2
Definition: libwin32.h:254
fccYVU9
#define fccYVU9
Definition: libwin32.h:260
fccI420
#define fccI420
Definition: libwin32.h:256
NULL
NULL
Definition: xine_plugin.c:78

Referenced by DS_VideoDecoder_Open().