Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
e16affa0
Commit
e16affa0
authored
Aug 14, 2000
by
Sam Hocevar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* fixed 8bpp YUV.
* fixed the fscked up Bresenham algorithm in all YUV functions.
parent
b7c5bd56
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
80 additions
and
73 deletions
+80
-73
ChangeLog
ChangeLog
+2
-1
TODO
TODO
+1
-1
plugins/yuv/video_yuv.c
plugins/yuv/video_yuv.c
+36
-36
plugins/yuv/video_yuv16.c
plugins/yuv/video_yuv16.c
+4
-4
plugins/yuv/video_yuv32.c
plugins/yuv/video_yuv32.c
+4
-4
plugins/yuv/video_yuv8.c
plugins/yuv/video_yuv8.c
+2
-2
plugins/yuv/video_yuv_macros.h
plugins/yuv/video_yuv_macros.h
+1
-1
plugins/yuv/video_yuv_macros_8bpp.h
plugins/yuv/video_yuv_macros_8bpp.h
+2
-3
plugins/yuvmmx/video_yuv.c
plugins/yuvmmx/video_yuv.c
+16
-16
plugins/yuvmmx/video_yuv16.c
plugins/yuvmmx/video_yuv16.c
+1
-1
plugins/yuvmmx/video_yuv32.c
plugins/yuvmmx/video_yuv32.c
+1
-1
src/video_parser/vpar_synchro.c
src/video_parser/vpar_synchro.c
+10
-3
No files found.
ChangeLog
View file @
e16affa0
...
...
@@ -7,7 +7,8 @@
* now scaling is on by default, so that people won't tell that the vlc
cannot do scaling :-)
* fixed a few long lines.
* _almost_ fixed 8bpp YUV.
* fixed 8bpp YUV.
* fixed the fscked up Bresenham algorithm in all YUV functions.
Tue Aug 8 11:24:01 CEST 2000
0.1.99f :
...
...
TODO
View file @
e16affa0
...
...
@@ -110,7 +110,7 @@ Urgency: Important
Description
:
Fix
8
bpp
YUV
The
8
bpp
YUV
function
is
broken
,
there
is
some
serious
alpha
blending
,
and
it
scales
pretty
badly
.
Fix
it
.
Status
:
Todo
Status
:
Done
14
Aug
2000
(
sam
)
Task
:
0x15
Difficulty
:
Medium
...
...
plugins/yuv/video_yuv.c
View file @
e16affa0
...
...
@@ -468,53 +468,71 @@ void SetOffset( int i_width, int i_height, int i_pic_width, int i_pic_height,
/*
* Prepare horizontal offset array
*/
if
(
i_pic_width
-
i_width
>
0
)
if
(
i_pic_width
-
i_width
==
0
)
{
/* No horizontal scaling: YUV conversion is done directly to picture */
*
pb_h_scaling
=
0
;
}
else
if
(
i_pic_width
-
i_width
>
0
)
{
/* Prepare scaling array for horizontal extension */
*
pb_h_scaling
=
1
;
i_scale_count
=
i_pic_width
;
if
(
b_double
)
if
(
!
b_double
)
{
int
i_dummy
=
0
;
for
(
i_x
=
i_width
;
i_x
--
;
)
{
while
(
(
i_scale_count
-=
i_width
)
>
0
)
{
*
p_offset
++
=
0
;
*
p_offset
++
=
0
;
}
*
p_offset
++
=
1
;
*
p_offset
++
=
i_dummy
&
1
;
i_dummy
++
;
i_scale_count
+=
i_pic_width
;
}
}
else
{
int
i_dummy
=
0
;
for
(
i_x
=
i_width
;
i_x
--
;
)
{
while
(
(
i_scale_count
-=
i_width
)
>
0
)
{
*
p_offset
++
=
0
;
*
p_offset
++
=
0
;
}
*
p_offset
++
=
1
;
*
p_offset
++
=
i_dummy
;
i_dummy
=
1
-
i_dummy
;
i_scale_count
+=
i_pic_width
;
}
}
}
else
if
(
i_pic_width
-
i_width
<
0
)
else
/* if( i_pic_width - i_width < 0 ) */
{
/* Prepare scaling array for horizontal reduction */
*
pb_h_scaling
=
1
;
i_scale_count
=
i_pic_width
;
if
(
b_double
)
*
pb_h_scaling
=
1
;
i_scale_count
=
i_width
;
if
(
!
b_double
)
{
for
(
i_x
=
i_pic_width
;
i_x
--
;
)
{
*
p_offset
=
1
;
while
(
(
i_scale_count
-=
i_pic_width
)
>
0
)
{
*
p_offset
+=
1
;
}
p_offset
++
;
i_scale_count
+=
i_width
;
}
}
else
{
int
i_remainder
=
0
;
int
i_jump
;
for
(
i_x
=
i_pic_width
;
i_x
--
;
)
{
i_jump
=
1
;
while
(
(
i_scale_count
-=
i_pic_width
)
>
=
0
)
while
(
(
i_scale_count
-=
i_pic_width
)
>
0
)
{
i_jump
+=
1
;
}
...
...
@@ -523,41 +541,23 @@ void SetOffset( int i_width, int i_height, int i_pic_width, int i_pic_height,
i_remainder
=
i_jump
&
1
;
i_scale_count
+=
i_width
;
}
}
else
{
for
(
i_x
=
i_pic_width
;
i_x
--
;
)
{
*
p_offset
=
1
;
while
(
(
i_scale_count
-=
i_pic_width
)
>=
0
)
{
*
p_offset
+=
1
;
}
p_offset
++
;
i_scale_count
+=
i_width
;
}
}
}
else
{
/* No horizontal scaling: YUV conversion is done directly to picture */
*
pb_h_scaling
=
0
;
}
}
/*
* Set vertical scaling indicator
*/
if
(
i_pic_height
-
i_height
>
0
)
if
(
i_pic_height
-
i_height
==
0
)
{
*
pi_v_scaling
=
1
;
*
pi_v_scaling
=
0
;
}
else
if
(
i_pic_height
-
i_height
<
0
)
else
if
(
i_pic_height
-
i_height
>
0
)
{
*
pi_v_scaling
=
-
1
;
*
pi_v_scaling
=
1
;
}
else
else
/* if( i_pic_height - i_height < 0 ) */
{
*
pi_v_scaling
=
0
;
*
pi_v_scaling
=
-
1
;
}
}
plugins/yuv/video_yuv16.c
View file @
e16affa0
...
...
@@ -76,7 +76,7 @@ void ConvertY4Gray16( YUV_ARGS_16BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -138,7 +138,7 @@ void ConvertYUV420RGB16( YUV_ARGS_16BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -200,7 +200,7 @@ void ConvertYUV422RGB16( YUV_ARGS_16BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -261,7 +261,7 @@ void ConvertYUV444RGB16( YUV_ARGS_16BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
plugins/yuv/video_yuv32.c
View file @
e16affa0
...
...
@@ -76,7 +76,7 @@ void ConvertY4Gray32( YUV_ARGS_32BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -138,7 +138,7 @@ void ConvertYUV420RGB32( YUV_ARGS_32BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -200,7 +200,7 @@ void ConvertYUV422RGB32( YUV_ARGS_32BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -261,7 +261,7 @@ void ConvertYUV444RGB32( YUV_ARGS_32BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
plugins/yuv/video_yuv8.c
View file @
e16affa0
...
...
@@ -77,7 +77,7 @@ void ConvertY4Gray8( YUV_ARGS_8BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
@@ -146,7 +146,7 @@ void ConvertYUV420RGB8( YUV_ARGS_8BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
i_real_y
=
0
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
...
...
plugins/yuv/video_yuv_macros.h
View file @
e16affa0
...
...
@@ -107,7 +107,7 @@
switch( i_vertical_scaling ) \
{ \
case -1:
/* vertical scaling factor is < 1 */
\
while( (i_scale_count -= i_pic_height) >
= 0 )
\
while( (i_scale_count -= i_pic_height) >
0 )
\
{ \
/* Height reduction: skip next source line */
\
p_y += i_width; \
...
...
plugins/yuv/video_yuv_macros_8bpp.h
View file @
e16affa0
...
...
@@ -136,7 +136,7 @@
switch( i_vertical_scaling ) \
{ \
case -1:
/* vertical scaling factor is < 1 */
\
while( (i_scale_count -= i_pic_height) >
= 0 )
\
while( (i_scale_count -= i_pic_height) >
0 )
\
{ \
/* Height reduction: skip next source line */
\
p_y += i_width; \
...
...
@@ -160,11 +160,10 @@
case 1:
/* vertical scaling factor is > 1 */
\
while( (i_scale_count -= i_height) > 0 ) \
{ \
SCALE_WIDTH_DITHER( CHROMA ); \
p_y -= i_width; \
p_u -= i_chroma_width; \
p_v -= i_chroma_width; \
p_pic += i_pic_line_width;
\
SCALE_WIDTH_DITHER( CHROMA );
\
} \
i_scale_count += i_pic_height; \
break; \
...
...
plugins/yuvmmx/video_yuv.c
View file @
e16affa0
...
...
@@ -352,11 +352,16 @@ void SetOffset( int i_width, int i_height, int i_pic_width, int i_pic_height,
/*
* Prepare horizontal offset array
*/
if
(
i_pic_width
-
i_width
>
0
)
if
(
i_pic_width
-
i_width
==
0
)
{
/* No horizontal scaling: YUV conversion is done directly to picture */
*
pb_h_scaling
=
0
;
}
else
if
(
i_pic_width
-
i_width
>
0
)
{
/* Prepare scaling array for horizontal extension */
*
pb_h_scaling
=
1
;
i_scale_count
=
i_pic_width
;
i_scale_count
=
i_pic_width
;
for
(
i_x
=
i_width
;
i_x
--
;
)
{
while
(
(
i_scale_count
-=
i_width
)
>
0
)
...
...
@@ -367,15 +372,15 @@ void SetOffset( int i_width, int i_height, int i_pic_width, int i_pic_height,
i_scale_count
+=
i_pic_width
;
}
}
else
if
(
i_pic_width
-
i_width
<
0
)
else
/* if( i_pic_width - i_width < 0 ) */
{
/* Prepare scaling array for horizontal reduction */
*
pb_h_scaling
=
1
;
i_scale_count
=
i_pic
_width
;
i_scale_count
=
i
_width
;
for
(
i_x
=
i_pic_width
;
i_x
--
;
)
{
*
p_offset
=
1
;
while
(
(
i_scale_count
-=
i_pic_width
)
>
=
0
)
while
(
(
i_scale_count
-=
i_pic_width
)
>
0
)
{
*
p_offset
+=
1
;
}
...
...
@@ -383,26 +388,21 @@ void SetOffset( int i_width, int i_height, int i_pic_width, int i_pic_height,
i_scale_count
+=
i_width
;
}
}
else
{
/* No horizontal scaling: YUV conversion is done directly to picture */
*
pb_h_scaling
=
0
;
}
/*
* Set vertical scaling indicator
*/
if
(
i_pic_height
-
i_height
>
0
)
if
(
i_pic_height
-
i_height
==
0
)
{
*
pi_v_scaling
=
1
;
*
pi_v_scaling
=
0
;
}
else
if
(
i_pic_height
-
i_height
<
0
)
else
if
(
i_pic_height
-
i_height
>
0
)
{
*
pi_v_scaling
=
-
1
;
*
pi_v_scaling
=
1
;
}
else
else
/* if( i_pic_height - i_height < 0 ) */
{
*
pi_v_scaling
=
0
;
*
pi_v_scaling
=
-
1
;
}
}
plugins/yuvmmx/video_yuv16.c
View file @
e16affa0
...
...
@@ -84,7 +84,7 @@ void ConvertYUV420RGB16( YUV_ARGS_16BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
plugins/yuvmmx/video_yuv32.c
View file @
e16affa0
...
...
@@ -84,7 +84,7 @@ void ConvertYUV420RGB32( YUV_ARGS_32BPP )
/*
* Perform conversion
*/
i_scale_count
=
i_pic
_height
;
i_scale_count
=
(
i_vertical_scaling
==
1
)
?
i_pic_height
:
i
_height
;
for
(
i_y
=
0
;
i_y
<
i_height
;
i_y
++
)
{
/* Mark beginnning of line for possible later line copy, and initialize
...
...
src/video_parser/vpar_synchro.c
View file @
e16affa0
...
...
@@ -160,21 +160,28 @@ void vpar_SynchroUpdateStructures( vpar_thread_t * p_vpar,
#if 1
if
(
p_vpar
->
synchro
.
b_all_I
)
intf_ErrMsg
(
" I: 1024/1024 "
);
intf_ErrMsg
(
" I: 1024/1024 "
);
if
(
p_vpar
->
synchro
.
b_all_P
)
intf_ErrMsg
(
"P: %i/%i "
,
p_vpar
->
synchro
.
i_P_seen
,
p_vpar
->
synchro
.
i_P_seen
);
else
if
(
p_vpar
->
synchro
.
displayable_p
>
0
)
intf_ErrMsg
(
"P: %i/%i "
,
p_vpar
->
synchro
.
displayable_p
,
p_vpar
->
synchro
.
i_P_seen
);
else
intf_ErrMsg
(
" "
);
if
(
p_vpar
->
synchro
.
b_all_B
)
intf_ErrMsg
(
"B: %i/%i"
,
p_vpar
->
synchro
.
i_B_seen
,
p_vpar
->
synchro
.
i_B_seen
);
else
if
(
p_vpar
->
synchro
.
displayable_b
>
0
)
intf_ErrMsg
(
"B: %i/%i"
,
p_vpar
->
synchro
.
displayable_b
,
p_vpar
->
synchro
.
i_B_seen
);
// intf_ErrMsg( " " );
intf_ErrMsg
(
"
\n
"
);
else
intf_ErrMsg
(
" "
);
intf_ErrMsg
(
" Decoding: "
);
/*intf_ErrMsg( "\n" );*/
#endif
p_vpar
->
synchro
.
i_P_seen
=
0
;
p_vpar
->
synchro
.
i_B_seen
=
0
;
...
...
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