Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GSoC
GSoC2018
macOS
vlc
Commits
49041406
Commit
49041406
authored
Aug 30, 2004
by
gbazin
Browse files
* modules/video_chroma/i420_rgb16.c: take care of width != pitch as well.
parent
60349e21
Changes
1
Hide whitespace changes
Inline
Side-by-side
modules/video_chroma/i420_rgb16.c
View file @
49041406
...
...
@@ -2,7 +2,7 @@
* i420_rgb16.c : YUV to bitmap RGB conversion module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id
: i420_rgb16.c,v 1.5 2003/08/29 18:58:05 fenrir Exp
$
* $Id$
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
...
...
@@ -82,6 +82,11 @@ void E_(I420_RGB16_dithering)( vout_thread_t *p_vout, picture_t *p_src,
int
*
p_offset_start
=
p_vout
->
chroma
.
p_sys
->
p_offset
;
int
*
p_offset
;
const
int
i_source_margin
=
p_src
->
p
[
0
].
i_pitch
-
p_src
->
p
[
0
].
i_visible_pitch
;
const
int
i_source_margin_c
=
p_src
->
p
[
1
].
i_pitch
-
p_src
->
p
[
1
].
i_visible_pitch
;
/* The dithering matrices */
int
dither10
[
4
]
=
{
0x0
,
0x8
,
0x2
,
0xa
};
int
dither11
[
4
]
=
{
0xc
,
0x4
,
0xe
,
0x6
};
...
...
@@ -172,6 +177,13 @@ void E_(I420_RGB16_dithering)( vout_thread_t *p_vout, picture_t *p_src,
}
SCALE_WIDTH
;
SCALE_HEIGHT
(
420
,
2
);
p_y
+=
i_source_margin
;
if
(
i_y
%
2
)
{
p_u
+=
i_source_margin_c
;
p_v
+=
i_source_margin_c
;
}
}
}
#endif
...
...
@@ -219,6 +231,11 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
int
*
p_offset_start
=
p_vout
->
chroma
.
p_sys
->
p_offset
;
int
*
p_offset
;
const
int
i_source_margin
=
p_src
->
p
[
0
].
i_pitch
-
p_src
->
p
[
0
].
i_visible_pitch
;
const
int
i_source_margin_c
=
p_src
->
p
[
1
].
i_pitch
-
p_src
->
p
[
1
].
i_visible_pitch
;
i_right_margin
=
p_dest
->
p
->
i_pitch
-
p_dest
->
p
->
i_visible_pitch
;
if
(
p_vout
->
render
.
i_width
&
7
)
...
...
@@ -342,6 +359,13 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
}
SCALE_WIDTH
;
SCALE_HEIGHT
(
420
,
2
);
p_y
+=
i_source_margin
;
if
(
i_y
%
2
)
{
p_u
+=
i_source_margin_c
;
p_v
+=
i_source_margin_c
;
}
}
}
...
...
@@ -388,6 +412,11 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
int
*
p_offset_start
=
p_vout
->
chroma
.
p_sys
->
p_offset
;
int
*
p_offset
;
const
int
i_source_margin
=
p_src
->
p
[
0
].
i_pitch
-
p_src
->
p
[
0
].
i_visible_pitch
;
const
int
i_source_margin_c
=
p_src
->
p
[
1
].
i_pitch
-
p_src
->
p
[
1
].
i_visible_pitch
;
i_right_margin
=
p_dest
->
p
->
i_pitch
-
p_dest
->
p
->
i_visible_pitch
;
if
(
p_vout
->
render
.
i_width
&
7
)
...
...
@@ -471,6 +500,13 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
}
SCALE_WIDTH
;
SCALE_HEIGHT
(
420
,
4
);
p_y
+=
i_source_margin
;
if
(
i_y
%
2
)
{
p_u
+=
i_source_margin_c
;
p_v
+=
i_source_margin_c
;
}
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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