Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
4b482440
Commit
4b482440
authored
Dec 06, 2006
by
Damien Fouilleul
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- backporting from 0.8.6
parent
3b44fa8c
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
201 additions
and
94 deletions
+201
-94
modules/video_output/directx/direct3d.c
modules/video_output/directx/direct3d.c
+176
-72
modules/video_output/directx/directx.c
modules/video_output/directx/directx.c
+2
-0
modules/video_output/directx/events.c
modules/video_output/directx/events.c
+20
-21
modules/video_output/directx/vout.h
modules/video_output/directx/vout.h
+3
-1
No files found.
modules/video_output/directx/direct3d.c
View file @
4b482440
This diff is collapsed.
Click to expand it.
modules/video_output/directx/directx.c
View file @
4b482440
...
@@ -77,6 +77,8 @@ struct picture_sys_t
...
@@ -77,6 +77,8 @@ struct picture_sys_t
* the linking stage.
* the linking stage.
*****************************************************************************/
*****************************************************************************/
#include <initguid.h>
#include <initguid.h>
#undef GUID_EXT
#define GUID_EXT
DEFINE_GUID
(
IID_IDirectDraw2
,
0xB3A6F3E0
,
0x2B43
,
0x11CF
,
0xA2
,
0xDE
,
0x00
,
0xAA
,
0x00
,
0xB9
,
0x33
,
0x56
);
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
);
DEFINE_GUID
(
IID_IDirectDrawSurface2
,
0x57805885
,
0x6eec
,
0x11cf
,
0x94
,
0x41
,
0xa8
,
0x23
,
0x03
,
0xc1
,
0x0e
,
0x27
);
...
...
modules/video_output/directx/events.c
View file @
4b482440
...
@@ -433,7 +433,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
...
@@ -433,7 +433,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
* then fine, otherwise return with an error. */
* then fine, otherwise return with an error. */
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX"
),
&
wndclass
)
)
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX"
),
&
wndclass
)
)
{
{
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
"
);
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
}
}
...
@@ -448,7 +448,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
...
@@ -448,7 +448,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
* then fine, otherwise return with an error. */
* then fine, otherwise return with an error. */
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX video"
),
&
wndclass
)
)
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX video"
),
&
wndclass
)
)
{
{
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
"
);
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
}
}
...
@@ -505,7 +505,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
...
@@ -505,7 +505,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
if
(
!
p_vout
->
p_sys
->
hwnd
)
if
(
!
p_vout
->
p_sys
->
hwnd
)
{
{
msg_Warn
(
p_vout
,
"DirectXCreateWindow create window FAILED
"
);
msg_Warn
(
p_vout
,
"DirectXCreateWindow create window FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
...
@@ -768,10 +768,17 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
...
@@ -768,10 +768,17 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
/* Store p_vout for future use */
/* Store p_vout for future use */
p_vout
=
(
vout_thread_t
*
)((
CREATESTRUCT
*
)
lParam
)
->
lpCreateParams
;
p_vout
=
(
vout_thread_t
*
)((
CREATESTRUCT
*
)
lParam
)
->
lpCreateParams
;
SetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
,
(
LONG_PTR
)
p_vout
);
SetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
,
(
LONG_PTR
)
p_vout
);
return
TRUE
;
}
}
else
else
{
{
p_vout
=
(
vout_thread_t
*
)
GetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
);
p_vout
=
(
vout_thread_t
*
)
GetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
);
if
(
!
p_vout
)
{
/* Hmmm mozilla does manage somehow to save the pointer to our
* windowproc and still calls it after the vout has been closed. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
}
}
}
/* Catch the screensaver and the monitor turn-off */
/* Catch the screensaver and the monitor turn-off */
...
@@ -782,13 +789,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
...
@@ -782,13 +789,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
return
0
;
/* this stops them from happening */
return
0
;
/* this stops them from happening */
}
}
if
(
!
p_vout
)
{
/* Hmmm mozilla does manage somehow to save the pointer to our
* windowproc and still calls it after the vout has been closed. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
}
if
(
hwnd
==
p_vout
->
p_sys
->
hvideownd
)
if
(
hwnd
==
p_vout
->
p_sys
->
hvideownd
)
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
...
@@ -845,7 +845,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
...
@@ -845,7 +845,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
/* We do not want to relay these messages to the parent window
/* We do not want to relay these messages to the parent window
* because we rely on the background color for the overlay. */
* because we rely on the background color for the overlay. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
break
;
default:
default:
//msg_Dbg( p_vout, "WinProc WM Default %i", message );
//msg_Dbg( p_vout, "WinProc WM Default %i", message );
...
...
modules/video_output/directx/vout.h
View file @
4b482440
...
@@ -88,6 +88,8 @@ struct vout_sys_t
...
@@ -88,6 +88,8 @@ struct vout_sys_t
RECT
rect_dest
;
RECT
rect_dest
;
RECT
rect_dest_clipped
;
RECT
rect_dest_clipped
;
vlc_bool_t
b_hw_yuv
;
/* Should we use hardware YUV->RGB conversions */
#ifdef MODULE_NAME_IS_vout_directx
#ifdef MODULE_NAME_IS_vout_directx
/* Overlay alignment restrictions */
/* Overlay alignment restrictions */
int
i_align_src_boundary
;
int
i_align_src_boundary
;
...
@@ -97,7 +99,6 @@ struct vout_sys_t
...
@@ -97,7 +99,6 @@ struct vout_sys_t
vlc_bool_t
b_using_overlay
;
/* Are we using an overlay surface */
vlc_bool_t
b_using_overlay
;
/* Are we using an overlay surface */
vlc_bool_t
b_use_sysmem
;
/* Should we use system memory for surfaces */
vlc_bool_t
b_use_sysmem
;
/* Should we use system memory for surfaces */
vlc_bool_t
b_hw_yuv
;
/* Should we use hardware YUV->RGB conversions */
vlc_bool_t
b_3buf_overlay
;
/* Should we use triple buffered overlays */
vlc_bool_t
b_3buf_overlay
;
/* Should we use triple buffered overlays */
/* DDraw capabilities */
/* DDraw capabilities */
...
@@ -123,6 +124,7 @@ struct vout_sys_t
...
@@ -123,6 +124,7 @@ struct vout_sys_t
#ifdef MODULE_NAME_IS_direct3d
#ifdef MODULE_NAME_IS_direct3d
// core objects
// core objects
HINSTANCE
hd3d9_dll
;
/* handle of the opened d3d9 dll */
LPDIRECT3D9
p_d3dobj
;
LPDIRECT3D9
p_d3dobj
;
LPDIRECT3DDEVICE9
p_d3ddev
;
LPDIRECT3DDEVICE9
p_d3ddev
;
D3DPRESENT_PARAMETERS
d3dpp
;
D3DPRESENT_PARAMETERS
d3dpp
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment