Roll libvpx to fd3078fd8fe7.
Relevant updates:
fd3078fd8fe7: Fix to Valgrind memory issues.
4cf4c94ad166: Fix to rd cost computation for motion vector bias
(issue: http://code.google.com/p/webm/issues/detail?id=486)
4c53bacce4a9: post-proc: deblock filter optimization
(issues: http://code.google.com/p/webm/issues/detail?id=480
http://code.google.com/p/webm/issues/detail?id=479)
Review URL: https://webrtc-codereview.appspot.com/921007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2978 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/DEPS b/DEPS
index c05b225..f67b3a8 100644
--- a/DEPS
+++ b/DEPS
@@ -52,7 +52,7 @@
From("chromium_deps", "src/third_party/libjpeg_turbo"),
"third_party/libvpx/source/libvpx":
- "http://git.chromium.org/webm/libvpx.git@30d8ba541",
+ "http://git.chromium.org/webm/libvpx.git@fd3078fd8",
"third_party/libyuv":
(Var("googlecode_url") % "libyuv") + "/trunk@426",
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon/vpx_rtcd.h
index ae86195..793ab57c 100644
--- a/third_party/libvpx/source/config/linux/arm-neon/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_rtcd.h
@@ -129,8 +129,8 @@
void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-#define vp8_post_proc_down_and_across vp8_post_proc_down_and_across_c
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
#define vp8_plane_add_noise vp8_plane_add_noise_c
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_rtcd.h b/third_party/libvpx/source/config/linux/arm/vpx_rtcd.h
index e5a262d..add60c9 100644
--- a/third_party/libvpx/source/config/linux/arm/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/linux/arm/vpx_rtcd.h
@@ -92,8 +92,8 @@
void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-#define vp8_post_proc_down_and_across vp8_post_proc_down_and_across_c
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
#define vp8_plane_add_noise vp8_plane_add_noise_c
diff --git a/third_party/libvpx/source/config/linux/ia32/vpx_rtcd.h b/third_party/libvpx/source/config/linux/ia32/vpx_rtcd.h
index 6630af4..2b0ebcc 100644
--- a/third_party/libvpx/source/config/linux/ia32/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/linux/ia32/vpx_rtcd.h
@@ -129,10 +129,9 @@
void vp8_mbpost_proc_across_ip_xmm(unsigned char *dst, int pitch, int rows, int cols,int flimit);
RTCD_EXTERN void (*vp8_mbpost_proc_across_ip)(unsigned char *dst, int pitch, int rows, int cols,int flimit);
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_mmx(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_xmm(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-RTCD_EXTERN void (*vp8_post_proc_down_and_across)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+void vp8_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+RTCD_EXTERN void (*vp8_post_proc_down_and_across_mb_row)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
void vp8_plane_add_noise_mmx(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
@@ -638,9 +637,8 @@
vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_c;
if (flags & HAS_SSE2) vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_xmm;
- vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_c;
- if (flags & HAS_MMX) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_mmx;
- if (flags & HAS_SSE2) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_xmm;
+ vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_c;
+ if (flags & HAS_SSE2) vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_sse2;
vp8_plane_add_noise = vp8_plane_add_noise_c;
if (flags & HAS_MMX) vp8_plane_add_noise = vp8_plane_add_noise_mmx;
diff --git a/third_party/libvpx/source/config/linux/x64/vpx_rtcd.h b/third_party/libvpx/source/config/linux/x64/vpx_rtcd.h
index 9e24e14..97c54ac 100644
--- a/third_party/libvpx/source/config/linux/x64/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/linux/x64/vpx_rtcd.h
@@ -129,10 +129,9 @@
void vp8_mbpost_proc_across_ip_xmm(unsigned char *dst, int pitch, int rows, int cols,int flimit);
#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_xmm
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_mmx(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_xmm(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-#define vp8_post_proc_down_and_across vp8_post_proc_down_and_across_xmm
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+void vp8_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_sse2
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
void vp8_plane_add_noise_mmx(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
diff --git a/third_party/libvpx/source/config/mac/ia32/vpx_rtcd.h b/third_party/libvpx/source/config/mac/ia32/vpx_rtcd.h
index 6630af4..2b0ebcc 100644
--- a/third_party/libvpx/source/config/mac/ia32/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/mac/ia32/vpx_rtcd.h
@@ -129,10 +129,9 @@
void vp8_mbpost_proc_across_ip_xmm(unsigned char *dst, int pitch, int rows, int cols,int flimit);
RTCD_EXTERN void (*vp8_mbpost_proc_across_ip)(unsigned char *dst, int pitch, int rows, int cols,int flimit);
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_mmx(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_xmm(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-RTCD_EXTERN void (*vp8_post_proc_down_and_across)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+void vp8_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+RTCD_EXTERN void (*vp8_post_proc_down_and_across_mb_row)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
void vp8_plane_add_noise_mmx(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
@@ -638,9 +637,8 @@
vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_c;
if (flags & HAS_SSE2) vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_xmm;
- vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_c;
- if (flags & HAS_MMX) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_mmx;
- if (flags & HAS_SSE2) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_xmm;
+ vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_c;
+ if (flags & HAS_SSE2) vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_sse2;
vp8_plane_add_noise = vp8_plane_add_noise_c;
if (flags & HAS_MMX) vp8_plane_add_noise = vp8_plane_add_noise_mmx;
diff --git a/third_party/libvpx/source/config/win/ia32/vpx_rtcd.h b/third_party/libvpx/source/config/win/ia32/vpx_rtcd.h
index 6630af4..2b0ebcc 100755
--- a/third_party/libvpx/source/config/win/ia32/vpx_rtcd.h
+++ b/third_party/libvpx/source/config/win/ia32/vpx_rtcd.h
@@ -129,10 +129,9 @@
void vp8_mbpost_proc_across_ip_xmm(unsigned char *dst, int pitch, int rows, int cols,int flimit);
RTCD_EXTERN void (*vp8_mbpost_proc_across_ip)(unsigned char *dst, int pitch, int rows, int cols,int flimit);
-void vp8_post_proc_down_and_across_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_mmx(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-void vp8_post_proc_down_and_across_xmm(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
-RTCD_EXTERN void (*vp8_post_proc_down_and_across)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int rows, int cols, int flimit);
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+void vp8_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+RTCD_EXTERN void (*vp8_post_proc_down_and_across_mb_row)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
void vp8_plane_add_noise_mmx(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
@@ -638,9 +637,8 @@
vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_c;
if (flags & HAS_SSE2) vp8_mbpost_proc_across_ip = vp8_mbpost_proc_across_ip_xmm;
- vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_c;
- if (flags & HAS_MMX) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_mmx;
- if (flags & HAS_SSE2) vp8_post_proc_down_and_across = vp8_post_proc_down_and_across_xmm;
+ vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_c;
+ if (flags & HAS_SSE2) vp8_post_proc_down_and_across_mb_row = vp8_post_proc_down_and_across_mb_row_sse2;
vp8_plane_add_noise = vp8_plane_add_noise_c;
if (flags & HAS_MMX) vp8_plane_add_noise = vp8_plane_add_noise_mmx;
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
index a7a2b3e..0d7a06c 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
@@ -564,7 +564,7 @@
SetCodecParameters(&process_settings, 0.0f, -1, 1, true, true, true, false);
// Metrics for expected quality.
QualityMetrics quality_metrics;
- SetQualityMetrics(&quality_metrics, 37.0, 33.0, 0.90, 0.90);
+ SetQualityMetrics(&quality_metrics, 36.95, 33.0, 0.90, 0.90);
// Metrics for rate control.
RateControlMetrics rc_metrics[1];
SetRateControlMetrics(rc_metrics, 0, 0, 40, 20, 10, 15, 0);