Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
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
1320e54d
Commit
1320e54d
authored
Oct 26, 2010
by
John Koleszar
Committed by
Code Review
Oct 26, 2010
Browse files
Merge "make vp8_recon16x16mb{,y} RTCD functions"
parents
87e17737
d6c67f02
Changes
9
Hide whitespace changes
Inline
Side-by-side
vp8/common/arm/arm_systemdependent.c
View file @
1320e54d
...
...
@@ -105,6 +105,8 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx)
rtcd
->
recon
.
recon
=
vp8_recon_b_neon
;
rtcd
->
recon
.
recon2
=
vp8_recon2b_neon
;
rtcd
->
recon
.
recon4
=
vp8_recon4b_neon
;
rtcd
->
recon
.
recon_mb
=
vp8_recon_mb_neon
;
}
#endif
...
...
vp8/common/arm/recon_
arm
.c
→
vp8/common/arm/
neon/
recon_
neon
.c
View file @
1320e54d
...
...
@@ -15,8 +15,7 @@
extern
void
vp8_recon16x16mb_neon
(
unsigned
char
*
pred_ptr
,
short
*
diff_ptr
,
unsigned
char
*
dst_ptr
,
int
ystride
,
unsigned
char
*
udst_ptr
,
unsigned
char
*
vdst_ptr
);
#if HAVE_ARMV7
void
vp8_recon16x16mb
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
void
vp8_recon_mb_neon
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
{
unsigned
char
*
pred_ptr
=
&
x
->
predictor
[
0
];
short
*
diff_ptr
=
&
x
->
diff
[
0
];
...
...
@@ -28,4 +27,3 @@ void vp8_recon16x16mb(const vp8_recon_rtcd_vtable_t *rtcd, MACROBLOCKD *x)
vp8_recon16x16mb_neon
(
pred_ptr
,
diff_ptr
,
dst_ptr
,
ystride
,
udst_ptr
,
vdst_ptr
);
}
#endif
vp8/common/arm/recon_arm.h
View file @
1320e54d
...
...
@@ -51,6 +51,8 @@ extern prototype_copy_block(vp8_copy_mem8x8_neon);
extern
prototype_copy_block
(
vp8_copy_mem8x4_neon
);
extern
prototype_copy_block
(
vp8_copy_mem16x16_neon
);
extern
prototype_recon_macroblock
(
vp8_recon_recon_mb_neon
);
#if !CONFIG_RUNTIME_CPU_DETECT
#undef vp8_recon_recon
#define vp8_recon_recon vp8_recon_b_neon
...
...
@@ -69,6 +71,9 @@ extern prototype_copy_block(vp8_copy_mem16x16_neon);
#undef vp8_recon_copy16x16
#define vp8_recon_copy16x16 vp8_copy_mem16x16_neon
#undef vp8_recon_recon_mb
#define vp8_recon_recon_mb vp8_recon_mb_neon
#endif
#endif
...
...
vp8/common/generic/systemdependent.c
View file @
1320e54d
...
...
@@ -40,9 +40,11 @@ void vp8_machine_specific_config(VP8_COMMON *ctx)
rtcd
->
recon
.
copy16x16
=
vp8_copy_mem16x16_c
;
rtcd
->
recon
.
copy8x8
=
vp8_copy_mem8x8_c
;
rtcd
->
recon
.
copy8x4
=
vp8_copy_mem8x4_c
;
rtcd
->
recon
.
recon
=
vp8_recon_b_c
;
rtcd
->
recon
.
recon
=
vp8_recon_b_c
;
rtcd
->
recon
.
recon2
=
vp8_recon2b_c
;
rtcd
->
recon
.
recon4
=
vp8_recon4b_c
;
rtcd
->
recon
.
recon4
=
vp8_recon4b_c
;
rtcd
->
recon
.
recon_mb
=
vp8_recon_mb_c
;
rtcd
->
recon
.
recon_mby
=
vp8_recon_mby_c
;
rtcd
->
subpix
.
sixtap16x16
=
vp8_sixtap_predict16x16_c
;
rtcd
->
subpix
.
sixtap8x8
=
vp8_sixtap_predict8x8_c
;
...
...
vp8/common/recon.c
View file @
1320e54d
...
...
@@ -106,7 +106,7 @@ void vp8_recon2b_c
}
}
void
vp8_recon
16x16
mby
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
void
vp8_recon
_
mby
_c
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
{
#if ARCH_ARM
BLOCKD
*
b
=
&
x
->
block
[
0
];
...
...
@@ -135,7 +135,7 @@ void vp8_recon16x16mby(const vp8_recon_rtcd_vtable_t *rtcd, MACROBLOCKD *x)
#endif
}
void
vp8_recon
16x16mb
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
void
vp8_recon
_mb_c
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
)
{
#if ARCH_ARM
BLOCKD
*
b
=
&
x
->
block
[
0
];
...
...
vp8/common/recon.h
View file @
1320e54d
...
...
@@ -12,12 +12,19 @@
#ifndef __INC_RECON_H
#define __INC_RECON_H
#include "blockd.h"
#define prototype_copy_block(sym) \
void sym(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch)
#define prototype_recon_block(sym) \
void sym(unsigned char *pred, short *diff, unsigned char *dst, int pitch);
#define prototype_recon_macroblock(sym) \
void sym(const struct vp8_recon_rtcd_vtable *rtcd, MACROBLOCKD *x);
struct
vp8_recon_rtcd_vtable
;
#if ARCH_X86 || ARCH_X86_64
#include "x86/recon_x86.h"
#endif
...
...
@@ -56,9 +63,20 @@ extern prototype_recon_block(vp8_recon_recon2);
#endif
extern
prototype_recon_block
(
vp8_recon_recon4
);
#ifndef vp8_recon_recon_mb
#define vp8_recon_recon_mb vp8_recon_mb_c
#endif
extern
prototype_recon_macroblock
(
vp8_recon_recon_mb
);
#ifndef vp8_recon_recon_mby
#define vp8_recon_recon_mby vp8_recon_mby_c
#endif
extern
prototype_recon_macroblock
(
vp8_recon_recon_mby
);
typedef
prototype_copy_block
((
*
vp8_copy_block_fn_t
));
typedef
prototype_recon_block
((
*
vp8_recon_fn_t
));
typedef
struct
typedef
prototype_recon_macroblock
((
*
vp8_recon_mb_fn_t
));
typedef
struct
vp8_recon_rtcd_vtable
{
vp8_copy_block_fn_t
copy16x16
;
vp8_copy_block_fn_t
copy8x8
;
...
...
@@ -66,6 +84,8 @@ typedef struct
vp8_recon_fn_t
recon
;
vp8_recon_fn_t
recon2
;
vp8_recon_fn_t
recon4
;
vp8_recon_mb_fn_t
recon_mb
;
vp8_recon_mb_fn_t
recon_mby
;
}
vp8_recon_rtcd_vtable_t
;
#if CONFIG_RUNTIME_CPU_DETECT
...
...
@@ -74,9 +94,6 @@ typedef struct
#define RECON_INVOKE(ctx,fn) vp8_recon_##fn
#endif
#include "blockd.h"
void
vp8_recon16x16mby
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
);
void
vp8_recon16x16mb
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
);
void
vp8_recon_intra4x4mb
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
);
void
vp8_recon_intra_mbuv
(
const
vp8_recon_rtcd_vtable_t
*
rtcd
,
MACROBLOCKD
*
x
);
#endif
vp8/encoder/encodeintra.c
View file @
1320e54d
...
...
@@ -113,7 +113,8 @@ void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
vp8_inverse_transform_mby
(
IF_RTCD
(
&
rtcd
->
common
->
idct
),
&
x
->
e_mbd
);
vp8_recon16x16mby
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
RECON_INVOKE
(
&
rtcd
->
common
->
recon
,
recon_mby
)
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
// make sure block modes are set the way we want them for context updates
for
(
b
=
0
;
b
<
16
;
b
++
)
...
...
@@ -157,7 +158,8 @@ void vp8_encode_intra16x16mbyrd(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
vp8_inverse_transform_mby
(
IF_RTCD
(
&
rtcd
->
common
->
idct
),
&
x
->
e_mbd
);
vp8_recon16x16mby
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
RECON_INVOKE
(
&
rtcd
->
common
->
recon
,
recon_mby
)
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
// make sure block modes are set the way we want them for context updates
for
(
b
=
0
;
b
<
16
;
b
++
)
...
...
vp8/encoder/encodemb.c
View file @
1320e54d
...
...
@@ -639,7 +639,8 @@ void vp8_encode_inter16x16(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
vp8_inverse_transform_mb
(
IF_RTCD
(
&
rtcd
->
common
->
idct
),
&
x
->
e_mbd
);
vp8_recon16x16mb
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
RECON_INVOKE
(
&
rtcd
->
common
->
recon
,
recon_mb
)
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
}
...
...
@@ -656,7 +657,8 @@ void vp8_encode_inter16x16y(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
vp8_inverse_transform_mby
(
IF_RTCD
(
&
rtcd
->
common
->
idct
),
&
x
->
e_mbd
);
vp8_recon16x16mby
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
RECON_INVOKE
(
&
rtcd
->
common
->
recon
,
recon_mby
)
(
IF_RTCD
(
&
rtcd
->
common
->
recon
),
&
x
->
e_mbd
);
}
...
...
vp8/vp8_common.mk
View file @
1320e54d
...
...
@@ -118,7 +118,6 @@ VP8_COMMON_SRCS-$(ARCH_ARM) += common/arm/arm_systemdependent.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/bilinearfilter_arm.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/filter_arm.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/loopfilter_arm.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/recon_arm.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/reconintra_arm.c
VP8_COMMON_SRCS-$(HAVE_ARMV6)
+=
common/arm/vpx_asm_offsets.c
...
...
@@ -162,6 +161,7 @@ VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/sixtappredict16x16_neon$(ASM)
VP8_COMMON_SRCS-$(HAVE_ARMV7)
+=
common/arm/neon/recon16x16mb_neon
$(ASM)
VP8_COMMON_SRCS-$(HAVE_ARMV7)
+=
common/arm/neon/buildintrapredictorsmby_neon
$(ASM)
VP8_COMMON_SRCS-$(HAVE_ARMV7)
+=
common/arm/neon/save_neon_reg
$(ASM)
VP8_COMMON_SRCS-$(HAVE_ARMV7)
+=
common/arm/neon/recon_neon.c
#
...
...
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