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
4ad2f08c
Commit
4ad2f08c
authored
Nov 21, 2012
by
Jim Bankoski
Committed by
Gerrit Code Review
Nov 21, 2012
Browse files
Merge "clean out some of the rtcd code." into experimental
parents
414f68d2
f4871b6a
Changes
6
Hide whitespace changes
Inline
Side-by-side
vp9/common/rtcd_defs.sh
View file @
4ad2f08c
...
...
@@ -378,22 +378,22 @@ specialize vp9_sad8x8x8 sse4
prototype void vp9_sad4x4x8
"const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array"
specialize vp9_sad4x4x8 sse4
prototype void vp9_sad32x32x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad32x32x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad32x32x4d
prototype void vp9_sad16x16x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad16x16x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad16x16x4d sse3
prototype void vp9_sad16x8x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad16x8x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad16x8x4d sse3
prototype void vp9_sad8x16x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad8x16x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad8x16x4d sse3
prototype void vp9_sad8x8x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad8x8x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad8x8x4d sse3
prototype void vp9_sad4x4x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
* const
ref_ptr
[]
, int ref_stride, unsigned int *sad_array"
prototype void vp9_sad4x4x4d
"const unsigned char *src_ptr, int src_stride, const unsigned char
**
ref_ptr, int ref_stride, unsigned int *sad_array"
specialize vp9_sad4x4x4d sse3
#
...
...
@@ -507,6 +507,9 @@ vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4
prototype void vp9_temporal_filter_apply
"unsigned char *frame1, unsigned int stride, unsigned char *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, unsigned short *count"
specialize vp9_temporal_filter_apply sse2
prototype void vp9_yv12_copy_partial_frame
"struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int fraction"
specialize vp9_yv12_copy_partial_frame neon
fi
# end encoder functions
...
...
vp9/encoder/generic/csystemdependent.c
View file @
4ad2f08c
...
...
@@ -14,30 +14,8 @@
#include "vp9/encoder/onyx_int.h"
void
vp9_arch_x86_encoder_init
(
VP9_COMP
*
cpi
);
void
vp9_arch_arm_encoder_init
(
VP9_COMP
*
cpi
);
void
(
*
vp9_yv12_copy_partial_frame_ptr
)(
YV12_BUFFER_CONFIG
*
src_ybc
,
YV12_BUFFER_CONFIG
*
dst_ybc
,
int
fraction
);
extern
void
vp9_yv12_copy_partial_frame
(
YV12_BUFFER_CONFIG
*
src_ybc
,
YV12_BUFFER_CONFIG
*
dst_ybc
,
int
fraction
);
void
vp9_cmachine_specific_config
(
VP9_COMP
*
cpi
)
{
#if CONFIG_RUNTIME_CPU_DETECT
cpi
->
rtcd
.
common
=
&
cpi
->
common
.
rtcd
;
#endif
vp9_yv12_copy_partial_frame_ptr
=
vp9_yv12_copy_partial_frame
;
#if ARCH_X86 || ARCH_X86_64
vp9_arch_x86_encoder_init
(
cpi
);
#endif
#if ARCH_ARM
vp9_arch_arm_encoder_init
(
cpi
);
#endif
}
vp9/encoder/mcomp.c
View file @
4ad2f08c
...
...
@@ -1442,7 +1442,7 @@ int vp9_diamond_search_sadx4(MACROBLOCK *x, BLOCK *b, BLOCKD *d,
unsigned
int
sad_array
[
4
];
for
(
j
=
0
;
j
<
x
->
searches_per_step
;
j
+=
4
)
{
unsigned
char
*
block_offset
[
4
];
const
unsigned
char
*
block_offset
[
4
];
for
(
t
=
0
;
t
<
4
;
t
++
)
block_offset
[
t
]
=
ss
[
i
+
t
].
offset
+
best_address
;
...
...
@@ -2070,7 +2070,7 @@ int vp9_refining_search_sadx4(MACROBLOCK *x, BLOCK *b, BLOCKD *d,
if
(
all_in
)
{
unsigned
int
sad_array
[
4
];
unsigned
char
*
block_offset
[
4
];
unsigned
char
const
*
block_offset
[
4
];
block_offset
[
0
]
=
best_address
-
in_what_stride
;
block_offset
[
1
]
=
best_address
-
1
;
block_offset
[
2
]
=
best_address
+
1
;
...
...
vp9/encoder/picklpf.c
View file @
4ad2f08c
...
...
@@ -31,12 +31,8 @@ extern void vp8_yv12_copy_frame_yonly_no_extend_frame_borders_neon(YV12_BUFFER_C
#define IF_RTCD(x) NULL
#endif
extern
void
(
*
vp9_yv12_copy_partial_frame_ptr
)(
YV12_BUFFER_CONFIG
*
src_ybc
,
YV12_BUFFER_CONFIG
*
dst_ybc
,
int
fraction
);
void
vp9_yv12_copy_partial_frame
(
YV12_BUFFER_CONFIG
*
src_ybc
,
YV12_BUFFER_CONFIG
*
dst_ybc
,
int
Fraction
)
{
void
vp9_yv12_copy_partial_frame_c
(
YV12_BUFFER_CONFIG
*
src_ybc
,
YV12_BUFFER_CONFIG
*
dst_ybc
,
int
Fraction
)
{
unsigned
char
*
src_y
,
*
dst_y
;
int
yheight
;
int
ystride
;
...
...
@@ -147,7 +143,7 @@ void vp9_pick_filter_level_fast(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi) {
int
best_filt_val
=
cm
->
filter_level
;
// Make a copy of the unfiltered / processed recon buffer
vp9_yv12_copy_partial_frame
_ptr
(
cm
->
frame_to_show
,
&
cpi
->
last_frame_uf
,
3
);
vp9_yv12_copy_partial_frame
(
cm
->
frame_to_show
,
&
cpi
->
last_frame_uf
,
3
);
if
(
cm
->
frame_type
==
KEY_FRAME
)
cm
->
sharpness_level
=
0
;
...
...
@@ -174,7 +170,7 @@ void vp9_pick_filter_level_fast(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi) {
best_err
=
calc_partial_ssl_err
(
sd
,
cm
->
frame_to_show
,
3
);
// Re-instate the unfiltered frame
vp9_yv12_copy_partial_frame
_ptr
(
&
cpi
->
last_frame_uf
,
cm
->
frame_to_show
,
3
);
vp9_yv12_copy_partial_frame
(
&
cpi
->
last_frame_uf
,
cm
->
frame_to_show
,
3
);
filt_val
-=
(
1
+
((
filt_val
>
10
)
?
1
:
0
));
...
...
@@ -187,7 +183,7 @@ void vp9_pick_filter_level_fast(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi) {
filt_err
=
calc_partial_ssl_err
(
sd
,
cm
->
frame_to_show
,
3
);
// Re-instate the unfiltered frame
vp9_yv12_copy_partial_frame
_ptr
(
&
cpi
->
last_frame_uf
,
cm
->
frame_to_show
,
3
);
vp9_yv12_copy_partial_frame
(
&
cpi
->
last_frame_uf
,
cm
->
frame_to_show
,
3
);
// Update the best case record or exit loop.
...
...
@@ -216,7 +212,7 @@ void vp9_pick_filter_level_fast(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi) {
filt_err
=
calc_partial_ssl_err
(
sd
,
cm
->
frame_to_show
,
3
);
// Re-instate the unfiltered frame
vp9_yv12_copy_partial_frame
_ptr
(
&
cpi
->
last_frame_uf
,
vp9_yv12_copy_partial_frame
(
&
cpi
->
last_frame_uf
,
cm
->
frame_to_show
,
3
);
// Update the best case record or exit loop.
...
...
vp9/encoder/variance.h
View file @
4ad2f08c
...
...
@@ -38,7 +38,7 @@ typedef void (*vp9_sad_multi1_fn_t)(const unsigned char *src_ptr,
typedef
void
(
*
vp9_sad_multi_d_fn_t
)(
const
unsigned
char
*
src_ptr
,
int
source_stride
,
const
unsigned
char
*
const
ref_ptr
[]
,
const
unsigned
char
*
*
ref_ptr
,
int
ref_stride
,
unsigned
int
*
sad_array
);
typedef
unsigned
int
(
*
vp9_variance_fn_t
)(
const
unsigned
char
*
src_ptr
,
...
...
vp9/encoder/x86/x86_csystemdependent.c
View file @
4ad2f08c
...
...
@@ -14,7 +14,8 @@
#include "vp9/encoder/variance.h"
#include "vp9/encoder/onyx_int.h"
// TODO(jimbankoski) Consider rewriting the c to take the same values rather
// than going through these pointer conversions
#if HAVE_MMX
void
vp9_short_fdct8x4_mmx
(
short
*
input
,
short
*
output
,
int
pitch
)
{
vp9_short_fdct4x4_mmx
(
input
,
output
,
pitch
);
...
...
@@ -75,24 +76,3 @@ void vp9_subtract_b_sse2(BLOCK *be, BLOCKD *bd, int pitch) {
}
#endif
void
vp9_arch_x86_encoder_init
(
VP9_COMP
*
cpi
)
{
#if CONFIG_RUNTIME_CPU_DETECT
int
flags
=
x86_simd_caps
();
/* Note:
*
* This platform can be built without runtime CPU detection as well. If
* you modify any of the function mappings present in this file, be sure
* to also update them in static mapings (<arch>/filename_<arch>.h)
*/
/* Override default functions with fastest ones for this CPU. */
#if HAVE_SSE2
if
(
flags
&
HAS_SSE2
)
{
}
#endif
#endif
}
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