Lines Matching refs:va

219 static void Setup(vlc_va_t *va, vlc_fourcc_t *chroma)  in Setup()  argument
221 vlc_va_sys_t *sys = va->sys; in Setup()
226 void SetupAVCodecContext(vlc_va_t *va) in SetupAVCodecContext() argument
228 vlc_va_sys_t *sys = va->sys; in SetupAVCodecContext()
240 static int Extract(vlc_va_t *va, picture_t *picture, uint8_t *data) in Extract() argument
242 directx_sys_t *dx_sys = &va->sys->dx_sys; in Extract()
266 msg_Err(va, "Failed to copy the hw surface to the decoder surface (hr=0x%0lx)", hr ); in Extract()
270 else if (va->sys->filter != NULL) { in Extract()
271 va->sys->filter->owner.sys = picture; in Extract()
274 va->sys->filter->pf_video_filter( va->sys->filter, surface->p_pic ); in Extract()
276 msg_Err(va, "Unsupported output picture format %08X", picture->format.i_chroma ); in Extract()
283 static int CheckDevice(vlc_va_t *va) in CheckDevice() argument
285 vlc_va_sys_t *sys = va->sys; in CheckDevice()
290 if (DxResetVideoDecoder(va)) in CheckDevice()
293 msg_Err(va, "IDirect3DDeviceManager9_TestDevice %u", (unsigned)hr); in CheckDevice()
299 static int Get(vlc_va_t *va, picture_t *pic, uint8_t **data) in Get() argument
301 return directx_va_Get(va, &va->sys->dx_sys, pic, data); in Get()
304 static void Close(vlc_va_t *va, AVCodecContext *ctx) in Close() argument
306 vlc_va_sys_t *sys = va->sys; in Close()
316 directx_va_Close(va, &sys->dx_sys); in Close()
321 free((char *)va->description); in Close()
339 static int Open(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt, in Open() argument
355 msg_Warn(va, "cannot load d3d9.dll"); in Open()
376 va->sys = sys; in Open()
384 err = directx_va_Open(va, &sys->dx_sys, ctx, fmt, true); in Open()
390 sys->filter = CreateFilter( VLC_OBJECT(va), fmt, sys->i_chroma); in Open()
395 err = directx_va_Setup(va, &sys->dx_sys, ctx); in Open()
402 va->description = DxDescribe(sys); in Open()
403 va->setup = Setup; in Open()
404 va->get = Get; in Open()
405 va->release = directx_va_Release; in Open()
406 va->extract = Extract; in Open()
410 Close(va, ctx); in Open()
418 static int D3dCreateDevice(vlc_va_t *va) in D3dCreateDevice() argument
420 vlc_va_sys_t *sys = va->sys; in D3dCreateDevice()
423 msg_Dbg(va, "Reusing Direct3D9 device"); in D3dCreateDevice()
432 msg_Err(va, "Cannot locate reference to Direct3DCreate9 ABI in DLL"); in D3dCreateDevice()
440 msg_Err(va, "Direct3DCreate9 failed"); in D3dCreateDevice()
449 msg_Warn(va, "IDirect3D9_GetAdapterIdentifier failed"); in D3dCreateDevice()
477 msg_Err(va, "IDirect3D9_CreateDevice failed"); in D3dCreateDevice()
488 static void D3dDestroyDevice(vlc_va_t *va) in D3dDestroyDevice() argument
490 if (va->sys->d3dobj) in D3dDestroyDevice()
491 IDirect3D9_Release(va->sys->d3dobj); in D3dDestroyDevice()
496 static char *DxDescribe(vlc_va_sys_t *va) in DxDescribe() argument
509 D3DADAPTER_IDENTIFIER9 *id = &va->d3dai; in DxDescribe()
530 static int D3dCreateDeviceManager(vlc_va_t *va) in D3dCreateDeviceManager() argument
532 vlc_va_sys_t *sys = va->sys; in D3dCreateDeviceManager()
533 directx_sys_t *dx_sys = &va->sys->dx_sys; in D3dCreateDeviceManager()
542 msg_Err(va, "cannot load function"); in D3dCreateDeviceManager()
545 msg_Dbg(va, "OurDirect3DCreateDeviceManager9 Success!"); in D3dCreateDeviceManager()
550 msg_Err(va, " OurDirect3DCreateDeviceManager9 failed"); in D3dCreateDeviceManager()
554 msg_Info(va, "obtained IDirect3DDeviceManager9"); in D3dCreateDeviceManager()
558 msg_Err(va, "IDirect3DDeviceManager9_ResetDevice failed: %08x", (unsigned)hr); in D3dCreateDeviceManager()
566 static void D3dDestroyDeviceManager(vlc_va_t *va) in D3dDestroyDeviceManager() argument
568 if (va->sys->devmng) in D3dDestroyDeviceManager()
569 IDirect3DDeviceManager9_Release(va->sys->devmng); in D3dDestroyDeviceManager()
575 static int DxCreateVideoService(vlc_va_t *va) in DxCreateVideoService() argument
577 vlc_va_sys_t *sys = va->sys; in DxCreateVideoService()
578 directx_sys_t *dx_sys = &va->sys->dx_sys; in DxCreateVideoService()
587 msg_Err(va, "cannot load function"); in DxCreateVideoService()
590 msg_Info(va, "DXVA2CreateVideoService Success!"); in DxCreateVideoService()
597 msg_Err(va, "OpenDeviceHandle failed"); in DxCreateVideoService()
606 msg_Err(va, "GetVideoService failed"); in DxCreateVideoService()
617 static void DxDestroyVideoService(vlc_va_t *va) in DxDestroyVideoService() argument
619 if (va->sys->device) in DxDestroyVideoService()
620 IDirect3DDeviceManager9_CloseDeviceHandle(va->sys->devmng, va->sys->device); in DxDestroyVideoService()
628 static int DxGetInputList(vlc_va_t *va, input_list_t *p_list) in DxGetInputList() argument
630 directx_sys_t *dx_sys = &va->sys->dx_sys; in DxGetInputList()
636 msg_Err(va, "IDirectXVideoDecoderService_GetDecoderDeviceGuids failed"); in DxGetInputList()
646 static int DxSetupOutput(vlc_va_t *va, const GUID *input, const video_format_t *fmt) in DxSetupOutput() argument
652 …XVideoDecoderService_GetDecoderRenderTargets((IDirectXVideoDecoderService*) va->sys->dx_sys.d3ddec, in DxSetupOutput()
656 msg_Err(va, "IDirectXVideoDecoderService_GetDecoderRenderTargets failed"); in DxSetupOutput()
664 msg_Dbg(va, "%s is supported for output", format->name); in DxSetupOutput()
666 msg_Dbg(va, "%d is supported for output (%4.4s)", f, (const char*)&f); in DxSetupOutput()
683 msg_Dbg(va, "Using decoder output '%s'", format->name); in DxSetupOutput()
684 va->sys->render = format->format; in DxSetupOutput()
695 static int DxCreateVideoDecoder(vlc_va_t *va, int codec_id, const video_format_t *fmt) in DxCreateVideoDecoder() argument
697 vlc_va_sys_t *p_sys = va->sys; in DxCreateVideoDecoder()
698 directx_sys_t *sys = &va->sys->dx_sys; in DxCreateVideoDecoder()
712 …msg_Err(va, "IDirectXVideoAccelerationService_CreateSurface %d failed (hr=0x%0lx)", sys->surface_c… in DxCreateVideoDecoder()
716 msg_Dbg(va, "IDirectXVideoAccelerationService_CreateSurface succeed with %d surfaces (%dx%d)", in DxCreateVideoDecoder()
731 msg_Err(va, "extra buffer impossible, avoid a crash (hr=0x%0lx)", hr); in DxCreateVideoDecoder()
775 msg_Err(va, "IDirectXVideoDecoderService_GetDecoderConfigurations failed"); in DxCreateVideoDecoder()
781 msg_Dbg(va, "we got %d decoder configurations", cfg_count); in DxCreateVideoDecoder()
789 msg_Dbg(va, "configuration[%d] ConfigBitstreamRaw %d", in DxCreateVideoDecoder()
810 msg_Err(va, "Failed to find a supported decoder configuration"); in DxCreateVideoDecoder()
823 msg_Err(va, "IDirectXVideoDecoderService_CreateVideoDecoder failed"); in DxCreateVideoDecoder()
831 msg_Dbg(va, "IDirectXVideoDecoderService_CreateVideoDecoder succeed"); in DxCreateVideoDecoder()
835 static void DxDestroyVideoDecoder(vlc_va_t *va) in DxDestroyVideoDecoder() argument
837 VLC_UNUSED(va); in DxDestroyVideoDecoder()
840 static int DxResetVideoDecoder(vlc_va_t *va) in DxResetVideoDecoder() argument
842 msg_Err(va, "DxResetVideoDecoder unimplemented"); in DxResetVideoDecoder()
846 static picture_t *DxAllocPicture(vlc_va_t *va, const video_format_t *fmt, unsigned index) in DxAllocPicture() argument
849 src_fmt.i_chroma = va->sys->i_chroma; in DxAllocPicture()
853 pic_sys->surface = (LPDIRECT3DSURFACE9) va->sys->dx_sys.hw_surface[index]; in DxAllocPicture()