Merge remote-tracking branch 'origin/vp9-preview' into experimental

This commit is contained in:
John Koleszar
2012-12-05 08:41:35 -08:00
9 changed files with 44 additions and 37 deletions

View File

@@ -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. REM be found in the AUTHORS file in the root of the source tree.
echo on echo on
cl /I "./" /I "%1" /nologo /c "%1/vp9/common/asm_com_offsets.c" cl /I "./" /I "%1" /nologo /c "%1/vp9/common/vp9_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/decoder/vp9_asm_dec_offsets.c"
cl /I "./" /I "%1" /nologo /c "%1/vp9/encoder/asm_enc_offsets.c" cl /I "./" /I "%1" /nologo /c "%1/vp9/encoder/vp9_asm_enc_offsets.c"
obj_int_extract.exe rvds "asm_com_offsets.obj" > "vp9_asm_com_offsets.asm" obj_int_extract.exe rvds "vp9_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 "vp9_asm_dec_offsets.obj" > "vp9_asm_dec_offsets.asm"
obj_int_extract.exe rvds "asm_enc_offsets.obj" > "vp9_asm_enc_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/common/asm_com_offsets.c"
cl /I "./" /I "%1" /nologo /c "%1/vp8/decoder/asm_dec_offsets.c" cl /I "./" /I "%1" /nologo /c "%1/vp8/decoder/asm_dec_offsets.c"

View File

@@ -424,6 +424,7 @@ gtest.vcproj: $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc
--proj-guid=EC00E1EC-AF68-4D92-A255-181690D1C9B1 \ --proj-guid=EC00E1EC-AF68-4D92-A255-181690D1C9B1 \
--ver=$(CONFIG_VS_VERSION) \ --ver=$(CONFIG_VS_VERSION) \
--src-path-bare="$(SRC_PATH_BARE)" \ --src-path-bare="$(SRC_PATH_BARE)" \
-D_VARIADIC_MAX=10 \
--out=gtest.vcproj $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc \ --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" -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 \ --exe \
--target=$(TOOLCHAIN) \ --target=$(TOOLCHAIN) \
--name=test_libvpx \ --name=test_libvpx \
-D_VARIADIC_MAX=10 \
--proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \
--ver=$(CONFIG_VS_VERSION) \ --ver=$(CONFIG_VS_VERSION) \
$(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \

View File

@@ -25,6 +25,15 @@ using libvpx_test::ACMRandom;
namespace { 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]) { void reference_dct_1d(double input[8], double output[8]) {
const double kPi = 3.141592653589793238462643383279502884; const double kPi = 3.141592653589793238462643383279502884;
const double kInvSqrt2 = 0.707106781186547524400844362104; const double kInvSqrt2 = 0.707106781186547524400844362104;

View File

@@ -97,6 +97,29 @@ extern void vp9_filter_block1d8_v6_only_sse2(unsigned char *src_ptr,
extern prototype_subpixel_predict(vp9_bilinear_predict8x8_mmx); 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 #if HAVE_MMX
void vp9_sixtap_predict4x4_mmx(unsigned char *src_ptr, void vp9_sixtap_predict4x4_mmx(unsigned char *src_ptr,
int src_pixels_per_line, int src_pixels_per_line,

View File

@@ -463,7 +463,7 @@ static void update_state(VP9_COMP *cpi, MACROBLOCK *x,
if (mb_mode == B_PRED) { if (mb_mode == B_PRED) {
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
xd->block[i].bmi.as_mode = xd->mode_info_context->bmi[i].as_mode; 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) { } else if (mb_mode == I8X8_PRED) {
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {

View File

@@ -367,8 +367,6 @@ static void separate_arf_mbs(VP9_COMP *cpi) {
CHECK_MEM_ERROR(arf_not_zz, CHECK_MEM_ERROR(arf_not_zz,
vpx_calloc(cm->mb_rows * cm->mb_cols * sizeof(*arf_not_zz), 1)); 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. // We are not interested in results beyond the alt ref itself.
if (n_frames > cpi->frames_till_gf_update_due) if (n_frames > cpi->frames_till_gf_update_due)
n_frames = cpi->frames_till_gf_update_due; n_frames = cpi->frames_till_gf_update_due;

View File

@@ -191,31 +191,7 @@ unsigned int vp9_variance8x16_mmx(
} }
DECLARE_ALIGNED(16, extern const short, vp9_bilinear_filters_mmx[16][8]);
///////////////////////////////////////////////////////////////////////////
// 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 }
};
unsigned int vp9_sub_pixel_variance4x4_mmx unsigned int vp9_sub_pixel_variance4x4_mmx
( (

View File

@@ -137,7 +137,7 @@ void vp9_half_vert_variance16x_h_sse2
unsigned int *sumsquared 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( unsigned int vp9_variance4x4_wmt(
const unsigned char *src_ptr, const unsigned char *src_ptr,

View File

@@ -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_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_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-$(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_mmx.c
VP9_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp9_variance_impl_mmx.asm VP9_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp9_variance_impl_mmx.asm