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
Xiph.Org
aom-rav1e
Commits
e5e9b05d
Commit
e5e9b05d
authored
Mar 03, 2014
by
Jim Bankoski
Browse files
vp9_reconinter.h static functions in header converted to global
Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
parent
3d12e654
Changes
9
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_loopfilter.c
View file @
e5e9b05d
...
...
@@ -1213,7 +1213,7 @@ void vp9_loop_filter_rows(const YV12_BUFFER_CONFIG *frame_buffer,
for
(
mi_col
=
0
;
mi_col
<
cm
->
mi_cols
;
mi_col
+=
MI_BLOCK_SIZE
)
{
int
plane
;
setup_dst_planes
(
xd
,
frame_buffer
,
mi_row
,
mi_col
);
vp9_
setup_dst_planes
(
xd
,
frame_buffer
,
mi_row
,
mi_col
);
// TODO(JBB): Make setup_mask work for non 420.
if
(
use_420
)
...
...
vp9/common/vp9_reconinter.c
View file @
e5e9b05d
...
...
@@ -385,3 +385,38 @@ void vp9_dec_build_inter_predictors_sb(MACROBLOCKD *xd, int mi_row, int mi_col,
}
}
}
void
vp9_setup_dst_planes
(
MACROBLOCKD
*
xd
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
)
{
uint8_t
*
const
buffers
[
4
]
=
{
src
->
y_buffer
,
src
->
u_buffer
,
src
->
v_buffer
,
src
->
alpha_buffer
};
const
int
strides
[
4
]
=
{
src
->
y_stride
,
src
->
uv_stride
,
src
->
uv_stride
,
src
->
alpha_stride
};
int
i
;
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
++
i
)
{
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
i
];
setup_pred_plane
(
&
pd
->
dst
,
buffers
[
i
],
strides
[
i
],
mi_row
,
mi_col
,
NULL
,
pd
->
subsampling_x
,
pd
->
subsampling_y
);
}
}
void
vp9_setup_pre_planes
(
MACROBLOCKD
*
xd
,
int
idx
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
,
const
struct
scale_factors
*
sf
)
{
if
(
src
!=
NULL
)
{
int
i
;
uint8_t
*
const
buffers
[
4
]
=
{
src
->
y_buffer
,
src
->
u_buffer
,
src
->
v_buffer
,
src
->
alpha_buffer
};
const
int
strides
[
4
]
=
{
src
->
y_stride
,
src
->
uv_stride
,
src
->
uv_stride
,
src
->
alpha_stride
};
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
++
i
)
{
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
i
];
setup_pred_plane
(
&
pd
->
pre
[
idx
],
buffers
[
i
],
strides
[
i
],
mi_row
,
mi_col
,
sf
,
pd
->
subsampling_x
,
pd
->
subsampling_y
);
}
}
}
vp9/common/vp9_reconinter.h
View file @
e5e9b05d
...
...
@@ -57,41 +57,12 @@ static INLINE void setup_pred_plane(struct buf_2d *dst,
dst
->
stride
=
stride
;
}
// TODO(jkoleszar): audit all uses of this that don't set mb_row, mb_col
static
void
setup_dst_planes
(
MACROBLOCKD
*
xd
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
)
{
uint8_t
*
const
buffers
[
4
]
=
{
src
->
y_buffer
,
src
->
u_buffer
,
src
->
v_buffer
,
src
->
alpha_buffer
};
const
int
strides
[
4
]
=
{
src
->
y_stride
,
src
->
uv_stride
,
src
->
uv_stride
,
src
->
alpha_stride
};
int
i
;
void
vp9_setup_dst_planes
(
MACROBLOCKD
*
xd
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
);
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
++
i
)
{
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
i
];
setup_pred_plane
(
&
pd
->
dst
,
buffers
[
i
],
strides
[
i
],
mi_row
,
mi_col
,
NULL
,
pd
->
subsampling_x
,
pd
->
subsampling_y
);
}
}
static
void
setup_pre_planes
(
MACROBLOCKD
*
xd
,
int
idx
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
,
const
struct
scale_factors
*
sf
)
{
if
(
src
!=
NULL
)
{
int
i
;
uint8_t
*
const
buffers
[
4
]
=
{
src
->
y_buffer
,
src
->
u_buffer
,
src
->
v_buffer
,
src
->
alpha_buffer
};
const
int
strides
[
4
]
=
{
src
->
y_stride
,
src
->
uv_stride
,
src
->
uv_stride
,
src
->
alpha_stride
};
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
++
i
)
{
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
i
];
setup_pred_plane
(
&
pd
->
pre
[
idx
],
buffers
[
i
],
strides
[
i
],
mi_row
,
mi_col
,
sf
,
pd
->
subsampling_x
,
pd
->
subsampling_y
);
}
}
}
void
vp9_setup_pre_planes
(
MACROBLOCKD
*
xd
,
int
idx
,
const
YV12_BUFFER_CONFIG
*
src
,
int
mi_row
,
int
mi_col
,
const
struct
scale_factors
*
sf
);
#ifdef __cplusplus
}
// extern "C"
...
...
vp9/decoder/vp9_decodeframe.c
View file @
e5e9b05d
...
...
@@ -362,7 +362,7 @@ static void set_offsets(VP9_COMMON *const cm, MACROBLOCKD *const xd,
// as they are always compared to values that are in 1/8th pel units
set_mi_row_col
(
xd
,
tile
,
mi_row
,
bh
,
mi_col
,
bw
,
cm
->
mi_rows
,
cm
->
mi_cols
);
setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
mi_row
,
mi_col
);
vp9_
setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
mi_row
,
mi_col
);
}
static
void
set_ref
(
VP9_COMMON
*
const
cm
,
MACROBLOCKD
*
const
xd
,
...
...
@@ -373,7 +373,8 @@ static void set_ref(VP9_COMMON *const cm, MACROBLOCKD *const xd,
if
(
!
vp9_is_valid_scale
(
&
ref_buffer
->
sf
))
vpx_internal_error
(
&
cm
->
error
,
VPX_CODEC_UNSUP_BITSTREAM
,
"Invalid scale factors"
);
setup_pre_planes
(
xd
,
idx
,
ref_buffer
->
buf
,
mi_row
,
mi_col
,
&
ref_buffer
->
sf
);
vp9_setup_pre_planes
(
xd
,
idx
,
ref_buffer
->
buf
,
mi_row
,
mi_col
,
&
ref_buffer
->
sf
);
xd
->
corrupted
|=
ref_buffer
->
buf
->
corrupted
;
}
...
...
vp9/decoder/vp9_dthread.c
View file @
e5e9b05d
...
...
@@ -104,7 +104,7 @@ static void loop_filter_rows_mt(const YV12_BUFFER_CONFIG *const frame_buffer,
sync_read
(
lf_sync
,
r
,
c
);
setup_dst_planes
(
xd
,
frame_buffer
,
mi_row
,
mi_col
);
vp9_
setup_dst_planes
(
xd
,
frame_buffer
,
mi_row
,
mi_col
);
vp9_setup_mask
(
cm
,
mi_row
,
mi_col
,
mi_8x8
+
mi_col
,
cm
->
mode_info_stride
,
&
lfm
);
...
...
vp9/encoder/vp9_encodeframe.c
View file @
e5e9b05d
...
...
@@ -607,7 +607,7 @@ static void set_offsets(VP9_COMP *cpi, const TileInfo *const tile,
mbmi
=
&
xd
->
mi_8x8
[
0
]
->
mbmi
;
// Set up destination pointers
setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
mi_row
,
mi_col
);
vp9_
setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
mi_row
,
mi_col
);
// Set up limit values for MV components
// mv beyond the range do not produce new/different prediction block
...
...
@@ -2083,8 +2083,9 @@ static void init_encode_frame_mb_context(VP9_COMP *cpi) {
vp9_setup_src_planes
(
x
,
cpi
->
Source
,
0
,
0
);
// TODO(jkoleszar): are these initializations required?
setup_pre_planes
(
xd
,
0
,
get_ref_frame_buffer
(
cpi
,
LAST_FRAME
),
0
,
0
,
NULL
);
setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
0
,
0
);
vp9_setup_pre_planes
(
xd
,
0
,
get_ref_frame_buffer
(
cpi
,
LAST_FRAME
),
0
,
0
,
NULL
);
vp9_setup_dst_planes
(
xd
,
get_frame_new_buffer
(
cm
),
0
,
0
);
vp9_setup_block_planes
(
&
x
->
e_mbd
,
cm
->
subsampling_x
,
cm
->
subsampling_y
);
...
...
@@ -2806,7 +2807,8 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
for
(
ref
=
0
;
ref
<
1
+
is_compound
;
++
ref
)
{
YV12_BUFFER_CONFIG
*
cfg
=
get_ref_frame_buffer
(
cpi
,
mbmi
->
ref_frame
[
ref
]);
setup_pre_planes
(
xd
,
ref
,
cfg
,
mi_row
,
mi_col
,
&
xd
->
block_refs
[
ref
]
->
sf
);
vp9_setup_pre_planes
(
xd
,
ref
,
cfg
,
mi_row
,
mi_col
,
&
xd
->
block_refs
[
ref
]
->
sf
);
}
vp9_build_inter_predictors_sb
(
xd
,
mi_row
,
mi_col
,
MAX
(
bsize
,
BLOCK_8X8
));
...
...
vp9/encoder/vp9_firstpass.c
View file @
e5e9b05d
...
...
@@ -20,7 +20,7 @@
#include
"vp9/common/vp9_entropymv.h"
#include
"vp9/common/vp9_quant_common.h"
#include
"vp9/common/vp9_reconinter.h"
// setup_dst_planes()
#include
"vp9/common/vp9_reconinter.h"
//
vp9_
setup_dst_planes()
#include
"vp9/common/vp9_systemdependent.h"
#include
"vp9/encoder/vp9_block.h"
...
...
@@ -500,8 +500,8 @@ void vp9_first_pass(VP9_COMP *cpi) {
vp9_clear_system_state
();
vp9_setup_src_planes
(
x
,
cpi
->
Source
,
0
,
0
);
setup_pre_planes
(
xd
,
0
,
lst_yv12
,
0
,
0
,
NULL
);
setup_dst_planes
(
xd
,
new_yv12
,
0
,
0
);
vp9_
setup_pre_planes
(
xd
,
0
,
lst_yv12
,
0
,
0
,
NULL
);
vp9_
setup_dst_planes
(
xd
,
new_yv12
,
0
,
0
);
xd
->
mi_8x8
=
cm
->
mi_grid_visible
;
xd
->
mi_8x8
[
0
]
=
cm
->
mi
;
...
...
vp9/encoder/vp9_pickmode.c
View file @
e5e9b05d
...
...
@@ -59,7 +59,7 @@ static int full_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
i
++
)
backup_yv12
[
i
]
=
xd
->
plane
[
i
].
pre
[
0
];
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
vp9_
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
}
vp9_set_mv_search_range
(
x
,
&
ref_mv
.
as_mv
);
...
...
@@ -160,7 +160,7 @@ static void sub_pixel_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
i
++
)
backup_yv12
[
i
]
=
xd
->
plane
[
i
].
pre
[
0
];
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
vp9_
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
}
tmp_mv
->
col
>>=
3
;
...
...
vp9/encoder/vp9_rdopt.c
View file @
e5e9b05d
...
...
@@ -2413,7 +2413,7 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
i
++
)
backup_yv12
[
i
]
=
xd
->
plane
[
i
].
pre
[
0
];
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
vp9_
setup_pre_planes
(
xd
,
0
,
scaled_ref_frame
,
mi_row
,
mi_col
,
NULL
);
}
vp9_set_mv_search_range
(
x
,
&
ref_mv
);
...
...
@@ -2557,7 +2557,8 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
// motion search code to be used without additional modifications.
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
i
++
)
backup_yv12
[
ref
][
i
]
=
xd
->
plane
[
i
].
pre
[
ref
];
setup_pre_planes
(
xd
,
ref
,
scaled_ref_frame
[
ref
],
mi_row
,
mi_col
,
NULL
);
vp9_setup_pre_planes
(
xd
,
ref
,
scaled_ref_frame
[
ref
],
mi_row
,
mi_col
,
NULL
);
}
frame_mv
[
refs
[
ref
]].
as_int
=
single_newmv
[
refs
[
ref
]].
as_int
;
...
...
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