Skip to content

Commit 3883ef2

Browse files
committed
Merge commit 'f103dcefaf2437b0eeba66e52426e4e9714cf949' into upstream_merge
Conflicts: vp8/common/generic/systemdependent.c vp8/decoder/decodframe.c
2 parents 5b89ca0 + f103dce commit 3883ef2

29 files changed

+97
-553
lines changed

vp8/common/arm/arm_systemdependent.c

-62
This file was deleted.

vp8/common/arm/bilinearfilter_arm.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
* be found in the AUTHORS file in the root of the source tree.
99
*/
1010

11-
11+
#include "vpx_config.h"
12+
#include "vpx_rtcd.h"
1213
#include <math.h>
1314
#include "vp8/common/filter.h"
14-
#include "vp8/common/subpixel.h"
1515
#include "bilinearfilter_arm.h"
1616

1717
void vp8_filter_block2d_bil_armv6

vp8/common/arm/filter_arm.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111

1212
#include "vpx_config.h"
13+
#include "vpx_rtcd.h"
1314
#include <math.h>
1415
#include "vp8/common/filter.h"
15-
#include "vp8/common/subpixel.h"
1616
#include "vpx_ports/mem.h"
1717

1818
extern void vp8_filter_block2d_first_pass_armv6
@@ -87,7 +87,7 @@ extern void vp8_filter_block2d_second_pass_only_armv6
8787
);
8888

8989
#if HAVE_MEDIA
90-
void vp8_sixtap_predict_armv6
90+
void vp8_sixtap_predict4x4_armv6
9191
(
9292
unsigned char *src_ptr,
9393
int src_pixels_per_line,

vp8/common/arm/neon/sixtappredict4x4_neon.asm

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
;
1010

1111

12-
EXPORT |vp8_sixtap_predict_neon|
12+
EXPORT |vp8_sixtap_predict4x4_neon|
1313
ARM
1414
REQUIRE8
1515
PRESERVE8
@@ -33,7 +33,7 @@ filter4_coeff
3333
; stack(r4) unsigned char *dst_ptr,
3434
; stack(lr) int dst_pitch
3535

36-
|vp8_sixtap_predict_neon| PROC
36+
|vp8_sixtap_predict4x4_neon| PROC
3737
push {r4, lr}
3838

3939
adr r12, filter4_coeff

vp8/common/arm/subpixel_arm.h

-89
This file was deleted.

vp8/common/blockd.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ void vpx_log(const char *format, ...);
1818
#include "vpx_scale/yv12config.h"
1919
#include "mv.h"
2020
#include "treecoder.h"
21-
#include "subpixel.h"
2221
#include "vpx_ports/mem.h"
2322

2423
#include "vpx_config.h"
@@ -228,6 +227,8 @@ typedef struct blockd
228227
union b_mode_info bmi;
229228
} BLOCKD;
230229

230+
typedef void (*vp8_subpix_fn_t)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
231+
231232
typedef struct macroblockd
232233
{
233234
DECLARE_ALIGNED(16, unsigned char, predictor[384]);

vp8/common/filter.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ static void filter_block2d
149149
}
150150

151151

152-
void vp8_sixtap_predict_c
152+
void vp8_sixtap_predict4x4_c
153153
(
154154
unsigned char *src_ptr,
155155
int src_pixels_per_line,

vp8/common/generic/systemdependent.c

+11-25
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
#include "vpx_config.h"
1313
#include "vpx_rtcd.h"
14-
#include "vp8/common/subpixel.h"
15-
#include "vp8/common/loopfilter.h"
14+
#if ARCH_ARM
15+
#include "vpx_ports/arm.h"
16+
#elif ARCH_X86 || ARCH_X86_64
17+
#include "vpx_ports/x86.h"
18+
#endif
1619
#include "vp8/common/onyxc_int.h"
1720

1821
#if CONFIG_MULTITHREAD
@@ -24,8 +27,6 @@ typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
2427
#endif
2528
#endif
2629

27-
extern void vp8_arch_x86_common_init(VP8_COMMON *ctx);
28-
extern void vp8_arch_arm_common_init(VP8_COMMON *ctx);
2930
extern void vp8_arch_opencl_common_init(VP8_COMMON *ctx);
3031

3132
#if CONFIG_MULTITHREAD
@@ -66,27 +67,6 @@ static int get_cpu_count()
6667

6768
void vp8_machine_specific_config(VP8_COMMON *ctx)
6869
{
69-
#if CONFIG_RUNTIME_CPU_DETECT
70-
VP8_COMMON_RTCD *rtcd = &ctx->rtcd;
71-
72-
rtcd->subpix.sixtap16x16 = vp8_sixtap_predict16x16_c;
73-
rtcd->subpix.sixtap8x8 = vp8_sixtap_predict8x8_c;
74-
rtcd->subpix.sixtap8x4 = vp8_sixtap_predict8x4_c;
75-
rtcd->subpix.sixtap4x4 = vp8_sixtap_predict_c;
76-
rtcd->subpix.bilinear16x16 = vp8_bilinear_predict16x16_c;
77-
rtcd->subpix.bilinear8x8 = vp8_bilinear_predict8x8_c;
78-
rtcd->subpix.bilinear8x4 = vp8_bilinear_predict8x4_c;
79-
rtcd->subpix.bilinear4x4 = vp8_bilinear_predict4x4_c;
80-
#endif
81-
82-
#if ARCH_X86 || ARCH_X86_64
83-
vp8_arch_x86_common_init(ctx);
84-
#endif
85-
86-
#if ARCH_ARM
87-
vp8_arch_arm_common_init(ctx);
88-
#endif
89-
9070
#if CONFIG_OPENCL && (ENABLE_CL_IDCT_DEQUANT || ENABLE_CL_SUBPIXEL || ENABLE_CL_LOOPFILTER)
9171
vp8_arch_opencl_common_init(ctx);
9272
#endif
@@ -95,5 +75,11 @@ void vp8_machine_specific_config(VP8_COMMON *ctx)
9575
ctx->processor_core_count = get_cpu_count();
9676
#endif /* CONFIG_MULTITHREAD */
9777

78+
#if ARCH_ARM
79+
ctx->cpu_caps = arm_cpu_caps();
80+
#elif ARCH_X86 || ARCH_X86_64
81+
ctx->cpu_caps = x86_simd_caps();
82+
#endif
83+
9884
vpx_rtcd();
9985
}

vp8/common/invtrans.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ static void eob_adjust(char *eobs, short *diff)
3333
}
3434
}
3535

