ref: b24e377008f3f6c021ca069827bfd519152ddcec
parent: f3adb459147de2ed21a3a93ebd78a4c41a4b843f
parent: a3f09c03b89ddd25e1aa7da4b2bd30a805f9d740
author: Johann Koenig <johannkoenig@google.com>
date: Thu Mar 15 17:16:43 EDT 2018
Merge changes I5501d0d6,I8c863ced,I19895d06,Ifa39353d,I09bd209b * changes: vp9_resize.c: assert vp9_highbd_resize_plane conditions vp9_loopfilter.c: zero lfl_uv vp8 rdopt.c: zero rd.[rate_uv|distortion_uv] vp8 mfqe: zero map[] temporal svc: zero layer_target_bitrate
--- a/examples/vpx_temporal_svc_encoder.c
+++ b/examples/vpx_temporal_svc_encoder.c
@@ -608,6 +608,8 @@
double sum_bitrate2 = 0.0;
double framerate = 30.0;
+ zero(rc.layer_target_bitrate);
+
exec_name = argv[0];
// Check usage and arguments.
if (argc < min_args) {
--- a/vp8/common/mfqe.c
+++ b/vp8/common/mfqe.c
@@ -18,6 +18,7 @@
#include "./vp8_rtcd.h"
#include "./vpx_dsp_rtcd.h"
+#include "vp8/common/common.h"
#include "vp8/common/postproc.h"
#include "vpx_dsp/variance.h"
#include "vpx_mem/vpx_mem.h"
@@ -211,6 +212,7 @@
{ 0, 1, 4, 5 }, { 2, 3, 6, 7 }, { 8, 9, 12, 13 }, { 10, 11, 14, 15 }
};
int i, j;
+ vp8_zero(*map);
for (i = 0; i < 4; ++i) {
map[i] = 1;
for (j = 0; j < 4 && map[j]; ++j) {
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -1779,6 +1779,10 @@
best_rd_sse = UINT_MAX;
#endif
+ // _uv variables are not set consistantly before calling update_best_mode.
+ rd.rate_uv = 0;
+ rd.distortion_uv = 0;
+
mode_mv = mode_mv_sb[sign_bias];
best_ref_mv.as_int = 0;
best_mode.rd = INT_MAX;
--- a/vp9/common/vp9_loopfilter.c
+++ b/vp9/common/vp9_loopfilter.c
@@ -1330,6 +1330,7 @@
uint16_t mask_4x4 = lfm->left_uv[TX_4X4];
uint16_t mask_4x4_int = lfm->int_4x4_uv;
+ vp9_zero(lfl_uv);
assert(plane->subsampling_x == 1 && plane->subsampling_y == 1);
// Vertical pass: do 2 rows at one time
--- a/vp9/encoder/vp9_resize.c
+++ b/vp9/encoder/vp9_resize.c
@@ -720,6 +720,10 @@
uint16_t *arrbuf2 = (uint16_t *)malloc(sizeof(uint16_t) * height2);
if (intbuf == NULL || tmpbuf == NULL || arrbuf == NULL || arrbuf2 == NULL)
goto Error;
+ assert(width > 0);
+ assert(height > 0);
+ assert(width2 > 0);
+ assert(height2 > 0);
for (i = 0; i < height; ++i) {
highbd_resize_multistep(CONVERT_TO_SHORTPTR(input + in_stride * i), width,
intbuf + width2 * i, width2, tmpbuf, bd);