Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
29174f4e
Commit
29174f4e
authored
Oct 29, 2005
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/video_output/x11/xcommon.c: support on-the-fly ar/cropping in the x11 vout.
parent
51796a5f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
10 deletions
+37
-10
modules/video_output/x11/xcommon.c
modules/video_output/x11/xcommon.c
+37
-10
No files found.
modules/video_output/x11/xcommon.c
View file @
29174f4e
...
...
@@ -405,11 +405,33 @@ static int InitVideo( vout_thread_t *p_vout )
vout_PlacePicture
(
p_vout
,
p_vout
->
p_sys
->
p_win
->
i_width
,
p_vout
->
p_sys
->
p_win
->
i_height
,
&
i_index
,
&
i_index
,
&
p_vout
->
output
.
i_width
,
&
p_vout
->
output
.
i_height
);
&
p_vout
->
fmt_out
.
i_visible_width
,
&
p_vout
->
fmt_out
.
i_visible_height
);
/* Assume we have square pixels */
p_vout
->
output
.
i_aspect
=
p_vout
->
output
.
i_width
*
VOUT_ASPECT_FACTOR
/
p_vout
->
output
.
i_height
;
p_vout
->
fmt_out
.
i_chroma
=
p_vout
->
output
.
i_chroma
;
p_vout
->
output
.
i_width
=
p_vout
->
fmt_out
.
i_width
=
p_vout
->
fmt_out
.
i_visible_width
*
p_vout
->
fmt_in
.
i_width
/
p_vout
->
fmt_in
.
i_visible_width
;
p_vout
->
output
.
i_height
=
p_vout
->
fmt_out
.
i_height
=
p_vout
->
fmt_out
.
i_visible_height
*
p_vout
->
fmt_in
.
i_height
/
p_vout
->
fmt_in
.
i_visible_height
;
p_vout
->
fmt_out
.
i_x_offset
=
p_vout
->
fmt_out
.
i_visible_width
*
p_vout
->
fmt_in
.
i_x_offset
/
p_vout
->
fmt_in
.
i_visible_width
;
p_vout
->
fmt_out
.
i_y_offset
=
p_vout
->
fmt_out
.
i_visible_height
*
p_vout
->
fmt_in
.
i_y_offset
/
p_vout
->
fmt_in
.
i_visible_height
;
p_vout
->
fmt_out
.
i_sar_num
=
p_vout
->
fmt_out
.
i_sar_den
=
1
;
p_vout
->
output
.
i_aspect
=
p_vout
->
fmt_out
.
i_aspect
=
p_vout
->
fmt_out
.
i_width
*
VOUT_ASPECT_FACTOR
/
p_vout
->
fmt_out
.
i_height
;
msg_Dbg
(
p_vout
,
"x11 image size %ix%i (%i,%i,%ix%i)"
,
p_vout
->
fmt_out
.
i_width
,
p_vout
->
fmt_out
.
i_height
,
p_vout
->
fmt_out
.
i_x_offset
,
p_vout
->
fmt_out
.
i_y_offset
,
p_vout
->
fmt_out
.
i_visible_width
,
p_vout
->
fmt_out
.
i_visible_height
);
#endif
/* Try to initialize up to MAX_DIRECTBUFFERS direct buffers */
...
...
@@ -486,8 +508,11 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic )
XShmPutImage
(
p_vout
->
p_sys
->
p_display
,
p_vout
->
p_sys
->
p_win
->
video_window
,
p_vout
->
p_sys
->
p_win
->
gc
,
p_pic
->
p_sys
->
p_image
,
0
/*src_x*/
,
0
/*src_y*/
,
0
/*dest_x*/
,
0
/*dest_y*/
,
p_vout
->
output
.
i_width
,
p_vout
->
output
.
i_height
,
p_vout
->
fmt_out
.
i_x_offset
,
p_vout
->
fmt_out
.
i_y_offset
,
0
/*dest_x*/
,
0
/*dest_y*/
,
p_vout
->
fmt_out
.
i_visible_width
,
p_vout
->
fmt_out
.
i_visible_height
,
False
/* Don't put True here ! */
);
# endif
}
...
...
@@ -508,8 +533,11 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic )
XPutImage
(
p_vout
->
p_sys
->
p_display
,
p_vout
->
p_sys
->
p_win
->
video_window
,
p_vout
->
p_sys
->
p_win
->
gc
,
p_pic
->
p_sys
->
p_image
,
0
/*src_x*/
,
0
/*src_y*/
,
0
/*dest_x*/
,
0
/*dest_y*/
,
p_vout
->
output
.
i_width
,
p_vout
->
output
.
i_height
);
p_vout
->
fmt_out
.
i_x_offset
,
p_vout
->
fmt_out
.
i_y_offset
,
0
/*dest_x*/
,
0
/*dest_y*/
,
p_vout
->
fmt_out
.
i_visible_width
,
p_vout
->
fmt_out
.
i_visible_height
);
#endif
}
...
...
@@ -847,7 +875,6 @@ static int ManageVideo( vout_thread_t *p_vout )
p_vout
->
i_changes
&=
~
VOUT_FULLSCREEN_CHANGE
;
}
#ifndef MODULE_NAME_IS_x11
if
(
p_vout
->
i_changes
&
VOUT_CROP_CHANGE
||
p_vout
->
i_changes
&
VOUT_ASPECT_CHANGE
)
{
...
...
@@ -862,9 +889,9 @@ static int ManageVideo( vout_thread_t *p_vout )
p_vout
->
fmt_out
.
i_sar_num
=
p_vout
->
fmt_in
.
i_sar_num
;
p_vout
->
fmt_out
.
i_sar_den
=
p_vout
->
fmt_in
.
i_sar_den
;
p_vout
->
output
.
i_aspect
=
p_vout
->
fmt_in
.
i_aspect
;
p_vout
->
i_changes
|=
VOUT_SIZE_CHANGE
;
}
#endif
/*
* Size change
...
...
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