Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
1d70aaf0
Commit
1d70aaf0
authored
Oct 25, 2010
by
Fritz Koenig
Committed by
Code Review
Oct 25, 2010
Browse files
Merge "Debug option for drawing motion vectors."
parents
a3b002fc
d1a4cce8
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp8/common/postproc.c
View file @
1d70aaf0
...
...
@@ -76,7 +76,7 @@ const short vp8_rv[] =
extern
void
vp8_blit_text
(
const
char
*
msg
,
unsigned
char
*
address
,
const
int
pitch
);
extern
void
vp8_blit_line
(
int
x0
,
int
x1
,
int
y0
,
int
y1
,
unsigned
char
*
image
,
const
int
pitch
);
/***********************************************************************************************************
*/
void
vp8_post_proc_down_and_across_c
...
...
@@ -450,6 +450,45 @@ void vp8_plane_add_noise_c(unsigned char *Start, char *noise,
#define RTCD_VTABLE(oci) NULL
#endif
static
void
constrain_line
(
int
x0
,
int
*
x1
,
int
y0
,
int
*
y1
,
int
width
,
int
height
)
{
int
dx
=
*
x1
-
x0
;
int
dy
=
*
y1
-
y0
;
if
(
*
x1
>
width
)
{
*
x1
=
width
;
if
(
dy
)
*
y1
=
((
width
-
x0
)
*
dy
)
/
dx
+
y0
;
dx
=
*
x1
-
x0
;
dy
=
*
y1
-
y0
;
}
if
(
*
x1
<
0
)
{
*
x1
=
0
;
if
(
dy
)
*
y1
=
((
0
-
x0
)
*
dy
)
/
dx
+
y0
;
dx
=
*
x1
-
x0
;
dy
=
*
y1
-
y0
;
}
if
(
*
y1
>
height
)
{
*
y1
=
height
;
if
(
dx
)
*
x1
=
((
height
-
y0
)
*
dx
)
/
dy
+
x0
;
dx
=
*
x1
-
x0
;
dy
=
*
y1
-
y0
;
}
if
(
*
y1
<
0
)
{
*
y1
=
0
;
if
(
dx
)
*
x1
=
((
0
-
y0
)
*
dx
)
/
dy
+
x0
;
dx
=
*
x1
-
x0
;
dy
=
*
y1
-
y0
;
}
}
int
vp8_post_proc_frame
(
VP8_COMMON
*
oci
,
YV12_BUFFER_CONFIG
*
dest
,
int
deblock_level
,
int
noise_level
,
int
flags
)
{
char
message
[
512
];
...
...
@@ -622,8 +661,37 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
#endif
}
else
if
(
flags
&
VP8D_DEBUG_LEVEL5
)
{
YV12_BUFFER_CONFIG
*
post
=
&
oci
->
post_proc_buffer
;
int
width
=
post
->
y_width
;
int
height
=
post
->
y_height
;
int
mb_cols
=
width
>>
4
;
unsigned
char
*
y_buffer
=
oci
->
post_proc_buffer
.
y_buffer
;
int
y_stride
=
oci
->
post_proc_buffer
.
y_stride
;
MODE_INFO
*
mi
=
oci
->
mi
;
int
x0
,
y0
;
for
(
y0
=
8
;
y0
<
(
height
+
8
);
y0
+=
16
)
{
for
(
x0
=
8
;
x0
<
(
width
+
8
);
x0
+=
16
)
{
int
x1
,
y1
;
if
(
mi
->
mbmi
.
mode
>=
NEARESTMV
)
{
MV
*
mv
=
&
mi
->
mbmi
.
mv
.
as_mv
;
x1
=
x0
+
(
mv
->
col
>>
3
);
y1
=
y0
+
(
mv
->
row
>>
3
);
constrain_line
(
x0
,
&
x1
,
y0
,
&
y1
,
width
,
height
);
vp8_blit_line
(
x0
,
x1
,
y0
,
y1
,
y_buffer
,
y_stride
);
}
mi
++
;
}
mi
++
;
}
}
*
dest
=
oci
->
post_proc_buffer
;
...
...
vp8/common/ppflags.h
View file @
1d70aaf0
...
...
@@ -21,6 +21,7 @@ enum
VP8D_DEBUG_LEVEL2
=
16
,
VP8D_DEBUG_LEVEL3
=
32
,
VP8D_DEBUG_LEVEL4
=
64
,
VP8D_DEBUG_LEVEL5
=
128
,
};
#endif
vp8/common/textblit.c
View file @
1d70aaf0
...
...
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include
<stdlib.h>
void
vp8_blit_text
(
const
char
*
msg
,
unsigned
char
*
address
,
const
int
pitch
)
...
...
@@ -51,3 +51,80 @@ void vp8_blit_text(const char *msg, unsigned char *address, const int pitch)
colpos
++
;
}
}
static
void
plot
(
const
int
x
,
const
int
y
,
unsigned
char
*
image
,
const
int
pitch
)
{
image
[
x
+
y
*
pitch
]
^=
255
;
}
// Bresenham line algorithm
void
vp8_blit_line
(
int
x0
,
int
x1
,
int
y0
,
int
y1
,
unsigned
char
*
image
,
const
int
pitch
)
{
int
steep
=
abs
(
y1
-
y0
)
>
abs
(
x1
-
x0
);
int
deltax
,
deltay
;
int
error
,
ystep
,
y
,
x
;
if
(
steep
)
{
int
t
;
t
=
x0
;
x0
=
y0
;
y0
=
t
;
t
=
x1
;
x1
=
y1
;
y1
=
t
;
}
if
(
x0
>
x1
)
{
int
t
;
t
=
x0
;
x0
=
x1
;
x1
=
t
;
t
=
y0
;
y0
=
y1
;
y1
=
t
;
}
deltax
=
x1
-
x0
;
deltay
=
abs
(
y1
-
y0
);
error
=
deltax
/
2
;
y
=
y0
;
if
(
y0
<
y1
)
ystep
=
1
;
else
ystep
=
-
1
;
if
(
steep
)
{
for
(
x
=
x0
;
x
<=
x1
;
x
++
)
{
plot
(
y
,
x
,
image
,
pitch
);
error
=
error
-
deltay
;
if
(
error
<
0
)
{
y
=
y
+
ystep
;
error
=
error
+
deltax
;
}
}
}
else
{
for
(
x
=
x0
;
x
<=
x1
;
x
++
)
{
plot
(
x
,
y
,
image
,
pitch
);
error
=
error
-
deltay
;
if
(
error
<
0
)
{
y
=
y
+
ystep
;
error
=
error
+
deltax
;
}
}
}
}
Write
Preview
Supports
Markdown
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