xine-lib: xine-lib-1.2.13/src/libw32dll/dmo/DMO_VideoDecoder.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions | Variables
DMO_VideoDecoder.c File Reference
`#include "DirectShow/guids.h"`
`#include "DirectShow/interfaces.h"`
`#include "registry.h"`
`#include "videodecoder.h"`
`#include "DMO_Filter.h"`
`#include "DMO_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 | _DMO_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
DMO_VideoDecoder * | DMO_VideoDecoder_Open (const 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 *imdata)
int | DMO_VideoDecoder_SetDestFmt (DMO_VideoDecoder *this, int bits, unsigned int csp)
int | DMO_VideoDecoder_SetDirection (DMO_VideoDecoder *this, int d)

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

## ◆ DMO_VideoDecoder_DecodeInternal()

int DMO_VideoDecoder_DecodeInternal | ( | DMO_VideoDecoder * | this,
|  | const void * | src,
|  | int | size,
|  | int | is_keyframe,
|  | char * | imdata )

References CMediaBufferCreate(), Debug, DMO_E_NOTACCEPTING, DMO_INPUT_DATA_BUFFERF_SYNCPOINT, DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER, _DMO_OUTPUT_DATA_BUFFER::dwStatus, _DMO_OUTPUT_DATA_BUFFER::pBuffer, _DMO_OUTPUT_DATA_BUFFER::rtTimelength, _DMO_OUTPUT_DATA_BUFFER::rtTimestamp, and _CMediaBuffer::vt.

Referenced by w32v_decode_data().

## ◆ DMO_VideoDecoder_Destroy()

void DMO_VideoDecoder_Destroy | ( | DMO_VideoDecoder * | this | ) |

References DMO_Filter_Destroy(), DMO_VideoDecoder_StopInternal(), and STOP.

Referenced by w32v_dispose().

## ◆ DMO_VideoDecoder_Open()

DMO_VideoDecoder * DMO_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, DMO_FilterCreate(), DMO_SET_TYPEF_TEST_ONLY, _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().

## ◆ DMO_VideoDecoder_SetDestFmt()

int DMO_VideoDecoder_SetDestFmt | ( | DMO_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, DMO_SET_TYPEF_TEST_ONLY, 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, and VIDEOINFOHEADER.

Referenced by w32v_init_ds_dmo_codec().

## ◆ DMO_VideoDecoder_SetDirection()

int DMO_VideoDecoder_SetDirection | ( | DMO_VideoDecoder * | this,
|  | int | d )

## ◆ DMO_VideoDecoder_StartInternal()

void DMO_VideoDecoder_StartInternal | ( | DMO_VideoDecoder * | this | ) |

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

Referenced by w32v_init_ds_dmo_codec().

## ◆ DMO_VideoDecoder_StopInternal()

void DMO_VideoDecoder_StopInternal | ( | DMO_VideoDecoder * | this | ) |

Referenced by DMO_VideoDecoder_Destroy().

## Variable Documentation

## ◆ check

ct check[]
| static

Initial value:
= {
{ fccI420, 12, &MEDIASUBTYPE_I420, CAP_I420 },
{ fccYV12, 12, &MEDIASUBTYPE_YV12, CAP_YV12 },
{ fccYUY2, 16, &MEDIASUBTYPE_YUY2, CAP_YUY2 },
{ fccUYVY, 16, &MEDIASUBTYPE_UYVY, CAP_UYVY },
{ fccYVYU, 16, &MEDIASUBTYPE_YVYU, CAP_YVYU },
{ fccIYUV, 24, &MEDIASUBTYPE_IYUV, CAP_IYUV },
{ 8, 8, &MEDIASUBTYPE_RGB8, CAP_NONE },
{ 15, 16, &MEDIASUBTYPE_RGB555, CAP_NONE },
{ 16, 16, &MEDIASUBTYPE_RGB565, CAP_NONE },
{ 24, 24, &MEDIASUBTYPE_RGB24, CAP_NONE },
{ 32, 32, &MEDIASUBTYPE_RGB32, CAP_NONE },
{ 0, 0, NULL, 0 }
}
MEDIASUBTYPE_I420
const GUID MEDIASUBTYPE_I420
Definition guids.c:63
MEDIASUBTYPE_RGB32
const GUID MEDIASUBTYPE_RGB32
Definition guids.c:41
MEDIASUBTYPE_RGB565
const GUID MEDIASUBTYPE_RGB565
Definition guids.c:35
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_RGB8
const GUID MEDIASUBTYPE_RGB8
Definition guids.c:33
MEDIASUBTYPE_RGB24
const GUID MEDIASUBTYPE_RGB24
Definition guids.c:39
MEDIASUBTYPE_YUY2
const GUID MEDIASUBTYPE_YUY2
Definition guids.c:53
MEDIASUBTYPE_RGB555
const GUID MEDIASUBTYPE_RGB555
Definition guids.c:37
fccYVYU
#define fccYVYU
Definition libwin32.h:259
CAP_YV12
@ CAP_YV12
Definition libwin32.h:86
CAP_UYVY
@ CAP_UYVY
Definition libwin32.h:88
CAP_YUY2
@ CAP_YUY2
Definition libwin32.h:85
CAP_NONE
@ CAP_NONE
Definition libwin32.h:84
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
fccI420
#define fccI420
Definition libwin32.h:256
NULL
NULL
Definition xine_plugin.c:78

Referenced by DMO_VideoDecoder_Open().