Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
01b57344
Commit
01b57344
authored
Sep 16, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
XCB-XVideo: pad scanlines like VLC does
This fixes displaying videos with non-16-multiple pixel width.
parent
495aedb9
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
modules/video_output/xcb/xvideo.c
modules/video_output/xcb/xvideo.c
+6
-4
No files found.
modules/video_output/xcb/xvideo.c
View file @
01b57344
...
@@ -252,15 +252,16 @@ FindFormat (vout_display_t *vd,
...
@@ -252,15 +252,16 @@ FindFormat (vout_display_t *vd,
if
(
chroma
!=
ParseFormat
(
vd
,
f
))
if
(
chroma
!=
ParseFormat
(
vd
,
f
))
continue
;
continue
;
/* VLC pads scanline to 16 pixels internally */
unsigned
width
=
(
fmt
->
i_width
+
15
)
&
~
15
;
xcb_xv_query_image_attributes_reply_t
*
i
;
xcb_xv_query_image_attributes_reply_t
*
i
;
i
=
xcb_xv_query_image_attributes_reply
(
conn
,
i
=
xcb_xv_query_image_attributes_reply
(
conn
,
xcb_xv_query_image_attributes
(
conn
,
port
,
f
->
id
,
xcb_xv_query_image_attributes
(
conn
,
port
,
f
->
id
,
fmt
->
i_
width
,
fmt
->
i_height
),
NULL
);
width
,
fmt
->
i_height
),
NULL
);
if
(
i
==
NULL
)
if
(
i
==
NULL
)
continue
;
continue
;
if
(
i
->
width
!=
fmt
->
i_width
if
(
i
->
width
!=
width
||
i
->
height
!=
fmt
->
i_height
)
||
i
->
height
!=
fmt
->
i_height
)
{
{
msg_Warn
(
vd
,
"incompatible size %ux%u -> %"
PRIu32
"x%"
PRIu32
,
msg_Warn
(
vd
,
"incompatible size %ux%u -> %"
PRIu32
"x%"
PRIu32
,
fmt
->
i_width
,
fmt
->
i_height
,
fmt
->
i_width
,
fmt
->
i_height
,
...
@@ -622,7 +623,8 @@ static void Display (vout_display_t *vd, picture_t *pic)
...
@@ -622,7 +623,8 @@ static void Display (vout_display_t *vd, picture_t *pic)
vd
->
source
.
i_visible_width
,
vd
->
source
.
i_visible_width
,
vd
->
source
.
i_visible_height
,
vd
->
source
.
i_visible_height
,
0
,
0
,
p_sys
->
width
,
p_sys
->
height
,
0
,
0
,
p_sys
->
width
,
p_sys
->
height
,
vd
->
source
.
i_width
,
vd
->
source
.
i_height
,
pic
->
p
->
i_pitch
/
pic
->
p
->
i_pixel_pitch
,
pic
->
p
->
i_visible_lines
,
p_sys
->
data_size
,
pic
->
p
->
p_pixels
);
p_sys
->
data_size
,
pic
->
p
->
p_pixels
);
/* Wait for reply. See x11.c for rationale. */
/* Wait for reply. See x11.c for rationale. */
...
...
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