Johann Koenig [Tue, 29 Mar 2016 22:36:42 +0000 (22:36 +0000)]
Merge "Properly propagate out of memory errors."
Paul Wilkins [Tue, 29 Mar 2016 14:02:21 +0000 (14:02 +0000)]
Merge "Increase min-max q range for normal inter frames."
Jean-Yves Avenard [Sat, 11 Jul 2015 10:47:39 +0000 (20:47 +1000)]
Properly propagate out of memory errors.
It would otherwise result in an infinite loop.
Change-Id: Ic03fb220cc048538bd62dee599653187f2093079
Marco [Thu, 24 Mar 2016 22:29:58 +0000 (15:29 -0700)]
vp9-denoiser: Incorporate consec_zeromv in skin detection for denoising.
Change-Id: Ibe4e1207c0db1779e1358f4566da67c9a07bdb15
Marco Paniconi [Mon, 28 Mar 2016 16:05:46 +0000 (16:05 +0000)]
Merge "vp8-denoiser: Use the same skin detection for model=1 as in vp9."
James Zern [Sat, 26 Mar 2016 19:52:49 +0000 (12:52 -0700)]
Revert "third_party: Roll libwebm snapshot."
This reverts commit
80ddeb281a0d4b3d9a6d39a7ef91370f52845b39.
breaks Android build and causes valgrind failures in the examples
Change-Id: Ie13ceed2f9f8970af87339b807032a52083f27fe
Tom Finegan [Sat, 26 Mar 2016 01:41:49 +0000 (01:41 +0000)]
Merge "third_party: Roll libwebm snapshot."
Marco [Fri, 25 Mar 2016 18:34:56 +0000 (11:34 -0700)]
vp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.
Change only affects 1 pass, vbr, speed = 5 (real-time mode).
Some improvement for high motion content.
AvgPSNR/SSIM metrics for ytlive set all up, on average ~2%,
some clips (high motion ones) up 4/5%.
Encoder speed down: on mynintendo_x1.1280_720.y4m: 47fps -> 44fps.
Change-Id: I9e3eaa6392dcb6b5b44ee6f43004f97ba859bc11
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.
4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init
Change-Id: I4026f52f59c6f7644af49b0393af502079b2fbec
Marco [Thu, 24 Mar 2016 22:42:28 +0000 (15:42 -0700)]
vp8-denoiser: Use the same skin detection for model=1 as in vp9.
Keep setting for model = 0 for now in vp8.
Change-Id: I79c5fa24d5d16b14651f44db9526aa01dbd70ec9
James Zern [Thu, 24 Mar 2016 22:04:11 +0000 (22:04 +0000)]
Merge changes Id0a490bc,I1b4a0504
* changes:
vp9/inverse_transform_block_inter: move eob check
vp9/inverse_transform_block_intra: move eob check
Paul Wilkins [Thu, 24 Mar 2016 18:05:24 +0000 (18:05 +0000)]
Merge "Force recode for bad rate misses."
Paul Wilkins [Thu, 24 Mar 2016 18:04:52 +0000 (18:04 +0000)]
Merge "Fix some HBD scaling bugs."
Scott LaVarnway [Wed, 10 Feb 2016 13:06:13 +0000 (05:06 -0800)]
VP9: Eliminate extra mv clamp in decoder
The mv is clamped in dec_find_mv_refs() to a smaller region
than the clamp in dec_find_best_ref_mvs(). See clamp_mv_ref
and clamp_mv2.
Change-Id: I47dd5f7fa8b42f2cc593559b4d7c782fe7bcb1db
James Zern [Thu, 24 Mar 2016 03:57:28 +0000 (03:57 +0000)]
Merge "Add a TODO for using tile rows while encoding with multiple threads"
James Zern [Thu, 24 Mar 2016 03:32:12 +0000 (20:32 -0700)]
vp9/inverse_transform_block_inter: move eob check
1 level up. the function is a no-op for eob == 0 and shouldn't be called
Change-Id: Id0a490bcce78c2b2ec6ea24d942191eb9b2bc16e
James Zern [Thu, 24 Mar 2016 03:24:17 +0000 (20:24 -0700)]
vp9/inverse_transform_block_intra: move eob check
1 level up. the function is a no-op for eob == 0 and shouldn't be called
Change-Id: I1b4a050424cf2d0ea820120c8e7c4fb3065e39e7
Johann Koenig [Wed, 23 Mar 2016 20:04:59 +0000 (20:04 +0000)]
Merge "Allows sub-second frame rates in vp9"
Yunqing Wang [Wed, 23 Mar 2016 19:23:02 +0000 (12:23 -0700)]
Add a TODO for using tile rows while encoding with multiple threads
Added a TODO in vp9_cx_iface.c.
Change-Id: Ib987f20cab8417340a23ae676616de1df48e8a12
Yunqing Wang [Wed, 23 Mar 2016 15:52:35 +0000 (15:52 +0000)]
Merge "Prevent encoder crash caused by row tile dependencies"
Marco Paniconi [Wed, 23 Mar 2016 01:06:57 +0000 (01:06 +0000)]
Merge "vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin."
Yaowu Xu [Tue, 22 Mar 2016 23:45:28 +0000 (23:45 +0000)]
Merge "Simplify the loopfilter synchronization logic in VP8 encoder"
Yunqing Wang [Tue, 22 Mar 2016 17:54:43 +0000 (10:54 -0700)]
Prevent encoder crash caused by row tile dependencies
In multi-thread case, the encoder may crash if using encoder option
tile-rows > 0. To prevent that, force tile-rows=0 in this situation.
This is a workaround for WebM issue 1095:
https://bugs.chromium.org/p/webm/issues/detail?id=1095
The further fix can be done by adding synchronizations after a tile
row is encoded. But this will hurt multi-threaded encoder performance.
So, it is recommended to use tile-rows=0 while encoding with threads
> 1.
Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
Yunqing Wang [Tue, 22 Mar 2016 21:13:18 +0000 (14:13 -0700)]
Simplify the loopfilter synchronization logic in VP8 encoder
This patch was to fix a reported Hangouts deadlock/freezing issue
in VP8 encoder(issue
27232610). The original encoder loopfilter
synchronization happened in the following frame, which was prone
to causing problems in some complex use cases. This patch simplified
the synchronization logic.
More testing needs to be done.
Change-Id: I38fd3f35d11f98fae1e44546aa5e4c6d6e19c4be
Paul Wilkins [Tue, 22 Mar 2016 19:56:05 +0000 (12:56 -0700)]
Increase min-max q range for normal inter frames.
Allow the encode loop to select from a wider range of Q values
when encoding normal (non arf or kf) frames.
This change is targeted at improving psycho-visual quality in some
easy sections that are currently not getting enough bits.
This is likely to be a little worse from a metrics perspective and may also
have a small impact on encode speed in cases where extra recode
iterations are triggered.
Change-Id: I667eebf33c753bcbcf8b93596467369e5708b889
Paul Wilkins [Tue, 15 Mar 2016 19:54:52 +0000 (12:54 -0700)]
Force recode for bad rate misses.
Adds a second threshold for recodes even on frames where
recode is normally disabled if there is a big rate miss.
Change-Id: Ifd4a34707da55ec15eb7cfb87de4644b8d76deb2
Paul Wilkins [Fri, 18 Mar 2016 17:25:46 +0000 (10:25 -0700)]
Fix some HBD scaling bugs.
Fixed a bug for HBD in stats output and scaling of a threshold
within the first pass code.
Change-Id: Icd0463d78cc9ce4661b027b0612c55c0628d212f
Marco [Tue, 22 Mar 2016 00:10:23 +0000 (17:10 -0700)]
vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin.
Change-Id: I084360cdeabfc63e146a969053d91baee27f4001
Marco Paniconi [Fri, 18 Mar 2016 17:58:03 +0000 (17:58 +0000)]
Merge "vp9: Improvement to skin detection."
Marco [Fri, 18 Mar 2016 15:38:29 +0000 (08:38 -0700)]
vp8-denoiser: Update on the sum_diff threshold.
Change-Id: I0d459c7ba358da287aff1c706279603d6d4d3c48
James Zern [Fri, 18 Mar 2016 02:38:14 +0000 (02:38 +0000)]
Merge "altref_test: mark AltRefForcedKeyTest as large"
James Zern [Fri, 18 Mar 2016 01:46:10 +0000 (18:46 -0700)]
altref_test: mark AltRefForcedKeyTest as large
Change-Id: I2bbd7cd2f3b22d3dbfd40d9af430a5d276cd1855
Marco [Mon, 14 Mar 2016 18:14:41 +0000 (11:14 -0700)]
vp9: Improvement to skin detection.
Add consec_zeromv to skin detection.
Reduces false detection in steady background areas.
Change-Id: Ic31c831537d29f082f58477f82ed78f313d7dd30
Marco [Thu, 17 Mar 2016 19:17:32 +0000 (12:17 -0700)]
vp9: Fix the threshold for gf update in cyclic refresh.
Fix the threshold for forcing refresh of golden frame based
on high motion. The current comparison was incorrect and
prevented this (force update of gf on high motion) from being used.
For now keep this logic under a flag (and off for now) so as to
not change behavior, until further testing.
Change-Id: Ib5f0082159a428b0603b9534e4bcb6f83e4ccb25
Alex Converse [Thu, 17 Mar 2016 16:25:28 +0000 (16:25 +0000)]
Merge "Use whole pixel only at speed 8 screen content."
Alex Converse [Thu, 17 Mar 2016 16:25:01 +0000 (16:25 +0000)]
Merge "Reuse computation in build_nmv_component_cost_table."
Alex Converse [Thu, 17 Mar 2016 16:24:48 +0000 (16:24 +0000)]
Merge "Fix using screen content tuning in all the cpu speed tests."
Marco Paniconi [Thu, 17 Mar 2016 15:14:44 +0000 (15:14 +0000)]
Merge "vp9-svc: Bugfix on usage of svc_force_zeromv in non-rd pickmode."
Alex Converse [Thu, 17 Mar 2016 04:57:00 +0000 (21:57 -0700)]
Fix using screen content tuning in all the cpu speed tests.
Change-Id: Ie302283a52c563be0f1a84650f5f29be30d2bbe4
Alex Converse [Wed, 16 Mar 2016 22:10:42 +0000 (15:10 -0700)]
Reuse computation in build_nmv_component_cost_table.
Saves 1% CPU on remoting_perftest with speed 8.
Change-Id: I28dc2f602bd3bf5639a40c9f21f5a9833f01d4be
Alex Converse [Wed, 16 Mar 2016 22:56:35 +0000 (15:56 -0700)]
choose_partitioning: Avoid computing segment_id twice.
1% faster remoting_perftest at speed -8.
Change-Id: I78d591e14b8f890c1e69cacb6d490dfeb9c37900
Marco [Wed, 16 Mar 2016 18:53:43 +0000 (11:53 -0700)]
vp9-svc: Bugfix on usage of svc_force_zeromv in non-rd pickmode.
Only affects 1 pass cbr svc mode.
Change-Id: Ifc0948b4aabffa64a9701295d8dbc58a7208a30f
Alex Converse [Mon, 14 Mar 2016 17:09:57 +0000 (10:09 -0700)]
Use whole pixel only at speed 8 screen content.
+5.857% BD-RATE on SCREEN_CONTENT
Leaving this off for non-screen content because:
+25.300% on TWITCH120
+37.833% BD-RATE on RTC
Change-Id: Ie0a312182d6cc859fb04298e4cd81d02b39e23fe
Alex Converse [Tue, 15 Mar 2016 22:04:14 +0000 (15:04 -0700)]
Add tests for VP9E_CONTENT_SCREEN.
Change-Id: Id28007576205b7f46957b20eeacb5fda6872663e
Paul Wilkins [Tue, 15 Mar 2016 19:24:54 +0000 (12:24 -0700)]
Isolate HBD stats bug change.
Change-Id: Ief453daf5f13f42803cb5122fcdd294e65e613f5
Paul Wilkins [Tue, 15 Mar 2016 19:21:45 +0000 (19:21 +0000)]
Merge "Revert "Fix bug in stats output for HBD.""
Paul Wilkins [Tue, 15 Mar 2016 19:21:14 +0000 (19:21 +0000)]
Revert "Fix bug in stats output for HBD."
This reverts commit
c7780075ec0e87f74a1a5706dec914aad8dc9200.
Change-Id: I2d2e1b387bf0c70cc7238ee4f8edab2aad873489
Marco [Tue, 15 Mar 2016 17:30:24 +0000 (10:30 -0700)]
vp9: Fix to scene cut/content change detection.
Use proper conditon on resolution check.
Change-Id: Idf563eb4391f373baf79546414a075b6516a5d35
hui su [Tue, 15 Mar 2016 16:28:16 +0000 (09:28 -0700)]
Fix typos in unit tests
Change-Id: I18996f5c67cd182263930a1363d619402b8f8c14
Marco [Mon, 14 Mar 2016 19:14:42 +0000 (12:14 -0700)]
vp9: Scene cut/content change detection: Adjust gf update.
For 1 pass vbr mode: Increase the period of gf update on scene
cut (keep it same as orginal/default setting for now).
Change-Id: I679c3bd21152f6c4e486c8098d931c00e1d26b5f
Marco [Mon, 14 Mar 2016 17:42:21 +0000 (10:42 -0700)]
vp9: Scene cut/slide change detection: Increse min_thresh.
Only affects vbr mode.
Change-Id: I15e24c50343bc9171c734dfc7685491c7dbb8654
Johnny Klonaris [Sun, 13 Mar 2016 05:06:31 +0000 (21:06 -0800)]
Allows sub-second frame rates in vp9
This is the identical change submitted for vp8 here:
https://chromium-review.googlesource.com/#/c/274107/
Tested this change on Mac OSX (10.10) and Linux
(Linux Mint 17 / Ubuntu 14.04) and in both cases:
- downloaded and compiled latest source for libvpx and ffmpeg
- confirmed ffmpeg would build sub-second frame rate webm files
via the previous patch
- confirmed ffmpeg would *not* build fps < 1 for vp9
- made this change, recompiled libvpn and ffmpeg
- confirmed ffmpeg would now create the same webm with
fps < 1
- confirmed the resulting file would play and was vp9 (e.g.
would not play in Firefox (Linux version complained it was
VP9 but mostly could play it) or older vlc, etc., but does
play just fine in Google Chrome and a newer version of vlc.
Sorry I didn't catch this last time - but this seems a solid
change and it's handy to be able to create frame rates
less than one second.
-jk
Change-Id: I38fa32148de8c4c359f228cf08b9a4b83b5a52fb
Marco Paniconi [Fri, 11 Mar 2016 23:24:16 +0000 (23:24 +0000)]
Merge "vp9: Fix issue in scene/content change detection."
Marco [Fri, 11 Mar 2016 20:44:36 +0000 (12:44 -0800)]
vp9: Switch to model=1 for skin detection.
Very small change in speed (within 0.5%),
somewhat better detection over RTC clips.
Change-Id: I5bf0a7438fa7ccb60b26887125099e3238e5f298
Marco [Fri, 11 Mar 2016 20:15:27 +0000 (12:15 -0800)]
vp9: Fix issue in scene/content change detection.
The change https://chromium-review.googlesource.com/#/c/329181/
also changed behavior for cbr mode, which causes some regression
in screenshare test in webrtc.
Resetting the specific change to leave the cbr behavior
unchanged for now.
Change-Id: I52df158806422f86398e1d2f522e92067d8325eb
Marco [Thu, 25 Feb 2016 00:16:44 +0000 (16:16 -0800)]
vp9 non-rd pickmode. Some adjustments for vbr mode.
Some adjustments to inter-mode selection for vbr mode.
Condition some of the bias to low/zero motion on cbr mode, and
don't use int_pro_motion_estimation for golden ref
(treat it same as last ref).
Change only affect 1 pass vbr mode, speed >=5 (non-rd pickmode).
Encoding time increase within ~5%.
Avg PSNR/SSIM on RTC set increase by ~2%, all clips up,
ranging from 0.5 to 4%.
Change-Id: I0048d0104a8816773d91a2b1484d601169d9bad7
Marco [Thu, 10 Mar 2016 23:43:42 +0000 (15:43 -0800)]
vp9: Update to skin detection.
For model=1, use higher threshold on luminance, conditioned
on the skin cluster distance.
Change-Id: I971bccdef7b92b2aeef60af90a8e48b98716a89b
Marco [Wed, 9 Mar 2016 00:29:54 +0000 (16:29 -0800)]
vp9-svc: Fix to frame dropping in svc mode.
Don't advance the svc frame counters on dropped frame,
since this can break the referencing scheme and lead
to a crash/assert.
Updated svc-datarate unittest to add a lower bitrate test.
Change only affects 1 pass cbr svc, with frame dropper enabled.
Change-Id: Ibb7530b7a587a9344d46898d9286fd9e2ef0779c
Marco Paniconi [Tue, 8 Mar 2016 22:08:57 +0000 (22:08 +0000)]
Merge "vp9-svc: Change default spatial bitrate allocation."
James Zern [Tue, 8 Mar 2016 20:10:40 +0000 (20:10 +0000)]
Merge "vp9_svc_layercontext(): fix proto mismatch"
Marco Paniconi [Tue, 8 Mar 2016 19:32:35 +0000 (19:32 +0000)]
Merge "vp9-svc unitests: Add more tests for key frame periods."
Marco [Tue, 8 Mar 2016 19:25:13 +0000 (11:25 -0800)]
vp9-svc: Change default spatial bitrate allocation.
Only affects 1 pass cbr svc.
Change-Id: I8387219e35e516d9ce890557ee1855f2af8f636a
Scott LaVarnway [Tue, 8 Mar 2016 18:50:20 +0000 (18:50 +0000)]
Merge "VPX: loopfilter_mmx.asm using x86inc 2"
James Zern [Tue, 8 Mar 2016 18:37:27 +0000 (10:37 -0800)]
vp9_svc_layercontext(): fix proto mismatch
Change-Id: I8a76d150a61662fc2e3158a49ce4e642f917029a
Marco [Tue, 8 Mar 2016 18:34:43 +0000 (10:34 -0800)]
vp9-svc unitests: Add more tests for key frame periods.
Change-Id: Iea237760b508d87dab057dd824e26d2e66fa8433
Scott LaVarnway [Tue, 8 Mar 2016 12:24:47 +0000 (04:24 -0800)]
VPX: loopfilter_mmx.asm using x86inc 2
This reverts commit
9aa083d164e0d39086aa0c83f0d1a0d0f0d1ba61.
Fixes a decoder mismatch with 32bit PIC builds.
Change-Id: I94717df662834810302fe3594b38c53084a4e284
Marco [Tue, 8 Mar 2016 00:58:06 +0000 (16:58 -0800)]
vp9-resize tests: Update to real-time resize unittests.
Add check for mismatch in unittests.
Change-Id: Ia5d5b5f6af4b7eb653302b81fdd9a53df4aba033
Marco Paniconi [Mon, 7 Mar 2016 22:44:29 +0000 (22:44 +0000)]
Merge "vp9-svc: Fix to resetting pattern/flags on key frame."
Marco [Mon, 7 Mar 2016 21:43:11 +0000 (13:43 -0800)]
vp9-svc: Fix to resetting pattern/flags on key frame.
Chane only affects 1 pass cbr svc mode.
Change-Id: Ie28557409eb87673ed0b66c6dfe1bf3509a18c4d
Scott LaVarnway [Mon, 7 Mar 2016 21:51:05 +0000 (21:51 +0000)]
Merge "define GET_GOT_DEFINED if not previously defined"
Scott LaVarnway [Mon, 7 Mar 2016 19:34:49 +0000 (11:34 -0800)]
define GET_GOT_DEFINED if not previously defined
Change-Id: Id9c764a5b0e4b668a6e804cceb78988138ad910f
Marco [Mon, 7 Mar 2016 17:50:36 +0000 (09:50 -0800)]
vp9-svc: Non-rd pickmode, fix condition for testing zeromv for spatial ref.
Change-Id: I75bad321d5814a6df6735a8ead7700ab93b50763
James Zern [Sat, 5 Mar 2016 02:23:09 +0000 (18:23 -0800)]
Revert "VPX: loopfilter_mmx.asm using x86inc"
This reverts commit
15ecdc3970462c15fdf7185d373cb52664f40c0f.
breaks 32-bit pic builds
Change-Id: I8bb1b9471a293f05ac7423aaba0339d408931b7a
Paul Wilkins [Fri, 4 Mar 2016 15:55:11 +0000 (15:55 +0000)]
Merge "Fix bug in stats output for HBD."
paulwilkins [Fri, 4 Mar 2016 12:55:04 +0000 (12:55 +0000)]
Fix bug in stats output for HBD.
Change-Id: Ic3b033e22cdcdc4a0f78cef433b2208fd254c27b
Marco [Wed, 2 Mar 2016 22:45:41 +0000 (14:45 -0800)]
vp9-svc: Fix issues with svc with periodic key frames.
Use the superframe counter to set the key frame, and force
it to the key frame on base spatial layer only.
Also, update svc frame counters under frame dropping.
Update unittest: add specific tests with short key frame period.
https://bugs.chromium.org/p/webm/issues/detail?id=1150
Change-Id: I5b1c9a09253e6e5fbfce51b4cf603ae22d422b01
Alex Converse [Wed, 2 Mar 2016 17:21:08 +0000 (17:21 +0000)]
Merge "Simplify the inner loop of duplicate_mode_info_in_sb."
Alex Converse [Wed, 2 Mar 2016 17:20:58 +0000 (17:20 +0000)]
Merge "Port "cost_coeff speed improvements" to vp9."
Alex Converse [Wed, 2 Mar 2016 01:43:02 +0000 (17:43 -0800)]
Simplify the inner loop of duplicate_mode_info_in_sb.
Change-Id: I8ba9164c3550379fb998d4d074846e90fb2c6f8c
Marco [Thu, 25 Feb 2016 16:38:08 +0000 (08:38 -0800)]
vp9-svc: Allow for 2 stage downscaling for spatial layers.
For 1 pass cbr mode: allow for two-stage 1:2 scaling
(which will use the 1:2 optimized scaler) if the spatial
layer is 1/4x1/4 of souce.
Without this change, the base layer for 3 spatial layers would
be using the non-normative scaler which is un-optimized/C code.
Change-Id: I9d73f92a4a96927d0f1d6bf75315c1e60513226a
Jingning Han [Tue, 1 Mar 2016 22:31:37 +0000 (22:31 +0000)]
Merge "Port alt reference frame filter improvement to VP9"
Jingning Han [Tue, 1 Mar 2016 22:31:29 +0000 (22:31 +0000)]
Merge "Back port partition rate cost estimate fix to VP9"
Alex Converse [Tue, 1 Mar 2016 17:19:04 +0000 (17:19 +0000)]
Merge "Don't copy tx_size to all 8x8 MIs in the prediction block."
Jingning Han [Tue, 1 Mar 2016 00:52:44 +0000 (16:52 -0800)]
Port alt reference frame filter improvement to VP9
Use sharp filter to generate motion compensated reference for
temporal filtering. It improves the average coding performance of
VP9 speed 0:
derf 0.34%
hevcmr 0.38%
stdhd 0.58%
Change-Id: I1772a051be545de8c343055274e5ca0929d19cda
Jingning Han [Mon, 29 Feb 2016 23:20:12 +0000 (15:20 -0800)]
Back port partition rate cost estimate fix to VP9
This commit back ports the fix from
https://chromium-review.googlesource.com/#/c/326940
It corrects the block partition context fetching in rate-distortion
optimization. It improves the average coding performance of speed 0:
derf 0.098%
hevcmr 0.102%
stdhd 0.282%
Change-Id: I8bcc6fe40ba5c6b50a6136daac116dcc738937ec
Marco [Tue, 1 Mar 2016 00:16:20 +0000 (16:16 -0800)]
vp9-datarate unittests: Include coverage up to speed 8.
Change-Id: I8529cd04ea4f95d21d83f87d56d6dd882d0a5636
Alex Converse [Mon, 29 Feb 2016 23:16:42 +0000 (15:16 -0800)]
Don't copy tx_size to all 8x8 MIs in the prediction block.
The double pointer in xd->mi handles this for us.
Cuts encode_suberblock()'s self time in half at rt speed 8.
Change-Id: I820dae24efdbf9a140bbeae82e4e2a5850317766
Marco [Mon, 29 Feb 2016 21:11:41 +0000 (13:11 -0800)]
vp9: Remove effective_bitrate from SVC datarate tests.
Change-Id: I1189c2403463e0aca288ba344052ba1c9cf94390
Marco [Mon, 29 Feb 2016 19:12:02 +0000 (11:12 -0800)]
vp8: multi-res-encoder: Fix timer around encoder in sample encoder.
Change-Id: I0131ab4767e2eb72838ab6e58dd77a85fbf508e0
Marco [Wed, 20 Jan 2016 22:10:26 +0000 (14:10 -0800)]
vp9-svc: For 1 pass svc, remove frame-level upsampling.
With the svc fix in https://chromium-review.googlesource.com/#/c/328978/,
the asan error is resolved, so this should work now.
Change-Id: I57b2a593651d414e1b445431d90f2fdc3281128b
Scott LaVarnway [Wed, 24 Feb 2016 20:03:33 +0000 (12:03 -0800)]
VPX: Remove pmin/pmax from subpixel functions.
These instructions are unnecessary if the adds
are done in the correct order.
Change-Id: I4e533b8267c32e610a4b94203ad052dc9fdabd71
Scott LaVarnway [Sat, 27 Feb 2016 13:31:18 +0000 (13:31 +0000)]
Merge "VPX: vpx_filter_block1d16_(v8, v8_avg)"
James Zern [Sat, 27 Feb 2016 02:56:40 +0000 (02:56 +0000)]
Merge changes I95159bcb,Ia74e3097,I661f6439
* changes:
x86/convolve.h: remove redundant check in FUN_CONV_2D
x86/convolve.h: replace while w/if for w < 16
x86/convolve.h: change filter[] || chains to |
James Zern [Fri, 26 Feb 2016 23:14:46 +0000 (15:14 -0800)]
datarate_test/ChangingDropFrameThresh: set kf interval
restore the value for VP9 to 9999 to satisfy the current test
expectations; without this
VP9/DatarateTestVP9Large.ChangingDropFrameThresh/8 will overshoot.
Change-Id: I88dad574ae4ab10f923579824c7347ff468c7045
James Zern [Sat, 27 Feb 2016 00:53:10 +0000 (16:53 -0800)]
Revert "vp9-svc: Fix speed issue with source downscaling for spatial layers."
This reverts commit
f51f0998e1ca99cd7497ded3642bb27445b1b215.
This causes datarate tests to fail. Some are due to the new default
keyframe distance, another causes an assert even forcing 9999:
[ RUN ] VP9/DatarateOnePassCbrSvc.OnePassCbrSvc3SpatialLayers/0
test_libvpx:
vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c:853: scaledconvolve2d:
Assertion `y_step_q4 <= 32' failed.
Change-Id: I4ee4fea97f47e4f1a23b82a62e6afc6280961e38
Marco Paniconi [Sat, 27 Feb 2016 00:20:53 +0000 (00:20 +0000)]
Merge "vp8-denoiser: Update some denoiser thresholds."
Julia Robson [Fri, 26 Feb 2016 22:42:25 +0000 (14:42 -0800)]
Port "cost_coeff speed improvements" to vp9.
About a 5% faster overall encode (perf cycles) at speed zero!
Change-Id: Iaf013ba75884415cd824e98349f654ffb1c3ef33
Marco Paniconi [Fri, 26 Feb 2016 22:39:28 +0000 (22:39 +0000)]
Merge "vp9-svc: Bugfix for svc in non-rd variance partition."
Marco [Mon, 22 Feb 2016 22:17:03 +0000 (14:17 -0800)]
vp9-svc: Bugfix for svc in non-rd variance partition.
Reset the scale factors before build_inter_predictors.
Add datarate tests for 3 spatial layers, which exposed this issue.
Change-Id: I7f81efbe44345ecea9fdd5f639a4cca76aed3874
Marco [Thu, 25 Feb 2016 16:38:08 +0000 (08:38 -0800)]
vp9-svc: Fix speed issue with source downscaling for spatial layers.
For 1 pass cbr mode: allow for two-stage 1:2 scaling
(which will use the 1:2 optimized scaler) if the spatial
layer is 1/4x1/4 of souce.
Without this change, the base layer for 3 spatial layers would
be using the non-normative scaler which is un-optimized/C code.
Change-Id: Ifcf526ec2aaf3e5fa7924588d9dd8660bf02fb46