avoids potential OOM when allocating 3 buffers for 16383x16383; 3840 is
used as a replacement
this test was missed in:
215bddf32 vpx_scale_test: reduce max size for 32-bit targets
Change-Id: I515adf5999c6ef1724394ccd62d677134bd35e6d
If a given spatial layer decides to drop, due to the
buffer/overshoot conditions for that layer, then drop
that current spatial layer and all spatial layers above.
In the current implementation the svc frame counter
(and hence the pattern for the non-flexible SVC case)
are updated on frame drops.
Also add last spatial layer encoded to the pkt.
This is useful for RTC applications that enable
frame dropping for SVC.
Update to the SVC datarate tests:
enabled frame dropper on all SVC datarate tests, and
made a fix to properly set the temporal_layer_id, which
works now even on frame drops.
Change-Id: If828c193f3cb6b1839803fd52fe9fbbda5b5a039
This reverts commit 13d0955b25.
Reason for revert:
this should be investigated further to ensure the memset is really
necessary outside of the static analysis pass.
Original change's description:
> vp9_loopfilter.c: zero lfl_uv
>
> The initialization depends on cm and mi_row which static
> analysis does not approve of.
>
> Clears a static analysis warning:
> warning: The right operand of '+' is a garbage value
> const loop_filter_thresh *lfi = lfthr + *lfl;
>
> Change-Id: I8c863ced2b1e9a7e10103b7281098f20941a6ca2
TBR=johannkoenig@google.com,marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: Icadb6438fbcddba747622f06f2eadebdb333edf6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Fix a bug when middle and top spatial layer are skip encoded
(disabled) and then re-enabled again, during the sequence.
Issue is that pending_frame_count in the packing may
be incremented on middle layer, even though that layer is skipped
(not encoded and hence zero size). Fix is to add size check.
Modified existing unitest to reproduce the issue.
Change-Id: I86d806a112d468e06b04fbf7c46ae07db9e0ad93
The initialization depends on cm and mi_row which static
analysis does not approve of.
Clears a static analysis warning:
warning: The right operand of '+' is a garbage value
const loop_filter_thresh *lfi = lfthr + *lfl;
Change-Id: I8c863ced2b1e9a7e10103b7281098f20941a6ca2
These values are not consistently set before calling update_best_mode.
In vp9_rdopt.c they are individual values instead of a struct and are
zero'd at declaration.
Clears a static analysis warning:
warning: The right operand of '-' is a garbage value
RDCOST(x->rdmult, x->rddiv, (rd->rate2 - rd->rate_uv - other_cost),
warning: The right operand of '-' is a garbage value
(rd->distortion2 - rd->distortion_uv));
Change-Id: I19895d062e7c0ac67937126ebc5dcb0afd3a2931
The loop appears to set map[i] with the intention of running
the 'j' loop up to that point. However, without zero'ing map[]
first the behavior is unpredictable.
Fixes a static analysis warning:
warning: Branch condition evaluates to a garbage value
for (j = 0; j < 4 && map[j]; ++j) {
Change-Id: Ifa39353d8aa5cc47b467a7d3d8cdd3b5319fd997
These values are set in main() from user input. Ensure
they are cleared out first.
Clears a static analysis warning:
warning: The right operand of '*' is a garbage value
1000.0 * rc->layer_target_bitrate[0] / rc->layer_framerate[0];
Change-Id: I09bd209be5aff31b87597a24d37a9673fa99381b
This reverts commit 118a57045b.
Reason for revert: Fails on Visual Studio builds:
vpxmdd.lib(vpx_ports_emms_mmx.obj) : error LNK2019: unresolved
external symbol _m_empty referenced in function
vpx_clear_system_state
Original change's description:
> use intrinsics for 'emms'
>
> BUG=webm:1500
>
> Change-Id: I3235d8c2abc01dd3a35e14c5cbcfe20283ff8fb2
Change-Id: Ia9c40bc103c57cced83353249c55218eaf2f0b0c
Static analysis does not recognize that output_rc_stat guards
the usage of window_size. Clears this warning:
The right operand of '>' is a garbage value
if (frame_cnt > (unsigned int)rc.window_size) {
set_rate_control_stats sets window_size to 15. Zeroing it
just introduces another static analysis warning.
Change-Id: Ieee7b81a385f986e42189101cfa39279e519b368
This should be taken care of by parse_superframe_index but
the static analysis is not recognizing it because it depends
on 'marker' which is read from the bitstream.
Clears a static analysis warning:
The right operand of '*' is a garbage value
rc.layer_encoding_bitrate[layer] += 8.0 * sizes[sl];
Change-Id: I8ee48a98f907bc7b46869fd27a351f33e2e7de71
Print error messages as they are encountered. This was the default
behavior.
Removes a static analysis warning regarding the use of strncat:
Null pointer argument in call to string length function
As this is the only use of strncat in the library, remove it and the
associated public function.
Change-Id: Id55305c5a4d65f11da88c3a2203ff824200f526f
sl was passed to set_frame_flags_bypass_mode, triggering
an uninitialized variable warning. Inside the function it
is only used as a local variable.
Change-Id: If743626e9e10fd41d135e3b4ad6196dc4dc90172
When an enhancement spatial layer is skipped, we should check
for updating the layer frame counters.
Change-Id: Ib79d0955c62fb465f59ef2f9ac45240ae2614d7b
This causes assert to trigger in choose_partitioning().
This can happen in some cases when enhancement layers
are enabled midway during the stream.
Change-Id: I69c3c8b4b1e3f1c7d8d7294d633ca5ddca148e8b
The largest frame is currently in choose_partitioning:
warning: stack frame size of 44156 bytes in function 'choose_partitioning'
but adding HBD amplifies other things:
warning: stack frame size of 51480 bytes in function 'dec_build_inter_predictors'
Add some padding for sanitizer and variances between compilers.
BUG=webm:1498
Change-Id: I0d94d4f94d25dafafca9d7484881c2ce5f8de371
The file contains sse2 implementations related to various block error
functions. Update the .mk file to include it only when sse2 is
requested.
BUG=webm:1500
Change-Id: I67b766faed425fd7a96db8541b13c69670b65fec
For SVC, if any of the layer scale ratios are not
2x2, then disable the partiton_reuse, which assumes
2x2 scaling between layers.
Change-Id: I8b3163de0826052bbb1bfe03554a074c89510558