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
fbbd3e18
Commit
fbbd3e18
authored
Oct 31, 2012
by
Ronald S. Bultje
Committed by
Gerrit Code Review
Oct 31, 2012
Browse files
Merge "Change common vp8_ public symbol prefixes to vp9_." into experimental
parents
b8e9617e
9bc5f3e3
Changes
101
Hide whitespace changes
Inline
Side-by-side
vp8/common/alloccommon.c
View file @
fbbd3e18
...
...
@@ -48,7 +48,7 @@ void vp9_update_mode_info_in_image(VP8_COMMON *cpi, MODE_INFO *mi) {
}
}
void
vp
8
_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
)
{
void
vp
9
_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
)
{
int
i
;
for
(
i
=
0
;
i
<
NUM_YV12_BUFFERS
;
i
++
)
...
...
@@ -67,10 +67,10 @@ void vp8_de_alloc_frame_buffers(VP8_COMMON *oci) {
}
int
vp
8
_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
)
{
int
vp
9
_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
)
{
int
i
;
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
/* our internal buffers are always multiples of 16 */
if
((
width
&
0xf
)
!=
0
)
...
...
@@ -84,7 +84,7 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
oci
->
fb_idx_ref_cnt
[
i
]
=
0
;
oci
->
yv12_fb
[
i
].
flags
=
0
;
if
(
vp8_yv12_alloc_frame_buffer
(
&
oci
->
yv12_fb
[
i
],
width
,
height
,
VP8BORDERINPIXELS
)
<
0
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
}
...
...
@@ -100,12 +100,12 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
oci
->
fb_idx_ref_cnt
[
3
]
=
1
;
if
(
vp8_yv12_alloc_frame_buffer
(
&
oci
->
temp_scale_frame
,
width
,
16
,
VP8BORDERINPIXELS
)
<
0
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
if
(
vp8_yv12_alloc_frame_buffer
(
&
oci
->
post_proc_buffer
,
width
,
height
,
VP8BORDERINPIXELS
)
<
0
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
...
...
@@ -116,7 +116,7 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
oci
->
mip
=
vpx_calloc
((
oci
->
mb_cols
+
1
)
*
(
oci
->
mb_rows
+
1
),
sizeof
(
MODE_INFO
));
if
(
!
oci
->
mip
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
...
...
@@ -127,7 +127,7 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
oci
->
prev_mip
=
vpx_calloc
((
oci
->
mb_cols
+
1
)
*
(
oci
->
mb_rows
+
1
),
sizeof
(
MODE_INFO
));
if
(
!
oci
->
prev_mip
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
...
...
@@ -136,7 +136,7 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
oci
->
above_context
=
vpx_calloc
(
sizeof
(
ENTROPY_CONTEXT_PLANES
)
*
oci
->
mb_cols
,
1
);
if
(
!
oci
->
above_context
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
vp
9
_de_alloc_frame_buffers
(
oci
);
return
1
;
}
...
...
@@ -145,7 +145,7 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) {
return
0
;
}
void
vp
8
_setup_version
(
VP8_COMMON
*
cm
)
{
void
vp
9
_setup_version
(
VP8_COMMON
*
cm
)
{
if
(
cm
->
version
&
0x4
)
{
if
(
!
CONFIG_EXPERIMENTAL
)
vpx_internal_error
(
&
cm
->
error
,
VPX_CODEC_UNSUP_BITSTREAM
,
...
...
@@ -183,12 +183,12 @@ void vp8_setup_version(VP8_COMMON *cm) {
// break;
}
}
void
vp
8
_create_common
(
VP8_COMMON
*
oci
)
{
vp
8
_machine_specific_config
(
oci
);
void
vp
9
_create_common
(
VP8_COMMON
*
oci
)
{
vp
9
_machine_specific_config
(
oci
);
vp
8
_init_mbmode_probs
(
oci
);
vp
9
_init_mbmode_probs
(
oci
);
vp
8
_default_bmode_probs
(
oci
->
fc
.
bmode_prob
);
vp
9
_default_bmode_probs
(
oci
->
fc
.
bmode_prob
);
oci
->
txfm_mode
=
ONLY_4X4
;
oci
->
mb_no_coeff_skip
=
1
;
...
...
@@ -209,14 +209,14 @@ void vp8_create_common(VP8_COMMON *oci) {
oci
->
kf_ymode_probs_update
=
0
;
}
void
vp
8
_remove_common
(
VP8_COMMON
*
oci
)
{
vp
8
_de_alloc_frame_buffers
(
oci
);
void
vp
9
_remove_common
(
VP8_COMMON
*
oci
)
{
vp
9
_de_alloc_frame_buffers
(
oci
);
}
void
vp
8
_initialize_common
()
{
vp
8
_coef_tree_initialize
();
void
vp
9
_initialize_common
()
{
vp
9
_coef_tree_initialize
();
vp
8
_entropy_mode_init
();
vp
9
_entropy_mode_init
();
vp
8
_entropy_mv_init
();
vp
9
_entropy_mv_init
();
}
vp8/common/alloccommon.h
View file @
fbbd3e18
...
...
@@ -14,11 +14,11 @@
#include
"onyxc_int.h"
void
vp
8
_create_common
(
VP8_COMMON
*
oci
);
void
vp
8
_remove_common
(
VP8_COMMON
*
oci
);
void
vp
8
_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
);
int
vp
8
_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
);
void
vp
8
_setup_version
(
VP8_COMMON
*
oci
);
void
vp
9
_create_common
(
VP8_COMMON
*
oci
);
void
vp
9
_remove_common
(
VP8_COMMON
*
oci
);
void
vp
9
_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
);
int
vp
9
_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
);
void
vp
9
_setup_version
(
VP8_COMMON
*
oci
);
void
vp9_update_mode_info_border
(
VP8_COMMON
*
cpi
,
MODE_INFO
*
mi_base
);
void
vp9_update_mode_info_in_image
(
VP8_COMMON
*
cpi
,
MODE_INFO
*
mi
);
...
...
vp8/common/arm/arm_systemdependent.c
View file @
fbbd3e18
...
...
@@ -34,58 +34,58 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx) {
// The commented functions need to be re-written for vpx.
#if HAVE_ARMV6
if
(
flags
&
HAS_MEDIA
)
{
rtcd
->
subpix
.
sixtap16x16
=
vp
8
_sixtap_predict16x16_armv6
;
rtcd
->
subpix
.
sixtap8x8
=
vp
8
_sixtap_predict8x8_armv6
;
rtcd
->
subpix
.
sixtap8x4
=
vp
8
_sixtap_predict8x4_armv6
;
rtcd
->
subpix
.
sixtap4x4
=
vp
8
_sixtap_predict_armv6
;
rtcd
->
subpix
.
sixtap16x16
=
vp
9
_sixtap_predict16x16_armv6
;
rtcd
->
subpix
.
sixtap8x8
=
vp
9
_sixtap_predict8x8_armv6
;
rtcd
->
subpix
.
sixtap8x4
=
vp
9
_sixtap_predict8x4_armv6
;
rtcd
->
subpix
.
sixtap4x4
=
vp
9
_sixtap_predict_armv6
;
rtcd
->
subpix
.
bilinear16x16
=
vp
8
_bilinear_predict16x16_armv6
;
rtcd
->
subpix
.
bilinear8x8
=
vp
8
_bilinear_predict8x8_armv6
;
rtcd
->
subpix
.
bilinear8x4
=
vp
8
_bilinear_predict8x4_armv6
;
rtcd
->
subpix
.
bilinear4x4
=
vp
8
_bilinear_predict4x4_armv6
;
rtcd
->
subpix
.
bilinear16x16
=
vp
9
_bilinear_predict16x16_armv6
;
rtcd
->
subpix
.
bilinear8x8
=
vp
9
_bilinear_predict8x8_armv6
;
rtcd
->
subpix
.
bilinear8x4
=
vp
9
_bilinear_predict8x4_armv6
;
rtcd
->
subpix
.
bilinear4x4
=
vp
9
_bilinear_predict4x4_armv6
;
// rtcd->idct.idct1 = vp
8
_short_idct4x4llm_1_v6;
// rtcd->idct.idct16 = vp
8
_short_idct4x4llm_v6_dual;
// rtcd->idct.iwalsh1 = vp
8
_short_inv_walsh4x4_1_v6;
// rtcd->idct.iwalsh16 = vp
8
_short_inv_walsh4x4_v6;
// rtcd->idct.idct1 = vp
9
_short_idct4x4llm_1_v6;
// rtcd->idct.idct16 = vp
9
_short_idct4x4llm_v6_dual;
// rtcd->idct.iwalsh1 = vp
9
_short_inv_walsh4x4_1_v6;
// rtcd->idct.iwalsh16 = vp
9
_short_inv_walsh4x4_v6;
rtcd
->
recon
.
copy16x16
=
vp
8
_copy_mem16x16_v6
;
rtcd
->
recon
.
copy8x8
=
vp
8
_copy_mem8x8_v6
;
rtcd
->
recon
.
copy8x4
=
vp
8
_copy_mem8x4_v6
;
rtcd
->
recon
.
recon
=
vp
8
_recon_b_armv6
;
rtcd
->
recon
.
recon2
=
vp
8
_recon2b_armv6
;
rtcd
->
recon
.
recon4
=
vp
8
_recon4b_armv6
;
rtcd
->
recon
.
copy16x16
=
vp
9
_copy_mem16x16_v6
;
rtcd
->
recon
.
copy8x8
=
vp
9
_copy_mem8x8_v6
;
rtcd
->
recon
.
copy8x4
=
vp
9
_copy_mem8x4_v6
;
rtcd
->
recon
.
recon
=
vp
9
_recon_b_armv6
;
rtcd
->
recon
.
recon2
=
vp
9
_recon2b_armv6
;
rtcd
->
recon
.
recon4
=
vp
9
_recon4b_armv6
;
}
#endif
#if HAVE_ARMV7
if
(
flags
&
HAS_NEON
)
{
rtcd
->
subpix
.
sixtap16x16
=
vp
8
_sixtap_predict16x16_neon
;
rtcd
->
subpix
.
sixtap8x8
=
vp
8
_sixtap_predict8x8_neon
;
rtcd
->
subpix
.
sixtap8x4
=
vp
8
_sixtap_predict8x4_neon
;
rtcd
->
subpix
.
sixtap4x4
=
vp
8
_sixtap_predict_neon
;
rtcd
->
subpix
.
sixtap16x16
=
vp
9
_sixtap_predict16x16_neon
;
rtcd
->
subpix
.
sixtap8x8
=
vp
9
_sixtap_predict8x8_neon
;
rtcd
->
subpix
.
sixtap8x4
=
vp
9
_sixtap_predict8x4_neon
;
rtcd
->
subpix
.
sixtap4x4
=
vp
9
_sixtap_predict_neon
;
rtcd
->
subpix
.
bilinear16x16
=
vp
8
_bilinear_predict16x16_neon
;
rtcd
->
subpix
.
bilinear8x8
=
vp
8
_bilinear_predict8x8_neon
;
rtcd
->
subpix
.
bilinear8x4
=
vp
8
_bilinear_predict8x4_neon
;
rtcd
->
subpix
.
bilinear4x4
=
vp
8
_bilinear_predict4x4_neon
;
rtcd
->
subpix
.
bilinear16x16
=
vp
9
_bilinear_predict16x16_neon
;
rtcd
->
subpix
.
bilinear8x8
=
vp
9
_bilinear_predict8x8_neon
;
rtcd
->
subpix
.
bilinear8x4
=
vp
9
_bilinear_predict8x4_neon
;
rtcd
->
subpix
.
bilinear4x4
=
vp
9
_bilinear_predict4x4_neon
;
// rtcd->idct.idct1 = vp
8
_short_idct4x4llm_1_neon;
// rtcd->idct.idct16 = vp
8
_short_idct4x4llm_neon;
// rtcd->idct.iwalsh1 = vp
8
_short_inv_walsh4x4_1_neon;
// rtcd->idct.iwalsh16 = vp
8
_short_inv_walsh4x4_neon;
// rtcd->idct.idct1 = vp
9
_short_idct4x4llm_1_neon;
// rtcd->idct.idct16 = vp
9
_short_idct4x4llm_neon;
// rtcd->idct.iwalsh1 = vp
9
_short_inv_walsh4x4_1_neon;
// rtcd->idct.iwalsh16 = vp
9
_short_inv_walsh4x4_neon;
rtcd
->
recon
.
copy16x16
=
vp
8
_copy_mem16x16_neon
;
rtcd
->
recon
.
copy8x8
=
vp
8
_copy_mem8x8_neon
;
rtcd
->
recon
.
copy8x4
=
vp
8
_copy_mem8x4_neon
;
rtcd
->
recon
.
recon
=
vp
8
_recon_b_neon
;
rtcd
->
recon
.
recon2
=
vp
8
_recon2b_neon
;
rtcd
->
recon
.
recon4
=
vp
8
_recon4b_neon
;
rtcd
->
recon
.
recon_mb
=
vp
8
_recon_mb_neon
;
rtcd
->
recon
.
copy16x16
=
vp
9
_copy_mem16x16_neon
;
rtcd
->
recon
.
copy8x8
=
vp
9
_copy_mem8x8_neon
;
rtcd
->
recon
.
copy8x4
=
vp
9
_copy_mem8x4_neon
;
rtcd
->
recon
.
recon
=
vp
9
_recon_b_neon
;
rtcd
->
recon
.
recon2
=
vp
9
_recon2b_neon
;
rtcd
->
recon
.
recon4
=
vp
9
_recon4b_neon
;
rtcd
->
recon
.
recon_mb
=
vp
9
_recon_mb_neon
;
rtcd
->
recon
.
build_intra_predictors_mby
=
vp
8
_build_intra_predictors_mby_neon
;
vp
9
_build_intra_predictors_mby_neon
;
rtcd
->
recon
.
build_intra_predictors_mby_s
=
vp
8
_build_intra_predictors_mby_s_neon
;
vp
9
_build_intra_predictors_mby_s_neon
;
}
#endif
...
...
vp8/common/arm/bilinearfilter_arm.c
View file @
fbbd3e18
...
...
@@ -35,7 +35,7 @@ void vp8_filter_block2d_bil_armv6
}
void
vp
8
_bilinear_predict4x4_armv6
void
vp
9
_bilinear_predict4x4_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
@@ -53,7 +53,7 @@ void vp8_bilinear_predict4x4_armv6
vp8_filter_block2d_bil_armv6
(
src_ptr
,
dst_ptr
,
src_pixels_per_line
,
dst_pitch
,
HFilter
,
VFilter
,
4
,
4
);
}
void
vp
8
_bilinear_predict8x8_armv6
void
vp
9
_bilinear_predict8x8_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
@@ -71,7 +71,7 @@ void vp8_bilinear_predict8x8_armv6
vp8_filter_block2d_bil_armv6
(
src_ptr
,
dst_ptr
,
src_pixels_per_line
,
dst_pitch
,
HFilter
,
VFilter
,
8
,
8
);
}
void
vp
8
_bilinear_predict8x4_armv6
void
vp
9
_bilinear_predict8x4_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
@@ -89,7 +89,7 @@ void vp8_bilinear_predict8x4_armv6
vp8_filter_block2d_bil_armv6
(
src_ptr
,
dst_ptr
,
src_pixels_per_line
,
dst_pitch
,
HFilter
,
VFilter
,
8
,
4
);
}
void
vp
8
_bilinear_predict16x16_armv6
void
vp
9
_bilinear_predict16x16_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
vp8/common/arm/filter_arm.c
View file @
fbbd3e18
...
...
@@ -87,7 +87,7 @@ extern void vp8_filter_block2d_second_pass_only_armv6
);
#if HAVE_ARMV6
void
vp
8
_sixtap_predict_armv6
void
vp
9
_sixtap_predict_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
@@ -128,7 +128,7 @@ void vp8_sixtap_predict_armv6
}
}
void
vp
8
_sixtap_predict8x8_armv6
void
vp
9
_sixtap_predict8x8_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
@@ -162,7 +162,7 @@ void vp8_sixtap_predict8x8_armv6
}
void
vp
8
_sixtap_predict16x16_armv6
void
vp
9
_sixtap_predict16x16_armv6
(
unsigned
char
*
src_ptr
,
int
src_pixels_per_line
,
...
...
vp8/common/arm/idct_arm.h
View file @
fbbd3e18
...
...
@@ -13,52 +13,52 @@
#define IDCT_ARM_H
#if HAVE_ARMV6
extern
prototype_idct
(
vp
8
_short_idct4x4llm_1_v6
);
extern
prototype_idct
(
vp
8
_short_idct4x4llm_v6_dual
);
extern
prototype_idct_scalar_add
(
vp
8
_dc_only_idct_add_v6
);
extern
prototype_second_order
(
vp
8
_short_inv_walsh4x4_1_v6
);
extern
prototype_second_order
(
vp
8
_short_inv_walsh4x4_v6
);
extern
prototype_idct
(
vp
9
_short_idct4x4llm_1_v6
);
extern
prototype_idct
(
vp
9
_short_idct4x4llm_v6_dual
);
extern
prototype_idct_scalar_add
(
vp
9
_dc_only_idct_add_v6
);
extern
prototype_second_order
(
vp
9
_short_inv_walsh4x4_1_v6
);
extern
prototype_second_order
(
vp
9
_short_inv_walsh4x4_v6
);
#if !CONFIG_RUNTIME_CPU_DETECT
#undef vp8_idct_idct1
#define vp8_idct_idct1 vp
8
_short_idct4x4llm_1_v6
#define vp8_idct_idct1 vp
9
_short_idct4x4llm_1_v6
#undef vp8_idct_idct16
#define vp8_idct_idct16 vp
8
_short_idct4x4llm_v6_dual
#define vp8_idct_idct16 vp
9
_short_idct4x4llm_v6_dual
#undef vp8_idct_idct1_scalar_add
#define vp8_idct_idct1_scalar_add vp
8
_dc_only_idct_add_v6
#define vp8_idct_idct1_scalar_add vp
9
_dc_only_idct_add_v6
#undef vp8_idct_iwalsh1
#define vp8_idct_iwalsh1 vp
8
_short_inv_walsh4x4_1_v6
#define vp8_idct_iwalsh1 vp
9
_short_inv_walsh4x4_1_v6
#undef vp8_idct_iwalsh16
#define vp8_idct_iwalsh16 vp
8
_short_inv_walsh4x4_v6
#define vp8_idct_iwalsh16 vp
9
_short_inv_walsh4x4_v6
#endif
#endif
#if HAVE_ARMV7
extern
prototype_idct
(
vp
8
_short_idct4x4llm_1_neon
);
extern
prototype_idct
(
vp
8
_short_idct4x4llm_neon
);
extern
prototype_idct_scalar_add
(
vp
8
_dc_only_idct_add_neon
);
extern
prototype_second_order
(
vp
8
_short_inv_walsh4x4_1_neon
);
extern
prototype_second_order
(
vp
8
_short_inv_walsh4x4_neon
);
extern
prototype_idct
(
vp
9
_short_idct4x4llm_1_neon
);
extern
prototype_idct
(
vp
9
_short_idct4x4llm_neon
);
extern
prototype_idct_scalar_add
(
vp
9
_dc_only_idct_add_neon
);
extern
prototype_second_order
(
vp
9
_short_inv_walsh4x4_1_neon
);
extern
prototype_second_order
(
vp
9
_short_inv_walsh4x4_neon
);
#if !CONFIG_RUNTIME_CPU_DETECT
#undef vp8_idct_idct1
#define vp8_idct_idct1 vp
8
_short_idct4x4llm_1_neon
#define vp8_idct_idct1 vp
9
_short_idct4x4llm_1_neon
#undef vp8_idct_idct16
#define vp8_idct_idct16 vp
8
_short_idct4x4llm_neon
#define vp8_idct_idct16 vp
9
_short_idct4x4llm_neon
#undef vp8_idct_idct1_scalar_add
#define vp8_idct_idct1_scalar_add vp
8
_dc_only_idct_add_neon
#define vp8_idct_idct1_scalar_add vp
9
_dc_only_idct_add_neon
#undef vp8_idct_iwalsh1
#define vp8_idct_iwalsh1 vp
8
_short_inv_walsh4x4_1_neon
#define vp8_idct_iwalsh1 vp
9
_short_inv_walsh4x4_1_neon
#undef vp8_idct_iwalsh16
#define vp8_idct_iwalsh16 vp
8
_short_inv_walsh4x4_neon
#define vp8_idct_iwalsh16 vp
9
_short_inv_walsh4x4_neon
#endif
#endif
...
...
vp8/common/arm/loopfilter_arm.c
View file @
fbbd3e18
...
...
@@ -14,10 +14,10 @@
#include
"vp8/common/onyxc_int.h"
#if HAVE_ARMV6
extern
prototype_loopfilter
(
vp
8
_loop_filter_horizontal_edge_armv6
);
extern
prototype_loopfilter
(
vp
8
_loop_filter_vertical_edge_armv6
);
extern
prototype_loopfilter
(
vp
8
_mbloop_filter_horizontal_edge_armv6
);
extern
prototype_loopfilter
(
vp
8
_mbloop_filter_vertical_edge_armv6
);
extern
prototype_loopfilter
(
vp
9
_loop_filter_horizontal_edge_armv6
);
extern
prototype_loopfilter
(
vp
9
_loop_filter_vertical_edge_armv6
);
extern
prototype_loopfilter
(
vp
9
_mbloop_filter_horizontal_edge_armv6
);
extern
prototype_loopfilter
(
vp
9
_mbloop_filter_vertical_edge_armv6
);
#endif
#if HAVE_ARMV7
...
...
@@ -27,140 +27,140 @@ typedef void loopfilter_uv_neon(unsigned char *u, int pitch,
unsigned
char
blimit
,
unsigned
char
limit
,
unsigned
char
thresh
,
unsigned
char
*
v
);
extern
loopfilter_y_neon
vp
8
_loop_filter_horizontal_edge_y_neon
;
extern
loopfilter_y_neon
vp
8
_loop_filter_vertical_edge_y_neon
;
extern
loopfilter_y_neon
vp
8
_mbloop_filter_horizontal_edge_y_neon
;
extern
loopfilter_y_neon
vp
8
_mbloop_filter_vertical_edge_y_neon
;
extern
loopfilter_y_neon
vp
9
_loop_filter_horizontal_edge_y_neon
;
extern
loopfilter_y_neon
vp
9
_loop_filter_vertical_edge_y_neon
;
extern
loopfilter_y_neon
vp
9
_mbloop_filter_horizontal_edge_y_neon
;
extern
loopfilter_y_neon
vp
9
_mbloop_filter_vertical_edge_y_neon
;
extern
loopfilter_uv_neon
vp
8
_loop_filter_horizontal_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
8
_loop_filter_vertical_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
8
_mbloop_filter_horizontal_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
8
_mbloop_filter_vertical_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
9
_loop_filter_horizontal_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
9
_loop_filter_vertical_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
9
_mbloop_filter_horizontal_edge_uv_neon
;
extern
loopfilter_uv_neon
vp
9
_mbloop_filter_vertical_edge_uv_neon
;
#endif
#if HAVE_ARMV6
/*ARMV6 loopfilter functions*/
/* Horizontal MB filtering */
void
vp
8
_loop_filter_mbh_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_mbh_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
vp
8
_mbloop_filter_horizontal_edge_armv6
(
y_ptr
,
y_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_mbloop_filter_horizontal_edge_armv6
(
y_ptr
,
y_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
if
(
u_ptr
)
vp
8
_mbloop_filter_horizontal_edge_armv6
(
u_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_mbloop_filter_horizontal_edge_armv6
(
u_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
if
(
v_ptr
)
vp
8
_mbloop_filter_horizontal_edge_armv6
(
v_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_mbloop_filter_horizontal_edge_armv6
(
v_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
}
/* Vertical MB Filtering */
void
vp
8
_loop_filter_mbv_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_mbv_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
vp
8
_mbloop_filter_vertical_edge_armv6
(
y_ptr
,
y_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_mbloop_filter_vertical_edge_armv6
(
y_ptr
,
y_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
if
(
u_ptr
)
vp
8
_mbloop_filter_vertical_edge_armv6
(
u_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_mbloop_filter_vertical_edge_armv6
(
u_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
if
(
v_ptr
)
vp
8
_mbloop_filter_vertical_edge_armv6
(
v_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_mbloop_filter_vertical_edge_armv6
(
v_ptr
,
uv_stride
,
lfi
->
mblim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
}
/* Horizontal B Filtering */
void
vp
8
_loop_filter_bh_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_bh_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
vp
8
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
4
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
8
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
8
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
8
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
12
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
4
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
8
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_horizontal_edge_armv6
(
y_ptr
+
12
*
y_stride
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
if
(
u_ptr
)
vp
8
_loop_filter_horizontal_edge_armv6
(
u_ptr
+
4
*
uv_stride
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_loop_filter_horizontal_edge_armv6
(
u_ptr
+
4
*
uv_stride
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
if
(
v_ptr
)
vp
8
_loop_filter_horizontal_edge_armv6
(
v_ptr
+
4
*
uv_stride
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_loop_filter_horizontal_edge_armv6
(
v_ptr
+
4
*
uv_stride
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
}
void
vp
8
_loop_filter_bhs_armv6
(
unsigned
char
*
y_ptr
,
int
y_stride
,
void
vp
9
_loop_filter_bhs_armv6
(
unsigned
char
*
y_ptr
,
int
y_stride
,
const
unsigned
char
*
blimit
)
{
vp
8
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
4
*
y_stride
,
y_stride
,
blimit
);
vp
8
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
8
*
y_stride
,
y_stride
,
blimit
);
vp
8
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
12
*
y_stride
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
4
*
y_stride
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
8
*
y_stride
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_horizontal_edge_armv6
(
y_ptr
+
12
*
y_stride
,
y_stride
,
blimit
);
}
/* Vertical B Filtering */
void
vp
8
_loop_filter_bv_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_bv_armv6
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
vp
8
_loop_filter_vertical_edge_armv6
(
y_ptr
+
4
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
8
_loop_filter_vertical_edge_armv6
(
y_ptr
+
8
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
8
_loop_filter_vertical_edge_armv6
(
y_ptr
+
12
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_vertical_edge_armv6
(
y_ptr
+
4
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_vertical_edge_armv6
(
y_ptr
+
8
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
vp
9
_loop_filter_vertical_edge_armv6
(
y_ptr
+
12
,
y_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
2
);
if
(
u_ptr
)
vp
8
_loop_filter_vertical_edge_armv6
(
u_ptr
+
4
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_loop_filter_vertical_edge_armv6
(
u_ptr
+
4
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
if
(
v_ptr
)
vp
8
_loop_filter_vertical_edge_armv6
(
v_ptr
+
4
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
vp
9
_loop_filter_vertical_edge_armv6
(
v_ptr
+
4
,
uv_stride
,
lfi
->
blim
,
lfi
->
lim
,
lfi
->
hev_thr
,
1
);
}
void
vp
8
_loop_filter_bvs_armv6
(
unsigned
char
*
y_ptr
,
int
y_stride
,
void
vp
9
_loop_filter_bvs_armv6
(
unsigned
char
*
y_ptr
,
int
y_stride
,
const
unsigned
char
*
blimit
)
{
vp
8
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
4
,
y_stride
,
blimit
);
vp
8
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
8
,
y_stride
,
blimit
);
vp
8
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
12
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
4
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
8
,
y_stride
,
blimit
);
vp
9
_loop_filter_simple_vertical_edge_armv6
(
y_ptr
+
12
,
y_stride
,
blimit
);
}
#endif
#if HAVE_ARMV7
/* NEON loopfilter functions */
/* Horizontal MB filtering */
void
vp
8
_loop_filter_mbh_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_mbh_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
unsigned
char
mblim
=
*
lfi
->
mblim
;
unsigned
char
lim
=
*
lfi
->
lim
;
unsigned
char
hev_thr
=
*
lfi
->
hev_thr
;
vp
8
_mbloop_filter_horizontal_edge_y_neon
(
y_ptr
,
y_stride
,
mblim
,
lim
,
hev_thr
);
vp
9
_mbloop_filter_horizontal_edge_y_neon
(
y_ptr
,
y_stride
,
mblim
,
lim
,
hev_thr
);
if
(
u_ptr
)
vp
8
_mbloop_filter_horizontal_edge_uv_neon
(
u_ptr
,
uv_stride
,
mblim
,
lim
,
hev_thr
,
v_ptr
);
vp
9
_mbloop_filter_horizontal_edge_uv_neon
(
u_ptr
,
uv_stride
,
mblim
,
lim
,
hev_thr
,
v_ptr
);
}
/* Vertical MB Filtering */
void
vp
8
_loop_filter_mbv_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_mbv_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
unsigned
char
mblim
=
*
lfi
->
mblim
;
unsigned
char
lim
=
*
lfi
->
lim
;
unsigned
char
hev_thr
=
*
lfi
->
hev_thr
;
vp
8
_mbloop_filter_vertical_edge_y_neon
(
y_ptr
,
y_stride
,
mblim
,
lim
,
hev_thr
);
vp
9
_mbloop_filter_vertical_edge_y_neon
(
y_ptr
,
y_stride
,
mblim
,
lim
,
hev_thr
);
if
(
u_ptr
)
vp
8
_mbloop_filter_vertical_edge_uv_neon
(
u_ptr
,
uv_stride
,
mblim
,
lim
,
hev_thr
,
v_ptr
);
vp
9
_mbloop_filter_vertical_edge_uv_neon
(
u_ptr
,
uv_stride
,
mblim
,
lim
,
hev_thr
,
v_ptr
);
}
/* Horizontal B Filtering */
void
vp
8
_loop_filter_bh_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_bh_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
unsigned
char
blim
=
*
lfi
->
blim
;
unsigned
char
lim
=
*
lfi
->
lim
;
unsigned
char
hev_thr
=
*
lfi
->
hev_thr
;
vp
8
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
4
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
8
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
8
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
8
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
12
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
4
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
8
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_horizontal_edge_y_neon
(
y_ptr
+
12
*
y_stride
,
y_stride
,
blim
,
lim
,
hev_thr
);
if
(
u_ptr
)
vp
8
_loop_filter_horizontal_edge_uv_neon
(
u_ptr
+
4
*
uv_stride
,
uv_stride
,
blim
,
lim
,
hev_thr
,
v_ptr
+
4
*
uv_stride
);
vp
9
_loop_filter_horizontal_edge_uv_neon
(
u_ptr
+
4
*
uv_stride
,
uv_stride
,
blim
,
lim
,
hev_thr
,
v_ptr
+
4
*
uv_stride
);
}
/* Vertical B Filtering */
void
vp
8
_loop_filter_bv_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
void
vp
9
_loop_filter_bv_neon
(
unsigned
char
*
y_ptr
,
unsigned
char
*
u_ptr
,
unsigned
char
*
v_ptr
,
int
y_stride
,
int
uv_stride
,
loop_filter_info
*
lfi
)
{
unsigned
char
blim
=
*
lfi
->
blim
;
unsigned
char
lim
=
*
lfi
->
lim
;
unsigned
char
hev_thr
=
*
lfi
->
hev_thr
;
vp
8
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
4
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
8
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
8
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
8
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
12
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
4
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
8
,
y_stride
,
blim
,
lim
,
hev_thr
);
vp
9
_loop_filter_vertical_edge_y_neon
(
y_ptr
+
12
,
y_stride
,
blim
,
lim
,
hev_thr
);
if
(
u_ptr
)
vp
8
_loop_filter_vertical_edge_uv_neon
(
u_ptr
+
4
,
uv_stride
,
blim
,
lim
,
hev_thr
,
v_ptr
+
4
);
vp
9
_loop_filter_vertical_edge_uv_neon
(
u_ptr
+
4
,
uv_stride
,
blim
,
lim
,
hev_thr
,
v_ptr
+
4
);
}
#endif
vp8/common/arm/loopfilter_arm.h
View file @
fbbd3e18
...
...
@@ -15,26 +15,26 @@
#include
"vpx_config.h"
#if HAVE_ARMV6
extern
prototype_loopfilter_block
(
vp
8
_loop_filter_mbv_armv6
);
extern
prototype_loopfilter_block
(
vp
8
_loop_filter_bv_armv6
);
extern
prototype_loopfilter_block
(
vp
8
_loop_filter_mbh_armv6
);
extern
prototype_loopfilter_block
(
vp
8
_loop_filter_bh_armv6
);
extern
prototype_simple_loopfilter
(
vp
8
_loop_filter_bvs_armv6
);
extern
prototype_simple_loopfilter
(
vp
8
_loop_filter_bhs_armv6
);
extern
prototype_simple_loopfilter
(
vp
8
_loop_filter_simple_horizontal_edge_armv6
);
extern
prototype_simple_loopfilter
(
vp
8
_loop_filter_simple_vertical_edge_armv6
);
extern
prototype_loopfilter_block
(
vp
9
_loop_filter_mbv_armv6
);