Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
f0d007ab
Commit
f0d007ab
authored
Jan 19, 2016
by
Jim Bankoski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
proposed-aom : remove vp8, vp9 from directory configure and vpx
Change-Id: Ibb9192913f235ace2f6b8ef3c0eeabc3fd4cab11
parent
cb785ade
Changes
412
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
75 changed files
with
0 additions
and
21351 deletions
+0
-21351
configure
configure
+0
-10
vp8/common/alloccommon.c
vp8/common/alloccommon.c
+0
-190
vp8/common/alloccommon.h
vp8/common/alloccommon.h
+0
-31
vp8/common/arm/armv6/bilinearfilter_v6.asm
vp8/common/arm/armv6/bilinearfilter_v6.asm
+0
-237
vp8/common/arm/armv6/copymem16x16_v6.asm
vp8/common/arm/armv6/copymem16x16_v6.asm
+0
-186
vp8/common/arm/armv6/copymem8x4_v6.asm
vp8/common/arm/armv6/copymem8x4_v6.asm
+0
-128
vp8/common/arm/armv6/copymem8x8_v6.asm
vp8/common/arm/armv6/copymem8x8_v6.asm
+0
-128
vp8/common/arm/armv6/dc_only_idct_add_v6.asm
vp8/common/arm/armv6/dc_only_idct_add_v6.asm
+0
-70
vp8/common/arm/armv6/dequant_idct_v6.asm
vp8/common/arm/armv6/dequant_idct_v6.asm
+0
-190
vp8/common/arm/armv6/dequantize_v6.asm
vp8/common/arm/armv6/dequantize_v6.asm
+0
-69
vp8/common/arm/armv6/filter_v6.asm
vp8/common/arm/armv6/filter_v6.asm
+0
-624
vp8/common/arm/armv6/idct_blk_v6.c
vp8/common/arm/armv6/idct_blk_v6.c
+0
-115
vp8/common/arm/armv6/idct_v6.asm
vp8/common/arm/armv6/idct_v6.asm
+0
-202
vp8/common/arm/armv6/iwalsh_v6.asm
vp8/common/arm/armv6/iwalsh_v6.asm
+0
-136
vp8/common/arm/armv6/loopfilter_v6.asm
vp8/common/arm/armv6/loopfilter_v6.asm
+0
-1282
vp8/common/arm/armv6/simpleloopfilter_v6.asm
vp8/common/arm/armv6/simpleloopfilter_v6.asm
+0
-286
vp8/common/arm/armv6/sixtappredict8x4_v6.asm
vp8/common/arm/armv6/sixtappredict8x4_v6.asm
+0
-273
vp8/common/arm/bilinearfilter_arm.c
vp8/common/arm/bilinearfilter_arm.c
+0
-113
vp8/common/arm/bilinearfilter_arm.h
vp8/common/arm/bilinearfilter_arm.h
+0
-43
vp8/common/arm/dequantize_arm.c
vp8/common/arm/dequantize_arm.c
+0
-25
vp8/common/arm/filter_arm.c
vp8/common/arm/filter_arm.c
+0
-221
vp8/common/arm/loopfilter_arm.c
vp8/common/arm/loopfilter_arm.c
+0
-181
vp8/common/arm/neon/bilinearpredict_neon.c
vp8/common/arm/neon/bilinearpredict_neon.c
+0
-699
vp8/common/arm/neon/copymem_neon.c
vp8/common/arm/neon/copymem_neon.c
+0
-59
vp8/common/arm/neon/dc_only_idct_add_neon.c
vp8/common/arm/neon/dc_only_idct_add_neon.c
+0
-42
vp8/common/arm/neon/dequant_idct_neon.c
vp8/common/arm/neon/dequant_idct_neon.c
+0
-142
vp8/common/arm/neon/dequantizeb_neon.c
vp8/common/arm/neon/dequantizeb_neon.c
+0
-25
vp8/common/arm/neon/idct_blk_neon.c
vp8/common/arm/neon/idct_blk_neon.c
+0
-96
vp8/common/arm/neon/idct_dequant_0_2x_neon.c
vp8/common/arm/neon/idct_dequant_0_2x_neon.c
+0
-63
vp8/common/arm/neon/idct_dequant_full_2x_neon.c
vp8/common/arm/neon/idct_dequant_full_2x_neon.c
+0
-185
vp8/common/arm/neon/iwalsh_neon.c
vp8/common/arm/neon/iwalsh_neon.c
+0
-102
vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c
vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c
+0
-111
vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c
vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c
+0
-283
vp8/common/arm/neon/mbloopfilter_neon.c
vp8/common/arm/neon/mbloopfilter_neon.c
+0
-625
vp8/common/arm/neon/shortidct4x4llm_neon.c
vp8/common/arm/neon/shortidct4x4llm_neon.c
+0
-123
vp8/common/arm/neon/sixtappredict_neon.c
vp8/common/arm/neon/sixtappredict_neon.c
+0
-1754
vp8/common/arm/neon/vp8_loopfilter_neon.c
vp8/common/arm/neon/vp8_loopfilter_neon.c
+0
-550
vp8/common/blockd.c
vp8/common/blockd.c
+0
-22
vp8/common/blockd.h
vp8/common/blockd.h
+0
-312
vp8/common/coefupdateprobs.h
vp8/common/coefupdateprobs.h
+0
-197
vp8/common/common.h
vp8/common/common.h
+0
-48
vp8/common/context.c
vp8/common/context.c
+0
-399
vp8/common/copy_c.c
vp8/common/copy_c.c
+0
-32
vp8/common/debugmodes.c
vp8/common/debugmodes.c
+0
-155
vp8/common/default_coef_probs.h
vp8/common/default_coef_probs.h
+0
-200
vp8/common/dequantize.c
vp8/common/dequantize.c
+0
-43
vp8/common/entropy.c
vp8/common/entropy.c
+0
-188
vp8/common/entropy.h
vp8/common/entropy.h
+0
-109
vp8/common/entropymode.c
vp8/common/entropymode.c
+0
-171
vp8/common/entropymode.h
vp8/common/entropymode.h
+0
-88
vp8/common/entropymv.c
vp8/common/entropymv.c
+0
-49
vp8/common/entropymv.h
vp8/common/entropymv.h
+0
-52
vp8/common/extend.c
vp8/common/extend.c
+0
-188
vp8/common/extend.h
vp8/common/extend.h
+0
-33
vp8/common/filter.c
vp8/common/filter.c
+0
-493
vp8/common/filter.h
vp8/common/filter.h
+0
-32
vp8/common/findnearmv.c
vp8/common/findnearmv.c
+0
-193
vp8/common/findnearmv.h
vp8/common/findnearmv.h
+0
-194
vp8/common/generic/systemdependent.c
vp8/common/generic/systemdependent.c
+0
-104
vp8/common/header.h
vp8/common/header.h
+0
-51
vp8/common/idct_blk.c
vp8/common/idct_blk.c
+0
-90
vp8/common/idctllm.c
vp8/common/idctllm.c
+0
-205
vp8/common/invtrans.h
vp8/common/invtrans.h
+0
-70
vp8/common/loopfilter.h
vp8/common/loopfilter.h
+0
-113
vp8/common/loopfilter_filters.c
vp8/common/loopfilter_filters.c
+0
-430
vp8/common/mbpitch.c
vp8/common/mbpitch.c
+0
-68
vp8/common/mfqe.c
vp8/common/mfqe.c
+0
-386
vp8/common/mips/dspr2/dequantize_dspr2.c
vp8/common/mips/dspr2/dequantize_dspr2.c
+0
-33
vp8/common/mips/dspr2/filter_dspr2.c
vp8/common/mips/dspr2/filter_dspr2.c
+0
-2823
vp8/common/mips/dspr2/idct_blk_dspr2.c
vp8/common/mips/dspr2/idct_blk_dspr2.c
+0
-88
vp8/common/mips/dspr2/idctllm_dspr2.c
vp8/common/mips/dspr2/idctllm_dspr2.c
+0
-369
vp8/common/mips/dspr2/reconinter_dspr2.c
vp8/common/mips/dspr2/reconinter_dspr2.c
+0
-121
vp8/common/mips/dspr2/vp8_loopfilter_filters_dspr2.c
vp8/common/mips/dspr2/vp8_loopfilter_filters_dspr2.c
+0
-2622
vp8/common/mips/msa/bilinear_filter_msa.c
vp8/common/mips/msa/bilinear_filter_msa.c
+0
-911
vp8/common/mips/msa/copymem_msa.c
vp8/common/mips/msa/copymem_msa.c
+0
-70
No files found.
configure
View file @
f0d007ab
...
...
@@ -38,8 +38,6 @@ Advanced options:
${
toggle_better_hw_compatibility
}
enable encoder to produce streams with better
hardware decoder compatibility
${
toggle_vp8
}
VP8 codec support
${
toggle_vp9
}
VP9 codec support
${
toggle_vp10
}
VP10 codec support
${
toggle_internal_stats
}
output of encoder internal stats for debug, if supported (encoders)
${
toggle_postproc
}
postprocessing
...
...
@@ -195,8 +193,6 @@ if [ ${doxy_major:-0} -ge 1 ]; then
fi
# disable codecs when their source directory does not exist
[
-d
"
${
source_path
}
/vp8"
]
||
disable_feature vp8
[
-d
"
${
source_path
}
/vp9"
]
||
disable_feature vp9
[
-d
"
${
source_path
}
/vp10"
]
||
disable_feature vp10
# disable vp10 codec by default
...
...
@@ -218,16 +214,10 @@ enable_feature os_support
enable_feature temporal_denoising
CODECS
=
"
vp8_encoder
vp8_decoder
vp9_encoder
vp9_decoder
vp10_encoder
vp10_decoder
"
CODEC_FAMILIES
=
"
vp8
vp9
vp10
"
...
...
vp8/common/alloccommon.c
deleted
100644 → 0
View file @
cb785ade
/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "vpx_config.h"
#include "alloccommon.h"
#include "blockd.h"
#include "vpx_mem/vpx_mem.h"
#include "onyxc_int.h"
#include "findnearmv.h"
#include "entropymode.h"
#include "systemdependent.h"
void
vp8_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
)
{
int
i
;
for
(
i
=
0
;
i
<
NUM_YV12_BUFFERS
;
i
++
)
vp8_yv12_de_alloc_frame_buffer
(
&
oci
->
yv12_fb
[
i
]);
vp8_yv12_de_alloc_frame_buffer
(
&
oci
->
temp_scale_frame
);
#if CONFIG_POSTPROC
vp8_yv12_de_alloc_frame_buffer
(
&
oci
->
post_proc_buffer
);
if
(
oci
->
post_proc_buffer_int_used
)
vp8_yv12_de_alloc_frame_buffer
(
&
oci
->
post_proc_buffer_int
);
vpx_free
(
oci
->
pp_limits_buffer
);
oci
->
pp_limits_buffer
=
NULL
;
#endif
vpx_free
(
oci
->
above_context
);
vpx_free
(
oci
->
mip
);
#if CONFIG_ERROR_CONCEALMENT
vpx_free
(
oci
->
prev_mip
);
oci
->
prev_mip
=
NULL
;
#endif
oci
->
above_context
=
NULL
;
oci
->
mip
=
NULL
;
}
int
vp8_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
)
{
int
i
;
vp8_de_alloc_frame_buffers
(
oci
);
/* our internal buffers are always multiples of 16 */
if
((
width
&
0xf
)
!=
0
)
width
+=
16
-
(
width
&
0xf
);
if
((
height
&
0xf
)
!=
0
)
height
+=
16
-
(
height
&
0xf
);
for
(
i
=
0
;
i
<
NUM_YV12_BUFFERS
;
i
++
)
{
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
)
goto
allocation_fail
;
}
oci
->
new_fb_idx
=
0
;
oci
->
lst_fb_idx
=
1
;
oci
->
gld_fb_idx
=
2
;
oci
->
alt_fb_idx
=
3
;
oci
->
fb_idx_ref_cnt
[
0
]
=
1
;
oci
->
fb_idx_ref_cnt
[
1
]
=
1
;
oci
->
fb_idx_ref_cnt
[
2
]
=
1
;
oci
->
fb_idx_ref_cnt
[
3
]
=
1
;
if
(
vp8_yv12_alloc_frame_buffer
(
&
oci
->
temp_scale_frame
,
width
,
16
,
VP8BORDERINPIXELS
)
<
0
)
goto
allocation_fail
;
oci
->
mb_rows
=
height
>>
4
;
oci
->
mb_cols
=
width
>>
4
;
oci
->
MBs
=
oci
->
mb_rows
*
oci
->
mb_cols
;
oci
->
mode_info_stride
=
oci
->
mb_cols
+
1
;
oci
->
mip
=
vpx_calloc
((
oci
->
mb_cols
+
1
)
*
(
oci
->
mb_rows
+
1
),
sizeof
(
MODE_INFO
));
if
(
!
oci
->
mip
)
goto
allocation_fail
;
oci
->
mi
=
oci
->
mip
+
oci
->
mode_info_stride
+
1
;
/* Allocation of previous mode info will be done in vp8_decode_frame()
* as it is a decoder only data */
oci
->
above_context
=
vpx_calloc
(
sizeof
(
ENTROPY_CONTEXT_PLANES
)
*
oci
->
mb_cols
,
1
);
if
(
!
oci
->
above_context
)
goto
allocation_fail
;
#if CONFIG_POSTPROC
if
(
vp8_yv12_alloc_frame_buffer
(
&
oci
->
post_proc_buffer
,
width
,
height
,
VP8BORDERINPIXELS
)
<
0
)
goto
allocation_fail
;
oci
->
post_proc_buffer_int_used
=
0
;
memset
(
&
oci
->
postproc_state
,
0
,
sizeof
(
oci
->
postproc_state
));
memset
(
oci
->
post_proc_buffer
.
buffer_alloc
,
128
,
oci
->
post_proc_buffer
.
frame_size
);
/* Allocate buffer to store post-processing filter coefficients.
*
* Note: Round up mb_cols to support SIMD reads
*/
oci
->
pp_limits_buffer
=
vpx_memalign
(
16
,
24
*
((
oci
->
mb_cols
+
1
)
&
~
1
));
if
(
!
oci
->
pp_limits_buffer
)
goto
allocation_fail
;
#endif
return
0
;
allocation_fail:
vp8_de_alloc_frame_buffers
(
oci
);
return
1
;
}
void
vp8_setup_version
(
VP8_COMMON
*
cm
)
{
switch
(
cm
->
version
)
{
case
0
:
cm
->
no_lpf
=
0
;
cm
->
filter_type
=
NORMAL_LOOPFILTER
;
cm
->
use_bilinear_mc_filter
=
0
;
cm
->
full_pixel
=
0
;
break
;
case
1
:
cm
->
no_lpf
=
0
;
cm
->
filter_type
=
SIMPLE_LOOPFILTER
;
cm
->
use_bilinear_mc_filter
=
1
;
cm
->
full_pixel
=
0
;
break
;
case
2
:
cm
->
no_lpf
=
1
;
cm
->
filter_type
=
NORMAL_LOOPFILTER
;
cm
->
use_bilinear_mc_filter
=
1
;
cm
->
full_pixel
=
0
;
break
;
case
3
:
cm
->
no_lpf
=
1
;
cm
->
filter_type
=
SIMPLE_LOOPFILTER
;
cm
->
use_bilinear_mc_filter
=
1
;
cm
->
full_pixel
=
1
;
break
;
default:
/*4,5,6,7 are reserved for future use*/
cm
->
no_lpf
=
0
;
cm
->
filter_type
=
NORMAL_LOOPFILTER
;
cm
->
use_bilinear_mc_filter
=
0
;
cm
->
full_pixel
=
0
;
break
;
}
}
void
vp8_create_common
(
VP8_COMMON
*
oci
)
{
vp8_machine_specific_config
(
oci
);
vp8_init_mbmode_probs
(
oci
);
vp8_default_bmode_probs
(
oci
->
fc
.
bmode_prob
);
oci
->
mb_no_coeff_skip
=
1
;
oci
->
no_lpf
=
0
;
oci
->
filter_type
=
NORMAL_LOOPFILTER
;
oci
->
use_bilinear_mc_filter
=
0
;
oci
->
full_pixel
=
0
;
oci
->
multi_token_partition
=
ONE_PARTITION
;
oci
->
clamp_type
=
RECON_CLAMP_REQUIRED
;
/* Initialize reference frame sign bias structure to defaults */
memset
(
oci
->
ref_frame_sign_bias
,
0
,
sizeof
(
oci
->
ref_frame_sign_bias
));
/* Default disable buffer to buffer copying */
oci
->
copy_buffer_to_gf
=
0
;
oci
->
copy_buffer_to_arf
=
0
;
}
void
vp8_remove_common
(
VP8_COMMON
*
oci
)
{
vp8_de_alloc_frame_buffers
(
oci
);
}
vp8/common/alloccommon.h
deleted
100644 → 0
View file @
cb785ade
/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef VP8_COMMON_ALLOCCOMMON_H_
#define VP8_COMMON_ALLOCCOMMON_H_
#include "onyxc_int.h"
#ifdef __cplusplus
extern
"C"
{
#endif
void
vp8_create_common
(
VP8_COMMON
*
oci
);
void
vp8_remove_common
(
VP8_COMMON
*
oci
);
void
vp8_de_alloc_frame_buffers
(
VP8_COMMON
*
oci
);
int
vp8_alloc_frame_buffers
(
VP8_COMMON
*
oci
,
int
width
,
int
height
);
void
vp8_setup_version
(
VP8_COMMON
*
oci
);
#ifdef __cplusplus
}
// extern "C"
#endif
#endif // VP8_COMMON_ALLOCCOMMON_H_
vp8/common/arm/armv6/bilinearfilter_v6.asm
deleted
100644 → 0
View file @
cb785ade
;
; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
;
; Use of this source code is governed by a BSD-style license
; that can be found in the LICENSE file in the root of the source
; tree. An additional intellectual property rights grant can be found
; in the file PATENTS. All contributing project authors may
; be found in the AUTHORS file in the root of the source tree.
;
EXPORT
|
vp8_filter_block2d_bil_first_pass_armv6
|
EXPORT
|
vp8_filter_block2d_bil_second_pass_armv6
|
AREA
|
.text
|
,
CODE
,
READONLY
; name this block of code
;-------------------------------------
; r0 unsigned char *src_ptr,
; r1 unsigned short *dst_ptr,
; r2 unsigned int src_pitch,
; r3 unsigned int height,
; stack unsigned int width,
; stack const short *vp8_filter
;-------------------------------------
; The output is transposed stroed in output array to make it easy for second pass filtering.
|
vp8_filter_block2d_bil_first_pass_armv6
|
PROC
stmdb
sp
!
,
{
r4
-
r11
,
lr
}
ldr
r11
,
[
sp
,
#
40
]
; vp8_filter address
ldr
r4
,
[
sp
,
#
36
]
; width
mov
r12
,
r3
; outer-loop counter
add
r7
,
r2
,
r4
; preload next row
pld
[
r0
,
r7
]
sub
r2
,
r2
,
r4
; src increment for height loop
ldr
r5
,
[
r11
]
; load up filter coefficients
mov
r3
,
r3
,
lsl
#
1
; height*2
add
r3
,
r3
,
#
2
; plus 2 to make output buffer 4-bit aligned since height is actually (height+1)
mov
r11
,
r1
; save dst_ptr for each row
cmp
r5
,
#
128
; if filter coef = 128, then skip the filter
beq
bil_null_1st_filter
|
bil_height_loop_1st_v6
|
ldrb
r6
,
[
r0
]
; load source data
ldrb
r7
,
[
r0
,
#
1
]
ldrb
r8
,
[
r0
,
#
2
]
mov
lr
,
r4
,
lsr
#
2
; 4-in-parellel loop counter
|
bil_width_loop_1st_v6
|
ldrb
r9
,
[
r0
,
#
3
]
ldrb
r10
,
[
r0
,
#
4
]
pkhbt
r6
,
r6
,
r7
,
lsl
#
16
; src[1] | src[0]
pkhbt
r7
,
r7
,
r8
,
lsl
#
16
; src[2] | src[1]
smuad
r6
,
r6
,
r5
; apply the filter
pkhbt
r8
,
r8
,
r9
,
lsl
#
16
; src[3] | src[2]
smuad
r7
,
r7
,
r5
pkhbt
r9
,
r9
,
r10
,
lsl
#
16
; src[4] | src[3]
smuad
r8
,
r8
,
r5
smuad
r9
,
r9
,
r5
add
r0
,
r0
,
#
4
subs
lr
,
lr
,
#
1
add
r6
,
r6
,
#
0x40
; round_shift_and_clamp
add
r7
,
r7
,
#
0x40
usat
r6
,
#
16
,
r6
,
asr
#
7
usat
r7
,
#
16
,
r7
,
asr
#
7
strh
r6
,
[
r1
],
r3
; result is transposed and stored
add
r8
,
r8
,
#
0x40
; round_shift_and_clamp
strh
r7
,
[
r1
],
r3
add
r9
,
r9
,
#
0x40
usat
r8
,
#
16
,
r8
,
asr
#
7
usat
r9
,
#
16
,
r9
,
asr
#
7
strh
r8
,
[
r1
],
r3
; result is transposed and stored
ldrneb
r6
,
[
r0
]
; load source data
strh
r9
,
[
r1
],
r3
ldrneb
r7
,
[
r0
,
#
1
]
ldrneb
r8
,
[
r0
,
#
2
]
bne
bil_width_loop_1st_v6
add
r0
,
r0
,
r2
; move to next input row
subs
r12
,
r12
,
#
1
add
r9
,
r2
,
r4
,
lsl
#
1
; adding back block width
pld
[
r0
,
r9
]
; preload next row
add
r11
,
r11
,
#
2
; move over to next column
mov
r1
,
r11
bne
bil_height_loop_1st_v6
ldmia
sp
!
,
{
r4
-
r11
,
pc
}
|
bil_null_1st_filter
|
|
bil_height_loop_null_1st
|
mov
lr
,
r4
,
lsr
#
2
; loop counter
|
bil_width_loop_null_1st
|
ldrb
r6
,
[
r0
]
; load data
ldrb
r7
,
[
r0
,
#
1
]
ldrb
r8
,
[
r0
,
#
2
]
ldrb
r9
,
[
r0
,
#
3
]
strh
r6
,
[
r1
],
r3
; store it to immediate buffer
add
r0
,
r0
,
#
4
strh
r7
,
[
r1
],
r3
subs
lr
,
lr
,
#
1
strh
r8
,
[
r1
],
r3
strh
r9
,
[
r1
],
r3
bne
bil_width_loop_null_1st
subs
r12
,
r12
,
#
1
add
r0
,
r0
,
r2
; move to next input line
add
r11
,
r11
,
#
2
; move over to next column
mov
r1
,
r11
bne
bil_height_loop_null_1st
ldmia
sp
!
,
{
r4
-
r11
,
pc
}
ENDP
; |vp8_filter_block2d_bil_first_pass_armv6|
;---------------------------------
; r0 unsigned short *src_ptr,
; r1 unsigned char *dst_ptr,
; r2 int dst_pitch,
; r3 unsigned int height,
; stack unsigned int width,
; stack const short *vp8_filter
;---------------------------------
|
vp8_filter_block2d_bil_second_pass_armv6
|
PROC
stmdb
sp
!
,
{
r4
-
r11
,
lr
}
ldr
r11
,
[
sp
,
#
40
]
; vp8_filter address
ldr
r4
,
[
sp
,
#
36
]
; width
ldr
r5
,
[
r11
]
; load up filter coefficients
mov
r12
,
r4
; outer-loop counter = width, since we work on transposed data matrix
mov
r11
,
r1
cmp
r5
,
#
128
; if filter coef = 128, then skip the filter
beq
bil_null_2nd_filter
|
bil_height_loop_2nd
|
ldr
r6
,
[
r0
]
; load the data
ldr
r8
,
[
r0
,
#
4
]
ldrh
r10
,
[
r0
,
#
8
]
mov
lr
,
r3
,
lsr
#
2
; loop counter
|
bil_width_loop_2nd
|
pkhtb
r7
,
r6
,
r8
; src[1] | src[2]
pkhtb
r9
,
r8
,
r10
; src[3] | src[4]
smuad
r6
,
r6
,
r5
; apply filter
smuad
r8
,
r8
,
r5
; apply filter
subs
lr
,
lr
,
#
1
smuadx
r7
,
r7
,
r5
; apply filter
smuadx
r9
,
r9
,
r5
; apply filter
add
r0
,
r0
,
#
8
add
r6
,
r6
,
#
0x40
; round_shift_and_clamp
add
r7
,
r7
,
#
0x40
usat
r6
,
#
8
,
r6
,
asr
#
7
usat
r7
,
#
8
,
r7
,
asr
#
7
strb
r6
,
[
r1
],
r2
; the result is transposed back and stored
add
r8
,
r8
,
#
0x40
; round_shift_and_clamp
strb
r7
,
[
r1
],
r2
add
r9
,
r9
,
#
0x40
usat
r8
,
#
8
,
r8
,
asr
#
7
usat
r9
,
#
8
,
r9
,
asr
#
7
strb
r8
,
[
r1
],
r2
; the result is transposed back and stored
ldrne
r6
,
[
r0
]
; load data
strb
r9
,
[
r1
],
r2
ldrne
r8
,
[
r0
,
#
4
]
ldrneh
r10
,
[
r0
,
#
8
]
bne
bil_width_loop_2nd
subs
r12
,
r12
,
#
1
add
r0
,
r0
,
#
4
; update src for next row
add
r11
,
r11
,
#
1
mov
r1
,
r11
bne
bil_height_loop_2nd
ldmia
sp
!
,
{
r4
-
r11
,
pc
}
|
bil_null_2nd_filter
|
|
bil_height_loop_null_2nd
|
mov
lr
,
r3
,
lsr
#
2
|
bil_width_loop_null_2nd
|
ldr
r6
,
[
r0
],
#
4
; load data
subs
lr
,
lr
,
#
1
ldr
r8
,
[
r0
],
#
4
strb
r6
,
[
r1
],
r2
; store data
mov
r7
,
r6
,
lsr
#
16
strb
r7
,
[
r1
],
r2
mov
r9
,
r8
,
lsr
#
16
strb
r8
,
[
r1
],
r2
strb
r9
,
[
r1
],
r2
bne
bil_width_loop_null_2nd
subs
r12
,
r12
,
#
1
add
r0
,
r0
,
#
4
add
r11
,
r11
,
#
1
mov
r1
,
r11
bne
bil_height_loop_null_2nd
ldmia
sp
!
,
{
r4
-
r11
,
pc
}
ENDP
; |vp8_filter_block2d_second_pass_armv6|
END
vp8/common/arm/armv6/copymem16x16_v6.asm
deleted
100644 → 0
View file @
cb785ade
;
; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
;
; Use of this source code is governed by a BSD-style license
; that can be found in the LICENSE file in the root of the source
; tree. An additional intellectual property rights grant can be found
; in the file PATENTS. All contributing project authors may
; be found in the AUTHORS file in the root of the source tree.
;
EXPORT
|
vp8_copy_mem16x16_v6
|
; ARM
; REQUIRE8
; PRESERVE8
AREA
Bl
ock
,
CODE
,
READONLY
; name this block of code
;void copy_mem16x16_v6( unsigned char *src, int src_stride, unsigned char *dst, int dst_stride)
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
vp8_copy_mem16x16_v6
|
PROC
stmdb
sp
!
,
{
r4
-
r7
}
;push {r4-r7}
;preload
pld
[
r0
,
#
31
]
; preload for next 16x16 block
ands
r4
,
r0
,
#
15
beq
copy_mem16x16_fast
ands
r4
,
r0
,
#
7
beq
copy_mem16x16_8
ands
r4
,
r0
,
#
3
beq
copy_mem16x16_4
;copy one byte each time
ldrb
r4
,
[
r0
]
ldrb
r5
,
[
r0
,
#
1
]
ldrb
r6
,
[
r0
,
#
2
]
ldrb
r7
,
[
r0
,
#
3
]
mov
r12
,
#
16
copy_mem16x16_1_loop
strb
r4
,
[
r2
]
strb
r5
,
[
r2
,
#
1
]
strb
r6
,
[
r2
,
#
2
]
strb
r7
,
[
r2
,
#
3
]
ldrb
r4
,
[
r0
,
#
4
]
ldrb
r5
,
[
r0
,
#
5
]
ldrb
r6
,
[
r0
,
#
6
]
ldrb
r7
,
[
r0
,
#
7
]
subs
r12
,
r12
,
#
1
strb
r4
,
[
r2
,
#
4
]
strb
r5
,
[
r2
,
#
5
]
strb
r6
,
[
r2
,
#
6
]
strb
r7
,
[
r2
,
#
7
]
ldrb
r4
,
[
r0
,
#
8
]
ldrb
r5
,
[
r0
,
#
9
]
ldrb
r6
,
[
r0
,
#
10
]
ldrb
r7
,
[
r0
,
#
11
]
strb
r4
,
[
r2
,
#
8
]
strb
r5
,
[
r2
,
#
9
]
strb
r6
,
[
r2
,
#
10
]
strb
r7
,
[
r2
,
#
11
]
ldrb
r4
,
[
r0
,
#
12
]
ldrb
r5
,
[
r0
,
#
13
]
ldrb
r6
,
[
r0
,
#
14
]
ldrb
r7
,
[
r0
,
#
15
]
add
r0
,
r0
,
r1
strb
r4
,
[
r2
,
#
12
]
strb
r5
,
[
r2
,
#
13
]
strb
r6
,
[
r2
,
#
14
]
strb
r7
,
[
r2
,
#
15
]
add
r2
,
r2
,
r3
ldrneb
r4
,
[
r0
]