Merge remote-tracking branch 'origin/vp9-preview' into experimental
This commit is contained in:
@@ -7,12 +7,12 @@ REM in the file PATENTS. All contributing project authors may
|
||||
REM be found in the AUTHORS file in the root of the source tree.
|
||||
echo on
|
||||
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/common/asm_com_offsets.c"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/decoder/asm_dec_offsets.c"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/encoder/asm_enc_offsets.c"
|
||||
obj_int_extract.exe rvds "asm_com_offsets.obj" > "vp9_asm_com_offsets.asm"
|
||||
obj_int_extract.exe rvds "asm_dec_offsets.obj" > "vp9_asm_dec_offsets.asm"
|
||||
obj_int_extract.exe rvds "asm_enc_offsets.obj" > "vp9_asm_enc_offsets.asm"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/common/vp9_asm_com_offsets.c"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/decoder/vp9_asm_dec_offsets.c"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp9/encoder/vp9_asm_enc_offsets.c"
|
||||
obj_int_extract.exe rvds "vp9_asm_com_offsets.obj" > "vp9_asm_com_offsets.asm"
|
||||
obj_int_extract.exe rvds "vp9_asm_dec_offsets.obj" > "vp9_asm_dec_offsets.asm"
|
||||
obj_int_extract.exe rvds "vp9_asm_enc_offsets.obj" > "vp9_asm_enc_offsets.asm"
|
||||
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp8/common/asm_com_offsets.c"
|
||||
cl /I "./" /I "%1" /nologo /c "%1/vp8/decoder/asm_dec_offsets.c"
|
||||
|
||||
2
libs.mk
2
libs.mk
@@ -424,6 +424,7 @@ gtest.vcproj: $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc
|
||||
--proj-guid=EC00E1EC-AF68-4D92-A255-181690D1C9B1 \
|
||||
--ver=$(CONFIG_VS_VERSION) \
|
||||
--src-path-bare="$(SRC_PATH_BARE)" \
|
||||
-D_VARIADIC_MAX=10 \
|
||||
--out=gtest.vcproj $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc \
|
||||
-I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" -I"$(SRC_PATH_BARE)/third_party/googletest/src"
|
||||
|
||||
@@ -435,6 +436,7 @@ test_libvpx.vcproj: $(LIBVPX_TEST_SRCS)
|
||||
--exe \
|
||||
--target=$(TOOLCHAIN) \
|
||||
--name=test_libvpx \
|
||||
-D_VARIADIC_MAX=10 \
|
||||
--proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \
|
||||
--ver=$(CONFIG_VS_VERSION) \
|
||||
$(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
|
||||
|
||||
@@ -25,6 +25,15 @@ using libvpx_test::ACMRandom;
|
||||
|
||||
namespace {
|
||||
|
||||
#ifdef _MSC_VER
|
||||
static int round(double x) {
|
||||
if(x < 0)
|
||||
return (int)ceil(x - 0.5);
|
||||
else
|
||||
return (int)floor(x + 0.5);
|
||||
}
|
||||
#endif
|
||||
|
||||
void reference_dct_1d(double input[8], double output[8]) {
|
||||
const double kPi = 3.141592653589793238462643383279502884;
|
||||
const double kInvSqrt2 = 0.707106781186547524400844362104;
|
||||
|
||||
@@ -97,6 +97,29 @@ extern void vp9_filter_block1d8_v6_only_sse2(unsigned char *src_ptr,
|
||||
|
||||
extern prototype_subpixel_predict(vp9_bilinear_predict8x8_mmx);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// the mmx function that does the bilinear filtering and var calculation //
|
||||
// int one pass //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
DECLARE_ALIGNED(16, const short, vp9_bilinear_filters_mmx[16][8]) = {
|
||||
{ 128, 128, 128, 128, 0, 0, 0, 0 },
|
||||
{ 120, 120, 120, 120, 8, 8, 8, 8 },
|
||||
{ 112, 112, 112, 112, 16, 16, 16, 16 },
|
||||
{ 104, 104, 104, 104, 24, 24, 24, 24 },
|
||||
{ 96, 96, 96, 96, 32, 32, 32, 32 },
|
||||
{ 88, 88, 88, 88, 40, 40, 40, 40 },
|
||||
{ 80, 80, 80, 80, 48, 48, 48, 48 },
|
||||
{ 72, 72, 72, 72, 56, 56, 56, 56 },
|
||||
{ 64, 64, 64, 64, 64, 64, 64, 64 },
|
||||
{ 56, 56, 56, 56, 72, 72, 72, 72 },
|
||||
{ 48, 48, 48, 48, 80, 80, 80, 80 },
|
||||
{ 40, 40, 40, 40, 88, 88, 88, 88 },
|
||||
{ 32, 32, 32, 32, 96, 96, 96, 96 },
|
||||
{ 24, 24, 24, 24, 104, 104, 104, 104 },
|
||||
{ 16, 16, 16, 16, 112, 112, 112, 112 },
|
||||
{ 8, 8, 8, 8, 120, 120, 120, 120 }
|
||||
};
|
||||
|
||||
#if HAVE_MMX
|
||||
void vp9_sixtap_predict4x4_mmx(unsigned char *src_ptr,
|
||||
int src_pixels_per_line,
|
||||
|
||||
@@ -463,7 +463,7 @@ static void update_state(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
if (mb_mode == B_PRED) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
xd->block[i].bmi.as_mode = xd->mode_info_context->bmi[i].as_mode;
|
||||
assert(xd->block[i].bmi.as_mode.first < MB_MODE_COUNT);
|
||||
assert(xd->block[i].bmi.as_mode.first < B_MODE_COUNT);
|
||||
}
|
||||
} else if (mb_mode == I8X8_PRED) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
|
||||
@@ -367,8 +367,6 @@ static void separate_arf_mbs(VP9_COMP *cpi) {
|
||||
CHECK_MEM_ERROR(arf_not_zz,
|
||||
vpx_calloc(cm->mb_rows * cm->mb_cols * sizeof(*arf_not_zz), 1));
|
||||
|
||||
vpx_memset(arf_not_zz, 0, sizeof(arf_not_zz));
|
||||
|
||||
// We are not interested in results beyond the alt ref itself.
|
||||
if (n_frames > cpi->frames_till_gf_update_due)
|
||||
n_frames = cpi->frames_till_gf_update_due;
|
||||
|
||||
@@ -191,31 +191,7 @@ unsigned int vp9_variance8x16_mmx(
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// the mmx function that does the bilinear filtering and var calculation //
|
||||
// int one pass //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
DECLARE_ALIGNED(16, const short, vp9_bilinear_filters_mmx[16][8]) = {
|
||||
{ 128, 128, 128, 128, 0, 0, 0, 0 },
|
||||
{ 120, 120, 120, 120, 8, 8, 8, 8 },
|
||||
{ 112, 112, 112, 112, 16, 16, 16, 16 },
|
||||
{ 104, 104, 104, 104, 24, 24, 24, 24 },
|
||||
{ 96, 96, 96, 96, 32, 32, 32, 32 },
|
||||
{ 88, 88, 88, 88, 40, 40, 40, 40 },
|
||||
{ 80, 80, 80, 80, 48, 48, 48, 48 },
|
||||
{ 72, 72, 72, 72, 56, 56, 56, 56 },
|
||||
{ 64, 64, 64, 64, 64, 64, 64, 64 },
|
||||
{ 56, 56, 56, 56, 72, 72, 72, 72 },
|
||||
{ 48, 48, 48, 48, 80, 80, 80, 80 },
|
||||
{ 40, 40, 40, 40, 88, 88, 88, 88 },
|
||||
{ 32, 32, 32, 32, 96, 96, 96, 96 },
|
||||
{ 24, 24, 24, 24, 104, 104, 104, 104 },
|
||||
{ 16, 16, 16, 16, 112, 112, 112, 112 },
|
||||
{ 8, 8, 8, 8, 120, 120, 120, 120 }
|
||||
};
|
||||
DECLARE_ALIGNED(16, extern const short, vp9_bilinear_filters_mmx[16][8]);
|
||||
|
||||
unsigned int vp9_sub_pixel_variance4x4_mmx
|
||||
(
|
||||
|
||||
@@ -137,7 +137,7 @@ void vp9_half_vert_variance16x_h_sse2
|
||||
unsigned int *sumsquared
|
||||
);
|
||||
|
||||
DECLARE_ALIGNED(16, extern short, vp9_bilinear_filters_mmx[16][8]);
|
||||
DECLARE_ALIGNED(16, extern const short, vp9_bilinear_filters_mmx[16][8]);
|
||||
|
||||
unsigned int vp9_variance4x4_wmt(
|
||||
const unsigned char *src_ptr,
|
||||
|
||||
@@ -82,7 +82,6 @@ VP9_CX_SRCS-yes += encoder/vp9_mbgraph.h
|
||||
|
||||
VP9_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/vp9_mcomp_x86.h
|
||||
VP9_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/vp9_quantize_x86.h
|
||||
VP9_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/vp9_temporal_filter_x86.h
|
||||
VP9_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/vp9_x86_csystemdependent.c
|
||||
VP9_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp9_variance_mmx.c
|
||||
VP9_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp9_variance_impl_mmx.asm
|
||||
|
||||
Reference in New Issue
Block a user