summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs.mk16
-rw-r--r--test/sad_test.cc68
-rw-r--r--test/sixtap_predict_test.cc46
-rw-r--r--vp8/common/onyxc_int.h1
-rw-r--r--vp8/decoder/decodframe.c7
-rw-r--r--vp8/decoder/onyxd_if.c33
-rw-r--r--vp8/decoder/onyxd_int.h9
-rw-r--r--vp8/encoder/onyx_if.c4
8 files changed, 85 insertions, 99 deletions
diff --git a/libs.mk b/libs.mk
index b63a8f64a..373c1cd44 100644
--- a/libs.mk
+++ b/libs.mk
@@ -147,7 +147,7 @@ ifeq ($(CONFIG_MSVS),yes)
obj_int_extract.vcproj: $(SRC_PATH_BARE)/build/make/obj_int_extract.c
@cp $(SRC_PATH_BARE)/build/x86-msvs/obj_int_extract.bat .
@echo " [CREATE] $@"
- $(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
+ $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
--exe \
--target=$(TOOLCHAIN) \
--name=obj_int_extract \
@@ -163,14 +163,14 @@ PROJECTS-$(BUILD_LIBVPX) += obj_int_extract.bat
vpx.def: $(call enabled,CODEC_EXPORTS)
@echo " [CREATE] $@"
- $(SRC_PATH_BARE)/build/make/gen_msvs_def.sh\
+ $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_def.sh\
--name=vpx\
--out=$@ $^
CLEAN-OBJS += vpx.def
vpx.vcproj: $(CODEC_SRCS) vpx.def
@echo " [CREATE] $@"
- $(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
+ $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
--lib \
--target=$(TOOLCHAIN) \
$(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
@@ -242,8 +242,8 @@ vpx.pc: config.mk libs.mk
$(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)' >> $@
$(qexec)echo 'Requires:' >> $@
$(qexec)echo 'Conflicts:' >> $@
- $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@
- $(qexec)echo 'Libs.private: -lpthread' >> $@
+ $(qexec)echo 'Libs: -L$${libdir} -lvpx' >> $@
+ $(qexec)echo 'Libs.private: -lm -lpthread' >> $@
$(qexec)echo 'Cflags: -I$${includedir}' >> $@
INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
@@ -361,7 +361,6 @@ LIBVPX_TEST_BINS=./test_libvpx
LIBVPX_TEST_DATA=$(addprefix $(LIBVPX_TEST_DATA_PATH)/,\
$(call enabled,LIBVPX_TEST_DATA))
libvpx_test_data_url=http://downloads.webmproject.org/test_data/libvpx/$(1)
-BINS-yes += $(LIBVPX_TEST_BINS)
$(LIBVPX_TEST_DATA):
@echo " [DOWNLOAD] $@"
@@ -386,7 +385,7 @@ ifeq ($(CONFIG_MSVS),yes)
gtest.vcproj: $(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc
@echo " [CREATE] $@"
- $(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
+ $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
--lib \
--target=$(TOOLCHAIN) \
$(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
@@ -401,7 +400,7 @@ PROJECTS-$(CONFIG_MSVS) += gtest.vcproj
test_libvpx.vcproj: $(LIBVPX_TEST_SRCS)
@echo " [CREATE] $@"
- $(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
+ $(qexec)$(SRC_PATH_BARE)/build/make/gen_msvs_proj.sh \
--exe \
--target=$(TOOLCHAIN) \
--name=test_libvpx \
@@ -432,6 +431,7 @@ LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS)))
$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src
$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
OBJS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_OBJS)
+BINS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_BINS)
# Install test sources only if codec source is included
INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(patsubst $(SRC_PATH_BARE)/%,%,\
diff --git a/test/sad_test.cc b/test/sad_test.cc
index 2ad78f7eb..3e819ea9b 100644
--- a/test/sad_test.cc
+++ b/test/sad_test.cc
@@ -157,48 +157,72 @@ TEST_P(SADTest, MaxSAD) {
CheckSad(128);
}
+using std::tr1::make_tuple;
+
+const sad_m_by_n_fn_t sad_16x16_c = vp8_sad16x16_c;
+const sad_m_by_n_fn_t sad_8x16_c = vp8_sad8x16_c;
+const sad_m_by_n_fn_t sad_16x8_c = vp8_sad16x8_c;
+const sad_m_by_n_fn_t sad_8x8_c = vp8_sad8x8_c;
+const sad_m_by_n_fn_t sad_4x4_c = vp8_sad4x4_c;
INSTANTIATE_TEST_CASE_P(C, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_c),
- std::tr1::make_tuple(8, 16, vp8_sad8x16_c),
- std::tr1::make_tuple(16, 8, vp8_sad16x8_c),
- std::tr1::make_tuple(8, 8, vp8_sad8x8_c),
- std::tr1::make_tuple(4, 4, vp8_sad4x4_c)));
+ make_tuple(16, 16, sad_16x16_c),
+ make_tuple(8, 16, sad_8x16_c),
+ make_tuple(16, 8, sad_16x8_c),
+ make_tuple(8, 8, sad_8x8_c),
+ make_tuple(4, 4, sad_4x4_c)));
// ARM tests
#if HAVE_MEDIA
+const sad_m_by_n_fn_t sad_16x16_armv6 = vp8_sad16x16_armv6;
INSTANTIATE_TEST_CASE_P(MEDIA, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_armv6)));
+ make_tuple(16, 16, sad_16x16_armv6)));
#endif
#if HAVE_NEON
+const sad_m_by_n_fn_t sad_16x16_neon = vp8_sad16x16_neon;
+const sad_m_by_n_fn_t sad_8x16_neon = vp8_sad8x16_neon;
+const sad_m_by_n_fn_t sad_16x8_neon = vp8_sad16x8_neon;
+const sad_m_by_n_fn_t sad_8x8_neon = vp8_sad8x8_neon;
+const sad_m_by_n_fn_t sad_4x4_neon = vp8_sad4x4_neon;
INSTANTIATE_TEST_CASE_P(NEON, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_neon),
- std::tr1::make_tuple(8, 16, vp8_sad8x16_neon),
- std::tr1::make_tuple(16, 8, vp8_sad16x8_neon),
- std::tr1::make_tuple(8, 8, vp8_sad8x8_neon),
- std::tr1::make_tuple(4, 4, vp8_sad4x4_neon)));
+ make_tuple(16, 16, sad_16x16_neon),
+ make_tuple(8, 16, sad_8x16_neon),
+ make_tuple(16, 8, sad_16x8_neon),
+ make_tuple(8, 8, sad_8x8_neon),
+ make_tuple(4, 4, sad_4x4_neon)));
#endif
// X86 tests
#if HAVE_MMX
+const sad_m_by_n_fn_t sad_16x16_mmx = vp8_sad16x16_mmx;
+const sad_m_by_n_fn_t sad_8x16_mmx = vp8_sad8x16_mmx;
+const sad_m_by_n_fn_t sad_16x8_mmx = vp8_sad16x8_mmx;
+const sad_m_by_n_fn_t sad_8x8_mmx = vp8_sad8x8_mmx;
+const sad_m_by_n_fn_t sad_4x4_mmx = vp8_sad4x4_mmx;
INSTANTIATE_TEST_CASE_P(MMX, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_mmx),
- std::tr1::make_tuple(8, 16, vp8_sad8x16_mmx),
- std::tr1::make_tuple(16, 8, vp8_sad16x8_mmx),
- std::tr1::make_tuple(8, 8, vp8_sad8x8_mmx),
- std::tr1::make_tuple(4, 4, vp8_sad4x4_mmx)));
+ make_tuple(16, 16, sad_16x16_mmx),
+ make_tuple(8, 16, sad_8x16_mmx),
+ make_tuple(16, 8, sad_16x8_mmx),
+ make_tuple(8, 8, sad_8x8_mmx),
+ make_tuple(4, 4, sad_4x4_mmx)));
#endif
#if HAVE_SSE2
+const sad_m_by_n_fn_t sad_16x16_wmt = vp8_sad16x16_wmt;
+const sad_m_by_n_fn_t sad_8x16_wmt = vp8_sad8x16_wmt;
+const sad_m_by_n_fn_t sad_16x8_wmt = vp8_sad16x8_wmt;
+const sad_m_by_n_fn_t sad_8x8_wmt = vp8_sad8x8_wmt;
+const sad_m_by_n_fn_t sad_4x4_wmt = vp8_sad4x4_wmt;
INSTANTIATE_TEST_CASE_P(SSE2, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_wmt),
- std::tr1::make_tuple(8, 16, vp8_sad8x16_wmt),
- std::tr1::make_tuple(16, 8, vp8_sad16x8_wmt),
- std::tr1::make_tuple(8, 8, vp8_sad8x8_wmt),
- std::tr1::make_tuple(4, 4, vp8_sad4x4_wmt)));
+ make_tuple(16, 16, sad_16x16_wmt),
+ make_tuple(8, 16, sad_8x16_wmt),
+ make_tuple(16, 8, sad_16x8_wmt),
+ make_tuple(8, 8, sad_8x8_wmt),
+ make_tuple(4, 4, sad_4x4_wmt)));
#endif
#if HAVE_SSSE3
+const sad_m_by_n_fn_t sad_16x16_sse3 = vp8_sad16x16_sse3;
INSTANTIATE_TEST_CASE_P(SSE3, SADTest, ::testing::Values(
- std::tr1::make_tuple(16, 16, vp8_sad16x16_sse3)));
+ make_tuple(16, 16, sad_16x16_sse3)));
#endif
} // namespace
diff --git a/test/sixtap_predict_test.cc b/test/sixtap_predict_test.cc
index f29414e23..84b89881f 100644
--- a/test/sixtap_predict_test.cc
+++ b/test/sixtap_predict_test.cc
@@ -156,33 +156,49 @@ TEST_P(SixtapPredictTest, TestWithRandomData) {
}
using std::tr1::make_tuple;
+
+const sixtap_predict_fn_t sixtap_16x16_c = vp8_sixtap_predict16x16_c;
+const sixtap_predict_fn_t sixtap_8x8_c = vp8_sixtap_predict8x8_c;
+const sixtap_predict_fn_t sixtap_8x4_c = vp8_sixtap_predict8x4_c;
+const sixtap_predict_fn_t sixtap_4x4_c = vp8_sixtap_predict4x4_c;
INSTANTIATE_TEST_CASE_P(
C, SixtapPredictTest, ::testing::Values(
- make_tuple(16, 16, vp8_sixtap_predict16x16_c),
- make_tuple(8, 8, vp8_sixtap_predict8x8_c),
- make_tuple(8, 4, vp8_sixtap_predict8x4_c),
- make_tuple(4, 4, vp8_sixtap_predict4x4_c)));
+ make_tuple(16, 16, sixtap_16x16_c),
+ make_tuple(8, 8, sixtap_8x8_c),
+ make_tuple(8, 4, sixtap_8x4_c),
+ make_tuple(4, 4, sixtap_4x4_c)));
#if HAVE_MMX
+const sixtap_predict_fn_t sixtap_16x16_mmx = vp8_sixtap_predict16x16_mmx;
+const sixtap_predict_fn_t sixtap_8x8_mmx = vp8_sixtap_predict8x8_mmx;
+const sixtap_predict_fn_t sixtap_8x4_mmx = vp8_sixtap_predict8x4_mmx;
+const sixtap_predict_fn_t sixtap_4x4_mmx = vp8_sixtap_predict4x4_mmx;
INSTANTIATE_TEST_CASE_P(
MMX, SixtapPredictTest, ::testing::Values(
- make_tuple(16, 16, vp8_sixtap_predict16x16_mmx),
- make_tuple(8, 8, vp8_sixtap_predict8x8_mmx),
- make_tuple(8, 4, vp8_sixtap_predict8x4_mmx),
- make_tuple(4, 4, vp8_sixtap_predict4x4_mmx)));
+ make_tuple(16, 16, sixtap_16x16_mmx),
+ make_tuple(8, 8, sixtap_8x8_mmx),
+ make_tuple(8, 4, sixtap_8x4_mmx),
+ make_tuple(4, 4, sixtap_4x4_mmx)));
#endif
#if HAVE_SSE2
+const sixtap_predict_fn_t sixtap_16x16_sse2 = vp8_sixtap_predict16x16_sse2;
+const sixtap_predict_fn_t sixtap_8x8_sse2 = vp8_sixtap_predict8x8_sse2;
+const sixtap_predict_fn_t sixtap_8x4_sse2 = vp8_sixtap_predict8x4_sse2;
INSTANTIATE_TEST_CASE_P(
SSE2, SixtapPredictTest, ::testing::Values(
- make_tuple(16, 16, vp8_sixtap_predict16x16_sse2),
- make_tuple(8, 8, vp8_sixtap_predict8x8_sse2),
- make_tuple(8, 4, vp8_sixtap_predict8x4_sse2)));
+ make_tuple(16, 16, sixtap_16x16_sse2),
+ make_tuple(8, 8, sixtap_8x8_sse2),
+ make_tuple(8, 4, sixtap_8x4_sse2)));
#endif
#if HAVE_SSSE3
+const sixtap_predict_fn_t sixtap_16x16_ssse3 = vp8_sixtap_predict16x16_ssse3;
+const sixtap_predict_fn_t sixtap_8x8_ssse3 = vp8_sixtap_predict8x8_ssse3;
+const sixtap_predict_fn_t sixtap_8x4_ssse3 = vp8_sixtap_predict8x4_ssse3;
+const sixtap_predict_fn_t sixtap_4x4_ssse3 = vp8_sixtap_predict4x4_ssse3;
INSTANTIATE_TEST_CASE_P(
SSSE3, SixtapPredictTest, ::testing::Values(
- make_tuple(16, 16, vp8_sixtap_predict16x16_ssse3),
- make_tuple(8, 8, vp8_sixtap_predict8x8_ssse3),
- make_tuple(8, 4, vp8_sixtap_predict8x4_ssse3),
- make_tuple(4, 4, vp8_sixtap_predict4x4_ssse3)));
+ make_tuple(16, 16, sixtap_16x16_ssse3),
+ make_tuple(8, 8, sixtap_8x8_ssse3),
+ make_tuple(8, 4, sixtap_8x4_ssse3),
+ make_tuple(4, 4, sixtap_4x4_ssse3)));
#endif
} // namespace
diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h
index d7d02c2cf..c44ba8d23 100644
--- a/vp8/common/onyxc_int.h
+++ b/vp8/common/onyxc_int.h
@@ -108,7 +108,6 @@ typedef struct VP8Common
int full_pixel;
int base_qindex;
- int last_kf_gf_q; /* Q used on the last GF or KF */
int y1dc_delta_q;
int y2dc_delta_q;
diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c
index ed2d34574..20bffdbca 100644
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -1217,13 +1217,6 @@ int vp8_decode_frame(VP8D_COMP *pbi)
/* vpx_log("Decoder: Frame Decoded, Size Roughly:%d bytes \n",bc->pos+pbi->bc2.pos); */
- /* If this was a kf or Gf note the Q used */
- if ((pc->frame_type == KEY_FRAME) ||
- pc->refresh_golden_frame || pc->refresh_alt_ref_frame)
- {
- pc->last_kf_gf_q = pc->base_qindex;
- }
-
if (pc->refresh_entropy_probs == 0)
{
vpx_memcpy(&pc->fc, &pc->lfc, sizeof(pc->fc));
diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c
index 6cb7be6bf..205c150bd 100644
--- a/vp8/decoder/onyxd_if.c
+++ b/vp8/decoder/onyxd_if.c
@@ -502,39 +502,6 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi
pbi->last_time_stamp = time_stamp;
pbi->num_fragments = 0;
-#if 0
- {
- int i;
- int64_t earliest_time = pbi->dr[0].time_stamp;
- int64_t latest_time = pbi->dr[0].time_stamp;
- int64_t time_diff = 0;
- int bytes = 0;
-
- pbi->dr[pbi->common.current_video_frame&0xf].size = pbi->bc.pos + pbi->bc2.pos + 4;;
- pbi->dr[pbi->common.current_video_frame&0xf].time_stamp = time_stamp;
-
- for (i = 0; i < 16; i++)
- {
-
- bytes += pbi->dr[i].size;
-
- if (pbi->dr[i].time_stamp < earliest_time)
- earliest_time = pbi->dr[i].time_stamp;
-
- if (pbi->dr[i].time_stamp > latest_time)
- latest_time = pbi->dr[i].time_stamp;
- }
-
- time_diff = latest_time - earliest_time;
-
- if (time_diff > 0)
- {
- pbi->common.bitrate = 80000.00 * bytes / time_diff ;
- pbi->common.framerate = 160000000.00 / time_diff ;
- }
-
- }
-#endif
#if HAVE_NEON
#if CONFIG_RUNTIME_CPU_DETECT
diff --git a/vp8/decoder/onyxd_int.h b/vp8/decoder/onyxd_int.h
index 8a5b8d5bb..240f5f727 100644
--- a/vp8/decoder/onyxd_int.h
+++ b/vp8/decoder/onyxd_int.h
@@ -33,13 +33,6 @@ typedef struct
MACROBLOCKD mbd;
} MB_ROW_DEC;
-typedef struct
-{
- int64_t time_stamp;
- int size;
-} DATARATE;
-
-
typedef struct VP8D_COMP
{
DECLARE_ALIGNED(16, MACROBLOCKD, mb);
@@ -88,8 +81,6 @@ typedef struct VP8D_COMP
int64_t last_time_stamp;
int ready_for_new_data;
- DATARATE dr[16];
-
vp8_prob prob_intra;
vp8_prob prob_last;
vp8_prob prob_gf;
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index c371cdf58..6a6959095 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -4637,10 +4637,6 @@ static void encode_frame_to_data_rate
#endif
- /* If this was a kf or Gf note the Q */
- if ((cm->frame_type == KEY_FRAME) || cm->refresh_golden_frame || cm->refresh_alt_ref_frame)
- cm->last_kf_gf_q = cm->base_qindex;
-
if (cm->refresh_golden_frame == 1)
cm->frame_flags = cm->frame_flags | FRAMEFLAGS_GOLDEN;
else