
Data Structures | |
| struct | picture_sys_t |
| struct | dx_format_t |
Defines | |
| #define | MONITOR_DEFAULTTONEAREST 2 |
| #define | HW_YUV_TEXT N_("Use hardware YUV->RGB conversions") |
| #define | HW_YUV_LONGTEXT |
| #define | SYSMEM_TEXT N_("Use video buffers in system memory") |
| #define | SYSMEM_LONGTEXT |
| #define | TRIPLEBUF_TEXT N_("Use triple buffering for overlays") |
| #define | TRIPLEBUF_LONGTEXT |
| #define | DEVICE_TEXT N_("Name of desired display device") |
| #define | DEVICE_LONGTEXT |
| #define | DX_HELP |
| #define | GUID_EXT |
Functions | |
| static int | Open (vlc_object_t *object) |
| This function allocates and initialize the DirectX vout display. | |
| static void | Close (vlc_object_t *object) |
| Terminate a vout display created by Open. | |
| static int | FindDevicesCallback (vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| DEFINE_GUID (IID_IDirectDraw2, 0xB3A6F3E0, 0x2B43, 0x11CF, 0xA2, 0xDE, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56) | |
| DEFINE_GUID (IID_IDirectDrawSurface2, 0x57805885, 0x6eec, 0x11cf, 0x94, 0x41, 0xa8, 0x23, 0x03, 0xc1, 0x0e, 0x27) | |
| static picture_pool_t * | Pool (vout_display_t *, unsigned) |
| static void | Display (vout_display_t *, picture_t *) |
| static int | Control (vout_display_t *, int, va_list) |
| static void | Manage (vout_display_t *) |
| static int | WallpaperCallback (vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *) |
| static int | DirectXOpen (vout_display_t *, video_format_t *fmt) |
| static void | DirectXClose (vout_display_t *) |
| static int | DirectXLock (picture_t *) |
| static void | DirectXUnlock (picture_t *) |
| static int | DirectXUpdateOverlay (vout_display_t *vd, LPDIRECTDRAWSURFACE2 surface) |
| Move or resize overlay surface on video display. | |
| static void | WallpaperChange (vout_display_t *vd, bool use_wallpaper) |
| static int | DirectXOpenDDraw (vout_display_t *) |
| static void | DirectXCloseDDraw (vout_display_t *) |
| static int | DirectXOpenDisplay (vout_display_t *vd) |
| Create and initialize display according to preferences specified in the vout thread fields. | |
| static void | DirectXCloseDisplay (vout_display_t *vd) |
| static int | DirectXCreatePool (vout_display_t *, bool *, video_format_t *) |
| static void | DirectXDestroyPool (vout_display_t *) |
| static BOOL WINAPI | DirectXOpenDDrawCallback (GUID *guid, LPTSTR desc, LPTSTR drivername, VOID *context, HMONITOR hmon) |
| static void | DirectXGetDDrawCaps (vout_display_t *vd) |
| Probe the capabilities of the hardware. | |
| static void | DirectXCreateClipper (vout_display_t *vd) |
| Create a clipper that will be used when blitting the RGB surface to the main display. | |
| static uint32_t | DirectXFindColorkey (vout_display_t *vd, uint32_t *color) |
| It finds out the 32bits RGB pixel value of the colorkey. | |
| static int | DirectXCreateSurface (vout_display_t *vd, LPDIRECTDRAWSURFACE2 *surface, const video_format_t *fmt, DWORD fourcc, bool use_overlay, bool use_sysmem, int backbuffer_count) |
| Create an YUV overlay or RGB surface for the video. | |
| static void | DirectXDestroySurface (LPDIRECTDRAWSURFACE2 surface) |
| static int | DirectXLockSurface (LPDIRECTDRAWSURFACE2 front_surface, LPDIRECTDRAWSURFACE2 surface, DDSURFACEDESC *ddsd) |
| This function locks a surface and get the surface descriptor. | |
| static void | DirectXUnlockSurface (LPDIRECTDRAWSURFACE2 front_surface, LPDIRECTDRAWSURFACE2 surface) |
| static int | DirectXCheckLockingSurface (LPDIRECTDRAWSURFACE2 front_surface, LPDIRECTDRAWSURFACE2 surface) |
| static DWORD | DirectXGetFourcc (vlc_fourcc_t codec) |
| static int | DirectXCreatePictureResourceYuvOverlay (vout_display_t *vd, const video_format_t *fmt, DWORD fourcc) |
| static int | DirectXCreatePictureResourceYuv (vout_display_t *vd, const video_format_t *fmt, DWORD fourcc) |
| static int | DirectXCreatePictureResourceRgb (vout_display_t *vd, video_format_t *fmt) |
| static int | DirectXCreatePictureResource (vout_display_t *vd, bool *use_overlay, video_format_t *fmt) |
| static void | DirectXDestroyPictureResource (vout_display_t *vd) |
| static BOOL WINAPI | DirectXEnumCallback2 (GUID *guid, LPTSTR desc, LPTSTR drivername, VOID *context, HMONITOR hmon) |
Variables | |
| static const char *const | device [] = { "" } |
| static const char *const | device_text [] = { N_("Default") } |
| #define DEVICE_LONGTEXT |
Value:
N_("In a multiple monitor configuration, you can " \ "specify the Windows device name of the display that you want the video " \ "window to open on. For example, \"\\\\.\\DISPLAY1\" or " \ "\"\\\\.\\DISPLAY2\".")
| #define DEVICE_TEXT N_("Name of desired display device") |
| #define DX_HELP |
Value:
N_("Recommended video output for Windows XP. " \ "Incompatible with Vista's Aero interface" )
| #define GUID_EXT |
| #define HW_YUV_LONGTEXT |
Value:
N_(\ "Try to use hardware acceleration for YUV->RGB conversions. " \ "This option doesn't have any effect when using overlays.")
| #define HW_YUV_TEXT N_("Use hardware YUV->RGB conversions") |
| #define MONITOR_DEFAULTTONEAREST 2 |
Referenced by CommonControlSetFullscreen(), DirectXOpenDDraw(), and Manage().
| #define SYSMEM_LONGTEXT |
Value:
N_(\ "Create video buffers in system memory instead of video memory. This " \ "isn't recommended as usually using video memory allows to benefit from " \ "more hardware acceleration (like rescaling or YUV->RGB conversions). " \ "This option doesn't have any effect when using overlays.")
| #define SYSMEM_TEXT N_("Use video buffers in system memory") |
| #define TRIPLEBUF_LONGTEXT |
Value:
N_(\ "Try to use triple buffering when using YUV overlays. That results in " \ "much better video quality (no flickering).")
| #define TRIPLEBUF_TEXT N_("Use triple buffering for overlays") |
| static void Close | ( | vlc_object_t * | p_this | ) | [static] |
Terminate a vout display created by Open.
Close the module.
Destroys the X11 window.
Disconnect from the X server.
Close a SDL video output.
It destroys an OpenGL vout display.
Terminate a vout display created by Open.
It destroyes a Direct3D vout display.
Terminate an output method created by Open.
Release the drawable.
Close a libcaca video output.
Close a aa video output method.
Close the filter.
Terminate a splitter module.
This function closes a clone video splitter module.
Common close function.
Releases allocate resources.
Close: Destructor.
| p_this | pointer to this filter object | |
| p_this,: | the filter object |
| static int Control | ( | vout_display_t * | vd, | |
| int | query, | |||
| va_list | args | |||
| ) | [static] |
| DEFINE_GUID | ( | IID_IDirectDrawSurface2 | , | |
| 0x57805885 | , | |||
| 0x6eec | , | |||
| 0x11cf | , | |||
| 0x94 | , | |||
| 0x41 | , | |||
| 0xa8 | , | |||
| 0x23 | , | |||
| 0x03 | , | |||
| 0xc1 | , | |||
| 0x0e | , | |||
| 0x27 | ||||
| ) |
| DEFINE_GUID | ( | IID_IDirectDraw2 | , | |
| 0xB3A6F3E0 | , | |||
| 0x2B43 | , | |||
| 0x11CF | , | |||
| 0xA2 | , | |||
| 0xDE | , | |||
| 0x00 | , | |||
| 0xAA | , | |||
| 0x00 | , | |||
| 0xB9 | , | |||
| 0x33 | , | |||
| 0x56 | ||||
| ) |
| static int DirectXCheckLockingSurface | ( | LPDIRECTDRAWSURFACE2 | front_surface, | |
| LPDIRECTDRAWSURFACE2 | surface | |||
| ) | [static] |
References DirectXLockSurface(), DirectXUnlockSurface(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXCreatePictureResourceRgb(), DirectXCreatePictureResourceYuv(), and DirectXCreatePictureResourceYuvOverlay().
| static void DirectXClose | ( | vout_display_t * | vd | ) | [static] |
References DirectXCloseDDraw(), DirectXCloseDisplay(), and DirectXDestroyPool().
Referenced by Control().
| static void DirectXCloseDDraw | ( | vout_display_t * | vd | ) | [static] |
| static void DirectXCloseDisplay | ( | vout_display_t * | vd | ) | [static] |
| static void DirectXCreateClipper | ( | vout_display_t * | vd | ) | [static] |
Create a clipper that will be used when blitting the RGB surface to the main display.
This clipper prevents us to modify by mistake anything on the screen which doesn't belong to our window. For example when a part of our video window is hidden by another window.
References vout_display_sys_t::display, vout_display_sys_t::hvideownd, msg_Warn, and vout_display_t::sys.
Referenced by DirectXOpenDisplay().
| static int DirectXCreatePictureResource | ( | vout_display_t * | vd, | |
| bool * | use_overlay, | |||
| video_format_t * | fmt | |||
| ) | [static] |
References DirectXCreatePictureResourceRgb(), DirectXCreatePictureResourceYuv(), DirectXCreatePictureResourceYuvOverlay(), DirectXGetFourcc(), i, video_format_t::i_chroma, list, picture_resource_t::p_sys, vout_display_sys_t::resource, vout_display_t::sys, var_InheritBool, VLC_ENOMEM, vlc_fourcc_GetYUVFallback(), vlc_fourcc_IsYUV(), and VLC_SUCCESS.
Referenced by DirectXCreatePool().
| static int DirectXCreatePictureResourceRgb | ( | vout_display_t * | vd, | |
| video_format_t * | fmt | |||
| ) | [static] |
References DirectXCheckLockingSurface(), DirectXCreateSurface(), DirectXDestroySurface(), vout_display_sys_t::display, picture_sys_t::front_surface, video_format_t::i_bmask, video_format_t::i_chroma, video_format_t::i_gmask, video_format_t::i_rmask, msg_Dbg, msg_Err, picture_resource_t::p_sys, vout_display_sys_t::resource, picture_sys_t::surface, vout_display_t::sys, var_InheritBool, VLC_CODEC_RGB15, VLC_CODEC_RGB16, VLC_CODEC_RGB24, VLC_CODEC_RGB32, VLC_CODEC_RGB8, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXCreatePictureResource().
| static int DirectXCreatePictureResourceYuv | ( | vout_display_t * | vd, | |
| const video_format_t * | fmt, | |||
| DWORD | fourcc | |||
| ) | [static] |
References count, DirectXCheckLockingSurface(), DirectXCreateSurface(), DirectXDestroySurface(), picture_sys_t::front_surface, index, list, msg_Dbg, picture_resource_t::p_sys, vout_display_sys_t::resource, picture_sys_t::surface, vout_display_t::sys, var_InheritBool, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
Referenced by DirectXCreatePictureResource().
| static int DirectXCreatePictureResourceYuvOverlay | ( | vout_display_t * | vd, | |
| const video_format_t * | fmt, | |||
| DWORD | fourcc | |||
| ) | [static] |
References DirectXCheckLockingSurface(), DirectXCreateSurface(), DirectXDestroySurface(), picture_sys_t::front_surface, msg_Dbg, msg_Warn, picture_resource_t::p_sys, vout_display_sys_t::resource, picture_sys_t::surface, vout_display_t::sys, var_InheritBool, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXCreatePictureResource().
| static int DirectXCreatePool | ( | vout_display_t * | vd, | |
| bool * | use_overlay, | |||
| video_format_t * | fmt | |||
| ) | [static] |
References cfg, DirectXCreatePictureResource(), DirectXDestroyPictureResource(), DirectXLock(), DirectXUnlock(), i, picture_resource_t::i_lines, picture_resource_t::i_pitch, picture_pool_configuration_t::lock, picture_resource_t::p, picture_resource_t::p_pixels, picture_resource_t::p_sys, picture_pool_configuration_t::picture, picture_pool_configuration_t::picture_count, picture_NewFromResource(), PICTURE_PLANE_MAX, picture_pool_NewExtended(), picture_Release(), vout_display_sys_t::pool, vout_display_sys_t::resource, vout_display_t::source, vout_display_t::sys, picture_pool_configuration_t::unlock, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
Referenced by DirectXOpen().
| static int DirectXCreateSurface | ( | vout_display_t * | vd, | |
| LPDIRECTDRAWSURFACE2 * | surface, | |||
| const video_format_t * | fmt, | |||
| DWORD | fourcc, | |||
| bool | use_overlay, | |||
| bool | use_sysmem, | |||
| int | backbuffer_count | |||
| ) | [static] |
Create an YUV overlay or RGB surface for the video.
The best method of display is with an YUV overlay because the YUV->RGB conversion is done in hardware. You can also create a plain RGB surface. (Maybe we could also try an RGB overlay surface, which could have hardware scaling and which would also be faster in window mode because you don't need to do any blitting to the main display...)
References DirectXUpdateOverlay(), video_format_t::i_height, video_format_t::i_width, msg_Err, vout_display_t::sys, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXCreatePictureResourceRgb(), DirectXCreatePictureResourceYuv(), and DirectXCreatePictureResourceYuvOverlay().
| static void DirectXDestroyPictureResource | ( | vout_display_t * | vd | ) | [static] |
References DirectXDestroySurface(), picture_sys_t::front_surface, picture_resource_t::p_sys, vout_display_sys_t::resource, and vout_display_t::sys.
Referenced by DirectXCreatePool(), and DirectXDestroyPool().
| static void DirectXDestroyPool | ( | vout_display_t * | vd | ) | [static] |
References DirectXDestroyPictureResource(), picture_pool_Delete(), vout_display_sys_t::pool, and vout_display_t::sys.
Referenced by DirectXClose().
| static void DirectXDestroySurface | ( | LPDIRECTDRAWSURFACE2 | surface | ) | [static] |
| static BOOL WINAPI DirectXEnumCallback2 | ( | GUID * | guid, | |
| LPTSTR | desc, | |||
| LPTSTR | drivername, | |||
| VOID * | context, | |||
| HMONITOR | hmon | |||
| ) | [static] |
References module_config_t::i_list, module_config_t::ppsz_list, module_config_t::ppsz_list_text, strdup(), VLC_UNUSED, and xrealloc().
Referenced by FindDevicesCallback().
| static uint32_t DirectXFindColorkey | ( | vout_display_t * | vd, | |
| uint32_t * | color | |||
| ) | [static] |
It finds out the 32bits RGB pixel value of the colorkey.
References vout_display_sys_t::display, and vout_display_t::sys.
Referenced by DirectXOpenDisplay().
| static void DirectXGetDDrawCaps | ( | vout_display_t * | vd | ) | [static] |
Probe the capabilities of the hardware.
It is nice to know which features are supported by the hardware so we can find ways to optimize our rendering.
References msg_Dbg, msg_Warn, and vout_display_t::sys.
Referenced by DirectXOpenDDraw().
| static DWORD DirectXGetFourcc | ( | vlc_fourcc_t | codec | ) | [static] |
References dx_format_t::codec, dx_format_t::fourcc, i, VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_UYVY, VLC_CODEC_YUYV, VLC_CODEC_YV12, and VLC_CODEC_YVYU.
Referenced by DirectXCreatePictureResource().
| static int DirectXLock | ( | picture_t * | picture | ) | [static] |
References DirectXLockSurface(), picture_t::format, picture_sys_t::front_surface, video_format_t::i_chroma, video_format_t::i_height, plane_t::i_lines, plane_t::i_pitch, picture_t::i_planes, picture_t::p, plane_t::p_pixels, picture_t::p_sys, picture_sys_t::surface, VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_YV12, VLC_EGENERIC, vlc_fourcc_AreUVPlanesSwapped(), and VLC_SUCCESS.
Referenced by DirectXCreatePool(), and Display().
| static int DirectXLockSurface | ( | LPDIRECTDRAWSURFACE2 | front_surface, | |
| LPDIRECTDRAWSURFACE2 | surface, | |||
| DDSURFACEDESC * | ddsd | |||
| ) | [static] |
This function locks a surface and get the surface descriptor.
References VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXCheckLockingSurface(), and DirectXLock().
| static int DirectXOpen | ( | vout_display_t * | vd, | |
| video_format_t * | fmt | |||
| ) | [static] |
References DirectXCreatePool(), DirectXOpenDDraw(), DirectXOpenDisplay(), DirectXUpdateOverlay(), vout_display_sys_t::display, vout_display_sys_t::event, EventThreadUpdateTitle(), EventThreadUseOverlay(), video_format_t::i_chroma, msg_Err, vout_display_t::sys, UpdateRects(), VLC_EGENERIC, vlc_fourcc_IsYUV(), VLC_SUCCESS, and VOUT_TITLE.
Referenced by Control().
| static int DirectXOpenDDraw | ( | vout_display_t * | vd | ) | [static] |
| static BOOL WINAPI DirectXOpenDDrawCallback | ( | GUID * | guid, | |
| LPTSTR | desc, | |||
| LPTSTR | drivername, | |||
| VOID * | context, | |||
| HMONITOR | hmon | |||
| ) | [static] |
References vout_display_sys_t::hwnd, msg_Dbg, vout_display_t::sys, and var_GetString.
Referenced by DirectXOpenDDraw().
| static int DirectXOpenDisplay | ( | vout_display_t * | vd | ) | [static] |
Create and initialize display according to preferences specified in the vout thread fields.
References DirectXCreateClipper(), DirectXFindColorkey(), vout_display_sys_t::display, msg_Err, vout_display_t::sys, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DirectXOpen().
| static void DirectXUnlock | ( | picture_t * | picture | ) | [static] |
References DirectXUnlockSurface(), picture_sys_t::front_surface, picture_t::p_sys, and picture_sys_t::surface.
Referenced by DirectXCreatePool(), and Display().
| static void DirectXUnlockSurface | ( | LPDIRECTDRAWSURFACE2 | front_surface, | |
| LPDIRECTDRAWSURFACE2 | surface | |||
| ) | [static] |
Referenced by DirectXCheckLockingSurface(), and DirectXUnlock().
| static int DirectXUpdateOverlay | ( | vout_display_t * | vd, | |
| LPDIRECTDRAWSURFACE2 | surface | |||
| ) | [static] |
Move or resize overlay surface on video display.
This function is used to move or resize an overlay surface on the screen. Ususally the overlay is moved by the user and thus, by a move or resize event.
References AlignRect(), vout_display_t::cfg, cfg, vout_display_sys_t::display, vout_display_cfg_t::display, dst, picture_sys_t::front_surface, vout_display_place_t::height, vout_display_cfg_t::height, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_x_offset, video_format_t::i_y_offset, msg_Warn, picture_resource_t::p_sys, vout_display_sys_t::pool, vout_display_sys_t::rect_dest_clipped, vout_display_sys_t::rect_display, vout_display_sys_t::rect_src_clipped, vout_display_sys_t::resource, vout_display_t::source, src, vout_display_t::sys, VLC_EGENERIC, VLC_SUCCESS, vout_display_PlacePicture(), vout_display_place_t::width, vout_display_cfg_t::width, vout_display_place_t::x, and vout_display_place_t::y.
Referenced by DirectXCreateSurface(), DirectXOpen(), Display(), Manage(), and WallpaperChange().
| static void Display | ( | vout_display_t * | vd, | |
| picture_t * | picture | |||
| ) | [static] |
References CommonDisplay(), DirectXLock(), DirectXUnlock(), DirectXUpdateOverlay(), vout_display_sys_t::display, picture_sys_t::front_surface, vout_display_sys_t::hvideownd, vout_display_sys_t::is_first_display, msg_Warn, picture_t::p_sys, picture_Release(), vout_display_sys_t::rect_dest_clipped, vout_display_sys_t::rect_src_clipped, picture_sys_t::surface, and vout_display_t::sys.
| static int FindDevicesCallback | ( | vlc_object_t * | object, | |
| char const * | name, | |||
| vlc_value_t | newval, | |||
| vlc_value_t | oldval, | |||
| void * | data | |||
| ) | [static] |
| static void Manage | ( | vout_display_t * | vd | ) | [static] |
| static int Open | ( | vlc_object_t * | p_this | ) | [static] |
This function allocates and initialize the DirectX vout display.
Forward declarations.
Status of this demuxer: Real Media format -----------------.
Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.
Todo:
Open the module.
Create an X11 window.
Probe the X server.
This function initializes SDL vout method.
It creates an OpenGL vout display.
This function allocates and initialize the DirectX vout display.
It creates a Direct3D vout display.
This function allocates and initializes a FB vout method.
Find the drawable set by libvlc application.
This function initializes libcaca vout method.
This function allocates and initializes a aa vout method.
This function allocates and initializes a Wall splitter module.
Open the filter.
This function allocates and initializes a Clone splitter module.
Open: initialize and create stuff.
Connect to the sftp server and ask for a file.
| p_this,: | the vlc_object |
| p_this | ||
| p_this,: | the filter object |
| static picture_pool_t * Pool | ( | vout_display_t * | vd, | |
| unsigned | count | |||
| ) | [static] |
References vout_display_sys_t::pool, vout_display_t::sys, and VLC_UNUSED.
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
| static int WallpaperCallback | ( | vlc_object_t * | object, | |
| char const * | cmd, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | data | |||
| ) | [static] |
References vlc_value_t::b_bool, pl_Get, vout_display_t::sys, var_Create, var_SetBool, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, VLC_UNUSED, and VLC_VAR_BOOL.
| static void WallpaperChange | ( | vout_display_t * | vd, | |
| bool | use_wallpaper | |||
| ) | [static] |
References DirectXUpdateOverlay(), FindWindow(), msg_Dbg, msg_Warn, and vout_display_t::sys.
const char* const device[] = { "" } [static] |
const char* const device_text[] = { N_("Default") } [static] |
1.5.6