Age | Commit message (Collapse) | Author |
|
|
|
|
|
Change-Id: I4f3052d8748e16b06e9155f8daf22f867dfaa7a3
|
|
|
|
Fix is from the patch in the issue.
Release memories allocated before early exit.
BUG=webm:1482
Change-Id: I64952af99c58241496e03fa55da09fd129a07c77
|
|
* changes:
clang-format v5.0.0 vp9/
remove spurious comments
clang-format v5.0.0 vp8/
clang-format v5.0.0 vpx_dsp/
clang-format v5.0.0 mem_ops.h
clang-format v5.0.0 vpx_util/vpx_atomic.h
clang-format v5.0.0 y4minput.c
clang-format v5.0.0 vpxenc.c
clang-format v5.0.0 examples/
clang-format v5.0.0 test/
|
|
BUG=webm:1413
Change-Id: Id9038226902b2d793fc6c17ac81bb104c1a18988
|
|
Remove trailing commas to keep multiple elements on one line.
Add blank lines to prevent comments from being treated as blocks.
clang-format guards for struct with a comment in the middle.
Change-Id: I3bcb8313ae8aaf69179249a13b4087b1272cdbc0
|
|
These don't appear to make any sense given their context. The
commit log also does not reveal anything.
Discovered due to spurious clang-format indenting:
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I732a66056ba4c05e3e132a2f236fe10f7a282900
|
|
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Adjust closing parenthesis/opening brace on functions.
Remove trailing commas to keep multiple elements on one line.
Change-Id: I6e535a8ddb15c9b3de8216ce8ddb2a18241af46c
|
|
Remove comments above #define statements because they get
indented unnecessarily.
https://bugs.llvm.org/show_bug.cgi?id=35930
Add blank lines to prevent comments from being treated as
blocks.
Change-Id: I04dce21b2a10e13b8dc07411a0019c098f6dd705
|
|
For the vp8 simulcast/multi-res-encoder:
Add flags to keep track of the disabling/skipping of
streams for the multi-res-encoder. And if the lower spatial
stream is skipped for a given stream, disable the motion
vector reuse for that stream.
Also remove the condition of forcing same frame type
across all streams.
This fix allows for the skipping/disabling of the base
or middle layer streams.
Change-Id: Idfa94b32b6d2256932f6602cde19579b8e50a8bd
|
|
Without this applications cannot use the vpx_codec_control macro
for VP9_SET_SKIP_LOOP_FILTER. The tests only cover the underscored
version vpx_codec_control_().
Change-Id: I3e6c1888307b76636fdc1a8deae70b5c14238163
|
|
|
|
|
|
Remove trailing empty line to keep the comment from being indented.
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I6c51f7afb4cc47f03a190b4c90e29e4ff1e0c689
|
|
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Change-Id: If10db1c30c74ee31dad1a0b1926964e850f15fd2
|
|
Remove trailing empty line to keep the comment from being indented.
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: If0f0862623b3fa3ae49e850edbbed52c2b4c6672
|
|
Treat the formatted string as one distinct parameter to fprintf
Change-Id: I62cfd5657c4cefc6b3fa45247ba9f33515a292b1
|
|
Attempts to group () expression on their own line.
Change-Id: I404f9dd1a91aaa2100925c90162bcdefbead5ad2
|
|
Remove trailing commas to keep multiple elements on one line.
Remove trailing empty lines to keep comments from being indented.
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I0a66dde95f2a304f13cb85a2e9197afca20051e8
|
|
|
|
|
|
At least the changes that don't conflict with 4.0.1
Change-Id: I9b6a7c14dadc0738cd0f628a10ece90fc7ee89fd
|
|
For SVC: if an enhancement layer (spatial_layer > 0)
has 0 bandwidth, skip/drop the encoding of the layer.
This allows the application to dynamically disable
higher layers for SVC.
Add flag to signal the skip encoding, this is needed
to modify the packing of the superframe when the top
layer is skipped/dropped.
Also moved some updates (current_video_frame counter and
the last_avg_frame_bandwidth) to the postencode_update_drop_frame().
Added datarate unittest for dynamically going from 3 to 2
and then back to 3 spatial layers.
Change-Id: Idaccdb4aca25ba1d822ed1b4219f94e2e8640d43
|
|
Control Flow Integrity [1] indirect call checking verifies that function
pointers only call valid functions with a matching type signature. This
change eliminates some function pointer casts that I missed in my last
CL https://crrev.com/c/780144.
BUG=chromium:776905
[1] https://www.chromium.org/developers/testing/control-flow-integrity
Change-Id: I1c7adbdfffa4fe0b62e993bfb31d06e64b022d66
|
|
|
|
Adds a breakout threshold to key frame boost loop.
This reduces the boost somewhat in cases where there is a
significant zoom component. In tests most clips no effect
but a sizable gain for some clips like station.
Change-Id: I8b7a4d57f7ce5f4e3faab3f5688f7e4d61679b9a
|
|
This fix improves detection of key frames in slide shows.
In particular it helps if the slides are pictures of varying formats
as in a sample provided by yclin@.
This change does not impact any of the clips in our standard tests
but for the example slide show test clip helped global psnr by
several db and resolved a serious visual quality issue.
Change-Id: Iaeeeed55dc0bb50aeacd4996ed660ced06374603
|
|
BUG=webm:1413
Change-Id: I14930d0af24370a44ab359de5bba5512eef4e29f
|
|
Make 8-bit functions testing available in high bitdepth.
Change-Id: Ic030c75aa4c6b649c52426abb4bb2122882de0fe
|
|
|
|
|
|
Switch from bilinear to eighttap_smooth for frame-level
downsampling at low resolutions (<= 320x240).
avgPSNR/SSIM metrics increase from ~0.5-2% (all clips positive gain),
for 2 and 3 spatial layer SVC, with 3 temporal layers.
Small/negligible increase in encoding time (< 1%).
Change-Id: I758472fc4fddd51d87f13c9d1a1cd4986ef5d41f
|
|
The in/out (or zoom metrics) in accumulate_frame_motion_stats()
are in effect a % of the blocks that have a motion vector pointing
either towards or away from the center. As such they are already
normalized in terms of image size and the thresholds against which
these are tested should be image size independent.
In practice a zoom either in or out is an indicator for a shorter group
length so the abs value is more important as a breakout clause.
This patch fixes the threshold test. Clips without noticeable zoom show
no effect but some with strong zooms such as "station" show a big
gain (5-10%). Average psnr-hvs gain on hdres set was 0.292%
Change-Id: I4f97a72b0e273e4e844ade15285749c32cd81c1c
|
|
Increase the recursive average factor from 15/16 to 3/4
to make the noise estimation respond faster.
Small/neglible change on low noise content, but better
denoising for noisy content.
Also encoder speedup of ~2-3% observed on some noisy clips.
Change-Id: I9dd02fe961ca24b411fe4c2732f814bf1e9a7f9f
|
|
Change-Id: I21ff81df0d6898170a3b80b3b5220f9f3ac7f4e8
|
|
This c version uses the shortcuts found in the
vp9_quantize_fp_32x32_ssse3 function.
Change-Id: I2e983adb00064e070b7f2b1ac088cc58cf778137
|
|
This c version uses the shortcuts found in the x86
vp9_quantize_fp functions.
The test was updated to use the correct quant/round range.
Change-Id: Ie5871f710d9eb39047d8d9f48b907c0633e1f830
|
|
|
|
INLINE is defined as __forceinline for vs* configs, but is the
normal, compiler-discretion inline for gcc/clang configs. This
makes many functions very large when building for windows targets,
much larger than they are elsewhere.
Use '__inline' as a consistent definition to get consistent function
sizes. Although Visual Studio documentation says that 'inline' is
only available in C+ code. This is probably incorrect, since Visual
Studio 2017 accepts C99 'inline' even when passed /TC. Nevertheless,
this commit uses the recommended '__inline' for consistency.
Thanks to David Major for the diagnosis.
Change-Id: Ib0b31a3afcea77822c84fe3c6cd452add66d825a
|
|
eob is a pointer to a uint16_t. previously the code would store 64-bits
causing a crash or test failure with the right stack layout.
Change-Id: Ibd653baf323db114f2444951b9d8b00c596bf15a
|
|
This reverts commit 86842855d30d6ca6befdcf5108003e027d90daa9.
SSSE3/VP9QuantizeTest.EOBCheck/1 fails on Mac and the build breaks under
visual studio due to a #if within another macro.
Change-Id: I475095a04aafcc714fade2b24e4df7b682be2cd1
|
|
|
|
|
|
Modify and update the SVC datarate unittests to verify the
rate targeting for each spatial-temporal layer.
The current tests were only verifying the rate targeting
of the full SVC stream, not individual layers.
Also re-enabled a test that was disabled.
This is a stronger verification of the layered rate control
for SVC for 1 pass CBR encoding.
Added PostEncodeFrameHook, needed to get the layer_id and
update the layer buffer level.
Change-Id: I9fd54ad474686b20a6de3250d587e2cec194a56f
|
|
This c version uses the shortcuts found in the x86
vp9_quantize_fp functions.
The test was updated to use the correct quant/round range.
Change-Id: I5d19f8af2fddda8e50910249eafb740acb29415b
|
|
For a large change in the target avg_frame_bandwidth,
via the update in change_config()), reset the buffer_level
to optimal_level.
This fix prevents possible frame drops, where for example,
encoder suddenly goes from lower to higher bitrate.
Change-Id: I2f844c41d04c01240e85f574e59d2b9075c7eb6d
|
|
the random number generator creates values from [0, range) add 1 to all
and make hev more realistic by mirroring its calculation of level >> 4,
i.e., [0, 3]
Change-Id: Ic19be5d7ba668deb17c96f143b739116a4b5d21c
|
|
Optimize function vp8_mbloop_filter_vertical_edge_mmi and
function vp8_mbloop_filter_horizontal_edge_mmi.
Make full use of memory loading delay slot and reduce unnecessary
instructions.
Change-Id: I61da2c3a44c06044225461f46bf487d83cba6c16
|