diff --git a/DEPS b/DEPS index da37a8ca1..99d038071 100644 --- a/DEPS +++ b/DEPS @@ -52,7 +52,7 @@ deps = { 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@4cf4c94ad", "third_party/libyuv": (Var("googlecode_url") % "libyuv") + "/trunk@426", diff --git a/src/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc b/src/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc index a7a2b3e70..0d7a06c1c 100644 --- a/src/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc +++ b/src/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc @@ -564,7 +564,7 @@ TEST_F(VideoProcessorIntegrationTest, ProcessZeroPacketLoss) { 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); 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 ae861952f..793ab57c6 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_down_c(unsigned char *dst, int pitch, int rows, int cols,in 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 e5a262d03..add60c9ec 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_down_c(unsigned char *dst, int pitch, int rows, int cols,in 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 6630af4b6..2b0ebcc8f 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_c(unsigned char *dst, int pitch, int rows, int co 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 @@ static void setup_rtcd_internal(void) 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 9e24e1424..97c54ac3c 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_c(unsigned char *dst, int pitch, int rows, int co 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 6630af4b6..2b0ebcc8f 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_c(unsigned char *dst, int pitch, int rows, int co 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 @@ static void setup_rtcd_internal(void) 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 6630af4b6..2b0ebcc8f 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_c(unsigned char *dst, int pitch, int rows, int co 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 @@ static void setup_rtcd_internal(void) 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;