Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
libvpx
Commits
11fec186
Commit
11fec186
authored
Nov 12, 2012
by
Ronald S. Bultje
Committed by
Gerrit Code Review
Nov 12, 2012
Browse files
Merge "Remove 'thismb' data pointer when superblock experiment is on." into experimental
parents
6fb8953c
73987d14
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
0 deletions
+25
-0
vp9/encoder/block.h
vp9/encoder/block.h
+2
-0
vp9/encoder/encodeframe.c
vp9/encoder/encodeframe.c
+21
-0
vp9/encoder/firstpass.c
vp9/encoder/firstpass.c
+2
-0
No files found.
vp9/encoder/block.h
View file @
11fec186
...
...
@@ -86,9 +86,11 @@ typedef struct {
typedef
struct
macroblock
{
DECLARE_ALIGNED
(
16
,
short
,
src_diff
[
400
]);
// 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
DECLARE_ALIGNED
(
16
,
short
,
coeff
[
400
]);
// 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
#if !CONFIG_SUPERBLOCKS
DECLARE_ALIGNED
(
16
,
unsigned
char
,
thismb
[
256
]);
// 16x16 Y
unsigned
char
*
thismb_ptr
;
#endif
// 16 Y blocks, 4 U blocks, 4 V blocks,
// 1 DC 2nd order block each with 16 entries
BLOCK
block
[
25
];
...
...
vp9/encoder/encodeframe.c
View file @
11fec186
...
...
@@ -294,8 +294,10 @@ static void build_activity_map(VP9_COMP *cpi) {
xd
->
left_available
=
(
mb_col
!=
0
);
recon_yoffset
+=
16
;
#endif
#if !CONFIG_SUPERBLOCKS
// Copy current mb to a buffer
vp9_copy_mem16x16
(
x
->
src
.
y_buffer
,
x
->
src
.
y_stride
,
x
->
thismb
,
16
);
#endif
// measure activity
mb_activity
=
mb_activity_measure
(
cpi
,
x
,
mb_row
,
mb_col
);
...
...
@@ -575,8 +577,10 @@ static void pick_mb_modes(VP9_COMP *cpi,
xd
->
dst
.
u_buffer
=
cm
->
yv12_fb
[
dst_fb_idx
].
u_buffer
+
recon_uvoffset
;
xd
->
dst
.
v_buffer
=
cm
->
yv12_fb
[
dst_fb_idx
].
v_buffer
+
recon_uvoffset
;
#if !CONFIG_SUPERBLOCKS
// Copy current MB to a work buffer
vp9_copy_mem16x16
(
x
->
src
.
y_buffer
,
x
->
src
.
y_stride
,
x
->
thismb
,
16
);
#endif
x
->
rddiv
=
cpi
->
RDDIV
;
x
->
rdmult
=
cpi
->
RDMULT
;
...
...
@@ -953,8 +957,10 @@ static void encode_sb(VP9_COMP *cpi,
xd
->
dst
.
u_buffer
=
cm
->
yv12_fb
[
dst_fb_idx
].
u_buffer
+
recon_uvoffset
;
xd
->
dst
.
v_buffer
=
cm
->
yv12_fb
[
dst_fb_idx
].
v_buffer
+
recon_uvoffset
;
#if !CONFIG_SUPERBLOCKS
// Copy current MB to a work buffer
vp9_copy_mem16x16
(
x
->
src
.
y_buffer
,
x
->
src
.
y_stride
,
x
->
thismb
,
16
);
#endif
if
(
cpi
->
oxcf
.
tuning
==
VP8_TUNE_SSIM
)
vp9_activity_masking
(
cpi
,
x
);
...
...
@@ -1694,6 +1700,7 @@ void vp9_build_block_offsets(MACROBLOCK *x) {
vp9_build_block_doffsets
(
&
x
->
e_mbd
);
#if !CONFIG_SUPERBLOCKS
// y blocks
x
->
thismb_ptr
=
&
x
->
thismb
[
0
];
for
(
br
=
0
;
br
<
4
;
br
++
)
{
...
...
@@ -1708,6 +1715,20 @@ void vp9_build_block_offsets(MACROBLOCK *x) {
++
block
;
}
}
#else
for
(
br
=
0
;
br
<
4
;
br
++
)
{
for
(
bc
=
0
;
bc
<
4
;
bc
++
)
{
BLOCK
*
this_block
=
&
x
->
block
[
block
];
// this_block->base_src = &x->src.y_buffer;
// this_block->src_stride = x->src.y_stride;
// this_block->src = 4 * br * this_block->src_stride + 4 * bc;
this_block
->
base_src
=
&
x
->
src
.
y_buffer
;
this_block
->
src_stride
=
x
->
src
.
y_stride
;
this_block
->
src
=
4
*
br
*
this_block
->
src_stride
+
4
*
bc
;
++
block
;
}
}
#endif
// u blocks
for
(
br
=
0
;
br
<
2
;
br
++
)
{
...
...
vp9/encoder/firstpass.c
View file @
11fec186
...
...
@@ -521,8 +521,10 @@ void vp9_first_pass(VP9_COMP *cpi) {
xd
->
dst
.
v_buffer
=
new_yv12
->
v_buffer
+
recon_uvoffset
;
xd
->
left_available
=
(
mb_col
!=
0
);
#if !CONFIG_SUPERBLOCKS
// Copy current mb to a buffer
vp9_copy_mem16x16
(
x
->
src
.
y_buffer
,
x
->
src
.
y_stride
,
x
->
thismb
,
16
);
#endif
// do intra 16x16 prediction
this_error
=
vp9_encode_intra
(
cpi
,
x
,
use_dc_pred
);
...
...
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