Go to the documentation of this file.
23 #include "wine/msacm.h"
24 #include "wine/avifmt.h"
30 void w32c_decode_video (
unsigned char *data, uint32_t nSize,
int bFrameEnd, uint32_t nPTS);
36 void w32c_decode_audio (
unsigned char *data, uint32_t nSize,
int bFrameEnd, uint32_t nPTS) ;
Definition: xine_internal.h:80
#define DRIVER_DS
Definition: w32codec.c:143
DMO_AudioDecoder * DMO_AudioDecoder_Open(const char *dllname, GUID *guid, WAVEFORMATEX *wf, int out_channels)
Definition: DMO_AudioDecoder.c:41
struct w32v_decoder_s w32v_decoder_t
#define XINE_STREAM_INFO_VIDEO_WIDTH
Definition: xine.h:1007
int pitches[3]
Definition: video_out.h:117
GUID * guid
Definition: w32codec.c:169
static video_decoder_t * open_video_decoder_plugin(video_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: w32codec.c:1556
int32_t size
Definition: buffer.h:343
int num_frames
Definition: audio_out.h:150
DMO_VideoDecoder * DMO_VideoDecoder_Open(const char *dllname, GUID *guid, BITMAPINFOHEADER *format, int flip, int maxauto)
Definition: DMO_VideoDecoder.c:93
#define XINE_STREAM_INFO_AUDIO_HANDLED
Definition: xine.h:1021
static const char * get_auds_codec_name(w32a_decoder_t *this, int buf_type)
Definition: w32codec.c:1071
Definition: video_decoder.h:73
int DMO_AudioDecoder_Convert(DMO_AudioDecoder *this, const void *in_data, unsigned int in_size, void *out_data, unsigned int out_size, unsigned int *size_read, unsigned int *size_written)
Definition: DMO_AudioDecoder.c:116
#define BUF_AUDIO_LH
Definition: buffer.h:219
static void w32a_discontinuity(audio_decoder_t *this_gen)
Definition: w32codec.c:1153
Definition: xine_internal.h:123
int rate
Definition: w32codec.c:202
#define VIDEOBUFSIZE
Definition: w32codec.c:140
#define BUF_VIDEO_VP31
Definition: buffer.h:113
static GUID mss1_clsid
Definition: w32codec.c:114
DS_AudioDecoder * DS_AudioDecoder_Open(const char *dllname, GUID *guid, WAVEFORMATEX *wf)
Definition: DS_AudioDecoder.c:36
int64_t pts
Definition: video_out.h:109
#define BUF_FLAG_FRAME_END
Definition: buffer.h:371
#define G_CB_OFF
Definition: w32codec.c:245
void DMO_AudioDecoder_Destroy(DMO_AudioDecoder *this)
Definition: DMO_AudioDecoder.c:108
#define IMGFMT_YUY2
Definition: w32codec.c:549
#define BUF_VIDEO_I263
Definition: buffer.h:103
int64_t video_step
Definition: w32codec.c:151
int DMO_AudioDecoder_GetSrcSize(DMO_AudioDecoder *this, int dest_size)
Definition: DMO_AudioDecoder.c:174
#define BUF_AUDIO_MSADPCM
Definition: buffer.h:214
static void w32a_dispose(audio_decoder_t *this_gen)
Definition: w32codec.c:1513
#define BUF_FLAG_FRAMERATE
Definition: buffer.h:389
#define BUF_VIDEO_MSMPEG4_V1
Definition: buffer.h:127
#define BUF_VIDEO_WMV9
Definition: buffer.h:144
int64_t sumpts
Definition: w32codec.c:192
int yuv_hack_needed
Definition: w32codec.c:159
#define BUF_VIDEO_VP6
Definition: buffer.h:156
#define G_CR_OFF
Definition: w32codec.c:248
int64_t pts
Definition: w32codec.c:189
Definition: audio_decoder.h:73
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
#define BUF_AUDIO_VOXWARE
Definition: buffer.h:220
uint32_t buf_type
Definition: demux_ivf.c:38
static GUID CLSID_Acelp
Definition: w32codec.c:72
HIC hic
Definition: w32codec.c:157
void DMO_VideoDecoder_Destroy(DMO_VideoDecoder *this)
Definition: DMO_VideoDecoder.c:271
uint32_t decoder_info[5]
Definition: buffer.h:353
int stream_id
Definition: w32codec.c:173
static GUID wmv3_clsid
Definition: w32codec.c:90
int DMO_VideoDecoder_DecodeInternal(DMO_VideoDecoder *this, const void *src, int size, int is_keyframe, char *imdata)
Definition: DMO_VideoDecoder.c:309
static const char * get_win32_codecs_path(config_values_t *cfg)
Definition: common.c:5
#define R_CB_OFF
Definition: w32codec.c:244
int ex_functions
Definition: w32codec.c:167
#define CBCR_OFFSET
Definition: w32codec.c:239
#define SCALEBITS
Definition: w32codec.c:236
static void w32a_decode_data(audio_decoder_t *this_gen, buf_element_t *buf)
Definition: w32codec.c:1469
int mem_size
Definition: audio_out.h:149
Definition: audio_out.h:144
#define R_CR_OFF
Definition: w32codec.c:247
#define ONE_HALF
Definition: w32codec.c:238
long outfmt
Definition: w32codec.c:165
static void w32v_init_rgb_ycc(void)
Definition: w32codec.c:267
Definition: DS_AudioDecoder.c:17
#define BUF_AUDIO_VIVOG723
Definition: buffer.h:224
int outsize
Definition: w32codec.c:196
Definition: w32codec.c:146
#define TABLE_SIZE
Definition: w32codec.c:250
#define BUF_AUDIO_ACELPNET
Definition: buffer.h:221
BITMAPINFOHEADER * bih
Definition: w32codec.c:154
#define BUF_VIDEO_MSMPEG4_V3
Definition: buffer.h:95
static void w32v_dispose(video_decoder_t *this_gen)
Definition: w32codec.c:1022
int _x_message(xine_stream_t *stream, int type,...)
Definition: xine_interface.c:1000
DS_VideoDecoder * DS_VideoDecoder_Open(const char *dllname, GUID *guid, BITMAPINFOHEADER *format, int flip, int maxauto)
Definition: DS_VideoDecoder.c:85
static void w32v_flush(video_decoder_t *this_gen)
Definition: w32codec.c:991
#define lprintf(...)
Definition: xineutils.h:620
double byterate
Definition: w32codec.c:193
#define BUF_VIDEO_WMV8
Definition: buffer.h:109
#define XINE_STREAM_INFO_VIDEO_HANDLED
Definition: xine.h:1014
int DS_VideoDecoder_DecodeInternal(DS_VideoDecoder *this, const void *src, int size, int is_keyframe, char *pImage)
Definition: DS_VideoDecoder.c:299
int rec_audio_src_size
Definition: w32codec.c:199
static void w32v_discontinuity(video_decoder_t *this_gen)
Definition: w32codec.c:1017
#define BUF_VIDEO_IV50
Definition: buffer.h:97
HACMSTREAM srcstream
Definition: w32codec.c:198
#define XINE_STREAM_INFO_VIDEO_HEIGHT
Definition: xine.h:1008
int max_audio_src_size
Definition: w32codec.c:200
int16_t * mem
Definition: audio_out.h:148
ldt_fs_t * ldt_fs
Definition: w32codec.c:176
#define B_CR_OFF
Definition: w32codec.c:249
video_decoder_t video_decoder
Definition: w32codec.c:147
#define BUF_VIDEO_WMV7
Definition: buffer.h:108
void w32c_decode_video(unsigned char *data, uint32_t nSize, int bFrameEnd, uint32_t nPTS)
#define R_Y_OFF
Definition: w32codec.c:241
int DS_VideoDecoder_SetDestFmt(DS_VideoDecoder *this, int bits, unsigned int csp)
Definition: DS_VideoDecoder.c:424
#define XINE_META_INFO_AUDIOCODEC
Definition: xine.h:1069
static GUID wmvdmo_clsid
Definition: w32codec.c:96
int decoder_ok
Definition: w32codec.c:185
static void w32a_ensure_buffer_size(w32a_decoder_t *this, int size)
Definition: w32codec.c:1308
void * w32v_init_class(xine_t *xine, const void *data)
Definition: w32codec.c:1588
#define BUF_AUDIO_MSGSM
Definition: buffer.h:216
int64_t pts
Definition: buffer.h:345
#define IMGFMT_15RGB
Definition: w32codec.c:554
static audio_decoder_t * open_audio_decoder_plugin(audio_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: w32codec.c:1608
static void w32a_decode_audio(w32a_decoder_t *this, unsigned char *data, uint32_t size, int frame_end, int64_t pts)
Definition: w32codec.c:1319
NULL
Definition: xine_plugin.c:78
void w32c_decode_audio(unsigned char *data, uint32_t nSize, int bFrameEnd, uint32_t nPTS)
#define BUF_VIDEO_IV31
Definition: buffer.h:100
Definition: audio_decoder.h:40
audio_decoder_t *(* open_plugin)(audio_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: audio_decoder.h:45
int size
Definition: w32codec.c:164
static GUID wmv1_clsid
Definition: w32codec.c:78
int bad_frame
Definition: video_out.h:111
config_values_t * config
Definition: xine_internal.h:82
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
static void w32v_init_codec(w32v_decoder_t *this, int buf_type)
Definition: w32codec.c:556
#define _(String)
Definition: vcdplayer.h:39
#define DRIVER_STD
Definition: w32codec.c:142
#define B_Y_OFF
Definition: w32codec.c:243
void DS_VideoDecoder_StartInternal(DS_VideoDecoder *this)
Definition: DS_VideoDecoder.c:275
Definition: configfile.h:83
int duration
Definition: video_out.h:112
#define BUF_AUDIO_WMALL
Definition: buffer.h:265
char scratch1[16]
Definition: w32codec.c:156
static void w32v_reset(video_decoder_t *this_gen)
Definition: w32codec.c:995
static GUID wma3_clsid
Definition: w32codec.c:120
static GUID dvsd_clsid
Definition: w32codec.c:102
#define DRIVER_DMO
Definition: w32codec.c:144
#define BUF_VIDEO_DV
Definition: buffer.h:111
void DS_VideoDecoder_Destroy(DS_VideoDecoder *this)
Definition: DS_VideoDecoder.c:266
#define B_CB_OFF
Definition: w32codec.c:246
void DMO_VideoDecoder_StartInternal(DMO_VideoDecoder *this)
Definition: DMO_VideoDecoder.c:280
static GUID msmpeg4_clsid
Definition: w32codec.c:108
#define XINE_LOG_MSG
Definition: xine_internal.h:64
void _x_meta_info_set_utf8(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:341
int DS_AudioDecoder_Convert(DS_AudioDecoder *this, const void *in_data, unsigned int in_size, void *out_data, unsigned int out_size, unsigned int *size_read, unsigned int *size_written)
Definition: DS_AudioDecoder.c:138
#define MAXSAMPLE
Definition: w32codec.c:233
#define VO_BOTH_FIELDS
Definition: video_out.h:293
#define BUF_VIDEO_VP5
Definition: buffer.h:155
#define BUF_VIDEO_TSCC
Definition: buffer.h:132
int64_t vpts
Definition: audio_out.h:152
GUID * guid
Definition: w32codec.c:205
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
void * w32a_init_class(xine_t *xine, const void *data)
Definition: w32codec.c:1637
static void w32a_reset(audio_decoder_t *this_gen)
Definition: w32codec.c:1146
#define G_Y_OFF
Definition: w32codec.c:242
#define XINE_MSG_LIBRARY_LOAD_ERROR
Definition: xine.h:2199
int decoder_ok
Definition: w32codec.c:152
#define BUF_VIDEO_UCOD
Definition: buffer.h:143
int _x_ao_channels2mode(int channels)
Definition: audio_out.c:1098
unsigned char * buf
Definition: w32codec.c:161
Definition: video_decoder.h:41
#define BUF_FLAG_STDHEADER
Definition: buffer.h:401
#define BUF_VIDEO_MSMPEG4_V2
Definition: buffer.h:94
#define BUF_FLAG_KEYFRAME
Definition: buffer.h:367
int DMO_VideoDecoder_SetDestFmt(DMO_VideoDecoder *this, int bits, unsigned int csp)
Definition: DMO_VideoDecoder.c:374
#define BUF_VIDEO_IV32
Definition: buffer.h:99
audio_decoder_t audio_decoder
Definition: w32codec.c:180
int DS_AudioDecoder_GetSrcSize(DS_AudioDecoder *this, int dest_size)
Definition: DS_AudioDecoder.c:196
#define XINE_STREAM_INFO_FRAME_DURATION
Definition: xine.h:1015
#define BUF_AUDIO_WMAV1
Definition: buffer.h:212
#define XINE_META_INFO_VIDEOCODEC
Definition: xine.h:1068
#define BUF_AUDIO_WMAV2
Definition: buffer.h:240
int driver_type
Definition: w32codec.c:204
BITMAPINFOHEADER o_bih
Definition: w32codec.c:154
int yuv_supported
Definition: w32codec.c:158
int64_t sumsize
Definition: w32codec.c:192
DS_AudioDecoder * ds_dec
Definition: w32codec.c:206
#define BUF_VIDEO_VP4
Definition: buffer.h:154
static int get_vids_codec_n_name(w32v_decoder_t *this, int buf_type)
Definition: w32codec.c:302
DMO_VideoDecoder * dmo_dec
Definition: w32codec.c:171
static GUID CLSID_Voxware
Definition: w32codec.c:66
double ratio
Definition: w32codec.c:155
int num_channels
Definition: w32codec.c:201
static int w32a_init_audio(w32a_decoder_t *this, uint8_t *buf, int bufsize, int buftype)
Definition: w32codec.c:1160
int(* draw)(vo_frame_t *vo_img, xine_stream_t *stream)
Definition: video_out.h:91
unsigned char * content
Definition: buffer.h:341
xine_stream_t * stream
Definition: w32codec.c:182
static const char * win32_codec_name
Definition: w32codec.c:138
Definition: DMO_AudioDecoder.c:21
static void w32v_init_ds_dmo_codec(w32v_decoder_t *this, int buf_type)
Definition: w32codec.c:662
xine_stream_t * stream
Definition: w32codec.c:149
#define BUF_VIDEO_ATIVCR2
Definition: buffer.h:102
static const char * get_vids_codec_name(w32v_decoder_t *this, int buf_type, int n)
Definition: w32codec.c:337
#define BUF_AUDIO_WMAPRO
Definition: buffer.h:246
#define BUF_VIDEO_MSVC
Definition: buffer.h:110
int64_t lastpts
Definition: w32codec.c:192
uint32_t decoder_flags
Definition: buffer.h:350
static GUID wmav_clsid
Definition: w32codec.c:126
#define VO_CAP_YUY2
Definition: video_out.h:308
Definition: w32codec.c:179
#define mmioFOURCC(ch0, ch1, ch2, ch3)
Definition: libwin32.h:165
Definition: video_out.h:59
#define BUF_AUDIO_IMC
Definition: buffer.h:218
static int32_t * rgb_ycc_tab
Definition: w32codec.c:264
#define BUF_VIDEO_MSS1
Definition: buffer.h:128
Definition: DMO_VideoDecoder.c:24
uint32_t type
Definition: buffer.h:362
int w32c_init_audio(WAVEFORMATEX *in_fmt)
int flipped
Definition: w32codec.c:160
#define BUF_AUDIO_MSIMAADPCM
Definition: buffer.h:215
int size
Definition: w32codec.c:188
#define FIX(x)
Definition: w32codec.c:237
void xine_log(xine_t *this_gen, int buf, const char *format,...)
Definition: xine.c:3340
static pthread_mutex_t win32_codec_mutex
Definition: w32codec.c:136
int skipframes
Definition: w32codec.c:174
static pthread_once_t once_control
Definition: w32codec.c:137
xine_stream_t * stream
Definition: audio_out.h:159
static void init_routine(void)
Definition: w32codec.c:1583
uint8_t * base[3]
Definition: video_out.h:116
#define BUF_AUDIO_WMAV
Definition: buffer.h:255
video_decoder_t *(* open_plugin)(video_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: video_decoder.h:46
unsigned char * outbuf
Definition: w32codec.c:195
static GUID wmv2_clsid
Definition: w32codec.c:84
int output_open
Definition: w32codec.c:184
int w32c_init_video(BITMAPINFOHEADER *bih)
ldt_fs_t * ldt_fs
Definition: w32codec.c:209
int driver_type
Definition: w32codec.c:168
unsigned char * buf
Definition: w32codec.c:187
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
void * img_buffer
Definition: w32codec.c:163
int bufsize
Definition: w32codec.c:162
DMO_AudioDecoder * dmo_dec
Definition: w32codec.c:207
#define BUF_VIDEO_IV41
Definition: buffer.h:98
DS_VideoDecoder * ds_dec
Definition: w32codec.c:170
Definition: DS_VideoDecoder.c:18
#define N_(String)
Definition: xineintl.h:47
void(* free)(vo_frame_t *vo_img)
Definition: video_out.h:100
static void w32v_decode_data(video_decoder_t *this_gen, buf_element_t *buf)
Definition: w32codec.c:758
#define BUF_VIDEO_CINEPAK
Definition: buffer.h:92
#define BUF_FLAG_PREVIEW
Definition: buffer.h:380
void DS_AudioDecoder_Destroy(DS_AudioDecoder *this)
Definition: DS_AudioDecoder.c:130
struct w32a_decoder_s w32a_decoder_t