36-
static void vp8_inverse_transform_mby(MACROBLOCKD *xd,
37-
const VP8_COMMON_RTCD *rtcd)
36+
static void vp8_inverse_transform_mby(MACROBLOCKD *xd)
3837
{
3938
short *DQC = xd->dequant_y1;
4039

vp8/common/onyxc_int.h

+1-13
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,6 @@ typedef enum
6969
BILINEAR = 1
7070
} INTERPOLATIONFILTERTYPE;
7171

72-
typedef struct VP8_COMMON_RTCD
73-
{
74-
#if CONFIG_RUNTIME_CPU_DETECT
75-
vp8_subpix_rtcd_vtable_t subpix;
76-
int flags;
77-
#else
78-
int unused;
79-
#endif
80-
} VP8_COMMON_RTCD;
81-
8272
typedef struct VP8Common
8373

8474
{
@@ -194,15 +184,13 @@ typedef struct VP8Common
194184
double bitrate;
195185
double framerate;
196186

197-
#if CONFIG_RUNTIME_CPU_DETECT
198-
VP8_COMMON_RTCD rtcd;
199-
#endif
200187
#if CONFIG_MULTITHREAD
201188
int processor_core_count;
202189
#endif
203190
#if CONFIG_POSTPROC
204191
struct postproc_state postproc_state;
205192
#endif
193+
int cpu_caps;
206194
} VP8_COMMON;
207195

208196
#endif

vp8/common/opencl/opencl_systemdependent.c

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
*/
1010

1111
#include "vpx_config.h"
12-
#include "../subpixel.h"
1312
#include "subpixel_cl.h"
1413
#include "../onyxc_int.h"
1514
#include "vp8_opencl.h"

vp8/common/opencl/reconinter_cl.c

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
//functions. Hopefully this means no worrying about when to copy data back/forth.
2020

2121
#include "vpx_config.h"
22-
#include "../subpixel.h"
2322
#if CONFIG_RUNTIME_CPU_DETECT
2423
//#include "../onyxc_int.h"
2524
#endif

vp8/common/reconinter.c

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include "vpx_config.h"
1414
#include "vpx_rtcd.h"
1515
#include "vpx/vpx_integer.h"
16-
#include "subpixel.h"
1716
#include "blockd.h"
1817
#include "reconinter.h"
1918
#if CONFIG_RUNTIME_CPU_DETECT

vp8/common/rtcd_defs.sh

+35
Original file line numberDiff line numberDiff line change
@@ -160,3 +160,38 @@ if [ "$CONFIG_POSTPROC" = "yes" ]; then
160160
prototype void vp8_blend_b "unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride"
161161
# no asm yet
162162
fi
163+
164+
#
165+
# Subpixel
166+
#
167+
prototype void vp8_sixtap_predict16x16 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
168+
specialize vp8_sixtap_predict16x16 mmx sse2 ssse3 media neon
169+
vp8_sixtap_predict16x16_media=vp8_sixtap_predict16x16_armv6
170+
171+
prototype void vp8_sixtap_predict8x8 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
172+
specialize vp8_sixtap_predict8x8 mmx sse2 ssse3 media neon
173+
vp8_sixtap_predict8x8_media=vp8_sixtap_predict8x8_armv6
174+
175+
prototype void vp8_sixtap_predict8x4 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
176+
specialize vp8_sixtap_predict8x4 mmx sse2 ssse3 media neon
177+
vp8_sixtap_predict8x4_media=vp8_sixtap_predict8x4_armv6
178+
179+
prototype void vp8_sixtap_predict4x4 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
180+
specialize vp8_sixtap_predict4x4 mmx ssse3 media neon
181+
vp8_sixtap_predict4x4_media=vp8_sixtap_predict4x4_armv6
182+
183+
prototype void vp8_bilinear_predict16x16 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
184+
specialize vp8_bilinear_predict16x16 mmx sse2 ssse3 media neon
185+
vp8_bilinear_predict16x16_media=vp8_bilinear_predict16x16_armv6
186+
187+
prototype void vp8_bilinear_predict8x8 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
188+
specialize vp8_bilinear_predict8x8 mmx sse2 ssse3 media neon
189+
vp8_bilinear_predict8x8_media=vp8_bilinear_predict8x8_armv6
190+
191+
prototype void vp8_bilinear_predict8x4 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
192+
specialize vp8_bilinear_predict8x4 mmx media neon
193+
vp8_bilinear_predict8x4_media=vp8_bilinear_predict8x4_armv6
194+
195+
prototype void vp8_bilinear_predict4x4 "unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch"
196+
specialize vp8_bilinear_predict4x4 mmx media neon
197+
vp8_bilinear_predict4x4_media=vp8_bilinear_predict4x4_armv6

0 commit comments

Comments
 (0)