]>
granicus.if.org Git - libvpx/log
Yaowu Xu [Mon, 28 Mar 2016 17:26:27 +0000 (10:26 -0700)]
Merge branch 'masterbase' into nextgenv2
Conflicts:
vp9/encoder/vp9_encoder.c
vpx_dsp/x86/convolve.h
Change-Id: I60c3532936bedd796a75dfe78245a95ec21e2e55
Alex Converse [Mon, 28 Mar 2016 16:59:17 +0000 (16:59 +0000)]
Merge changes I3c72a2d8,I9905f3a8 into nextgenv2
* changes:
Add pluggable bitwriters.
Add pluggable bitreaders.
Hui Su [Mon, 28 Mar 2016 16:44:33 +0000 (16:44 +0000)]
Merge "Fixes for Palette mode" into nextgenv2
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."
Yi Luo [Mon, 28 Mar 2016 15:39:24 +0000 (15:39 +0000)]
Merge "8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2
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."
hui su [Sat, 26 Mar 2016 00:28:15 +0000 (17:28 -0700)]
Fixes for Palette mode
This patch fixes 2 issues in Palette mode:
1. More memory is needed in PALETTE_BUFFER for 444 video format.
2. A merge issue caused by
https://chromium-review.googlesource.com/#/c/333940/7
Change-Id: I2aedc7dfdfb6b66fbd600189ec6e1e2cc6120d40
Alex Converse [Sat, 26 Mar 2016 00:49:06 +0000 (00:49 +0000)]
Merge "Use speed 2 on superframe test." into nextgenv2
Alex Converse [Fri, 25 Mar 2016 23:11:17 +0000 (16:11 -0700)]
Use speed 2 on superframe test.
No need to do avoid shortcuts when all we are testing is the superframe
syntax. Decreases the run time up the VP10 version of the test from 22
seconds to 3 seconds on my machine.
Change-Id: If0c3551cbb8af8b803e02629e803e5f09da76cd1
Alex Converse [Sat, 26 Mar 2016 00:14:21 +0000 (00:14 +0000)]
Merge "Fix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0" into nextgenv2
Yi Luo [Fri, 25 Mar 2016 23:48:19 +0000 (16:48 -0700)]
8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization
- Wrote function: fidtx8_sse2() and fidtx16_sse2().
- Turned on vp10_fht8x8_sse2()/vp10_fht16x16_sse2() for new types.
- Updated 8x8/16x16 unit tests for accuracy/speed.
- Running 20K times with random numbers and getting through
tx type from V_DCT to H_FLIPADST, SSE2 speed improvement:
8x8: ~131%
16x16: ~66%
Change-Id: Ibbb707e932a08fec3b1f423a7dab280a1d696c9a
Alex Converse [Fri, 25 Mar 2016 23:07:00 +0000 (16:07 -0700)]
Fix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0
Failing since:
66f2f65 Merge MISC_FIXES
Change-Id: I8135d6a9d74972c595f1b6294fb842e68f91e50e
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
Yue Chen [Thu, 24 Mar 2016 19:05:19 +0000 (12:05 -0700)]
A major speed up for obmc experiment
Skip checking obmc when regular inter predictor is not so good (the
rd-cost for Y residual is greater than the total rd of the best mode
so far.)
Performance change compared to full rd search:
+0.006% lowres, -0.056% midres
Encoding time :
1.14X baseline (was 1.42X)
Change-Id: I11350f955a20e1a2331be458537a915e09fbedf3
Alex Converse [Fri, 25 Mar 2016 20:08:00 +0000 (20:08 +0000)]
Merge "Fix memory leak and slopiness around the uncompressed ANS buffer." into nextgenv2
Yunqing Wang [Fri, 25 Mar 2016 19:18:58 +0000 (19:18 +0000)]
Merge "Recover tile coding performance" into nextgenv2
Alex Converse [Fri, 25 Mar 2016 18:07:39 +0000 (11:07 -0700)]
Fix memory leak and slopiness around the uncompressed ANS buffer.
Change-Id: Ic9ed1f88f5550b69a45a0fdc71aae5864db7e178
Alex Converse [Mon, 21 Mar 2016 21:23:55 +0000 (14:23 -0700)]
Add pluggable bitwriters.
This will make the code change for a pure ANS experiment manageable.
Change-Id: I3c72a2d8e75afa2cc8e56992ee91f4760202f4d4
Alex Converse [Mon, 21 Mar 2016 21:08:57 +0000 (14:08 -0700)]
Add pluggable bitreaders.
This will make the code change for a pure ANS experiment manageable.
Change-Id: I9905f3a89f492a4346860463a72fa8c52aac4c8e
Hui Su [Fri, 25 Mar 2016 17:52:33 +0000 (17:52 +0000)]
Merge "Speed up ext-intra" into nextgenv2
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
Yunqing Wang [Fri, 25 Mar 2016 16:05:25 +0000 (09:05 -0700)]
Recover tile coding performance
After porting tile coding from VP9 to VP10, some performance
degradation was seen because of the difference between VP9 and
Vp10 baseline. This patch disabled some features in VP10 while
tile coding is turned on. Also, an encoder control API was added
back for this use case.
Change-Id: I8f736db8388408a8cc35320a2f80abb02906571c
hui su [Thu, 24 Mar 2016 23:38:04 +0000 (16:38 -0700)]
Speed up ext-intra
Skip filtered intra modes search in inter frame when DC mode is
worse than the best mode so far.
With ext-intra enabled, the overall speed is increased by 20~40%;
performance drop is 0.03% on lowres and 0.05% on midres.
Change-Id: I75d2503b067cf5e46e3533b97fb01497e125baa7
Yi Luo [Fri, 25 Mar 2016 00:07:17 +0000 (00:07 +0000)]
Merge "4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2
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
Yi Luo [Wed, 23 Mar 2016 23:22:43 +0000 (16:22 -0700)]
4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization
- Added function fidtx4_sse2().
- Turned on vp10_fht4x4_sse2() for these tx types.
- Updated 4x4 unit test for speed/accuracy.
- 4x4 Unit test passed.
- Running 20K times with random numbers for tx type from
V_DCT to H_FLIPADST, SSE2 against C, speed improves ~46%.
Change-Id: I828088b7f98dc0f5939a72e3fcd6cb0b8d8dd8bf
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
Jingning Han [Thu, 24 Mar 2016 19:01:14 +0000 (12:01 -0700)]
Fix compiling error in highbd transform unit test
Change-Id: Id09e1913c1ac965b78df2e67471807019c89f8ab
Jingning Han [Thu, 24 Mar 2016 19:02:13 +0000 (19:02 +0000)]
Merge "Fix an enc/dec mismatch issue in DRL experiment" into nextgenv2
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."
Jingning Han [Thu, 24 Mar 2016 16:40:27 +0000 (09:40 -0700)]
Fix an enc/dec mismatch issue in DRL experiment
This was broken due the leakage between consecutive CLs.
Change-Id: I08ba8c67a42871d9488729ed854845641aa7ca30
Geza Lore [Fri, 11 Mar 2016 17:42:49 +0000 (17:42 +0000)]
Port large scale tile coding features from nextgen.
If configured with --enable-ext-tile, the codec uses an alternative
tile coding syntax in the bitstream. Changes include::
- The maximum number of tile rows and columns is extended to 1024
each.
- The minimum tile width/height is 64 pixels (1 superblock).
- A tile copy mode is added where a tile directly reuse the coded
data of a previous tile
- The meaning of the tile-columns and tile-rows codec parameters are
overloaded to mean tile-width and tile-height in units of 64
pixels.
- All tiles should now be independent, including rows within the
same columns, so large scale parallel, or independent decoding is
possible.
- vpxdec also gained the options to decode only a particular tile,
tile row, or tile column.
Changes without --enable-ext-tile:
- All tiles should now be independent, including rows within the
same columns, so large scale parallel, or independent decoding is
possible.
- vpxenc default tile configuration changed to use 1 tile column.
Change-Id: I0cd08ad550967ac18622dae5e98ad23d581cb33e
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
Angie Chiang [Thu, 24 Mar 2016 00:38:03 +0000 (00:38 +0000)]
Merge "Call vp10_fwd_txfm_4x4 in encode_inter_mb_segment" into nextgenv2
Yi Luo [Wed, 23 Mar 2016 22:43:46 +0000 (22:43 +0000)]
Merge "Misc. updates for highbd changes" into nextgenv2
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
Yi Luo [Wed, 23 Mar 2016 19:10:52 +0000 (12:10 -0700)]
Misc. updates for highbd changes
- Use Makefile to control the build for highbd_fwd_txfm_sse4.c.
- Fixed hybrid transform (HT) types due to recent update.
- Added new unit test cases for highbd HT.
Change-Id: Ifd768a9b429a8c21ed40c1de8152fb5ac71e2f90
Jingning Han [Mon, 21 Mar 2016 19:55:24 +0000 (12:55 -0700)]
Refactor motion vector residual coding process
This commit separates the predicted motion vector from the nearestmv
motion vector in the coding process for both regular and sub8x8
block sizes.
Change-Id: I703490513b0194e6669ebf719352db015facb3e1
Angie Chiang [Mon, 21 Mar 2016 19:15:00 +0000 (12:15 -0700)]
Call vp10_fwd_txfm_4x4 in encode_inter_mb_segment
Change-Id: Ieabe5534e5f4fb3f2d751a3cfc682208b3913715
Yi Luo [Wed, 23 Mar 2016 18:30:39 +0000 (18:30 +0000)]
Merge "Highbd fht4x4 SSE4.1 optimization for DCT_DCT mode - Setup function vp10_highbd_fht4x4_sse4_1 for highbd SSE4.1 intrinsics optimization. - Wrote SSE4.1 functions: load_buffer_4x4(), write_buffer_4x4(), and fdct4x4_sse4_1(). - Used logic right shift to avoid coeff memory write/read. - Turned on vp10_highbd_fht4x4_sse4_1 for DCT_DCT mode only. - Improved overall encoding performance >2.3% for 50 frames sequence, park_joy_1080p_12.y4m, in which, --input-bit-depth=12, --bit-depth=12, 50 frames. - Unit test passed." into nextgenv2
Hui Su [Wed, 23 Mar 2016 17:50:56 +0000 (17:50 +0000)]
Merge "Add "entropy" experiment" into nextgenv2
Alex Converse [Wed, 23 Mar 2016 16:27:12 +0000 (16:27 +0000)]
Merge "Add buf_ans.h to the Makefile." into nextgenv2
Alex Converse [Wed, 23 Mar 2016 16:21:58 +0000 (16:21 +0000)]
Merge "Add some ANS helpers needed to replace the vpx bool coder with pure ANS." into nextgenv2
Hui Su [Wed, 23 Mar 2016 16:16:46 +0000 (16:16 +0000)]
Merge "Small speed up for super_block_uvrd" into nextgenv2
Yi Luo [Wed, 16 Mar 2016 00:09:38 +0000 (17:09 -0700)]
Highbd fht4x4 SSE4.1 optimization for DCT_DCT mode
- Setup function vp10_highbd_fht4x4_sse4_1 for highbd SSE4.1
intrinsics optimization.
- Wrote SSE4.1 functions: load_buffer_4x4(), write_buffer_4x4(),
and fdct4x4_sse4_1().
- Used logic right shift to avoid coeff memory write/read.
- Turned on vp10_highbd_fht4x4_sse4_1 for DCT_DCT mode only.
- Improved overall encoding performance >2.3% for 50 frames
sequence, park_joy_1080p_12.y4m, in which, --input-bit-depth=12,
--bit-depth=12, 50 frames.
- Unit test passed.
Change-Id: Idd6dc6e472cbbf235f0ade4f66fbe859a860a004
Yunqing Wang [Wed, 23 Mar 2016 15:52:35 +0000 (15:52 +0000)]
Merge "Prevent encoder crash caused by row tile dependencies"
Debargha Mukherjee [Wed, 23 Mar 2016 04:58:37 +0000 (04:58 +0000)]
Merge "Porting ext_partition experiment from nextgen" into nextgenv2
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."
Debargha Mukherjee [Wed, 23 Mar 2016 00:53:43 +0000 (17:53 -0700)]
Make the tile independence test shorter
Uses 15 frames instead of 30. Also only test speed 0 for VP10.
Change-Id: Icace050edd974622d83bdf843058f63bd8d3a84b
Yaowu Xu [Tue, 22 Mar 2016 23:45:28 +0000 (23:45 +0000)]
Merge "Simplify the loopfilter synchronization logic in VP8 encoder"
Alex Converse [Mon, 21 Mar 2016 21:56:58 +0000 (14:56 -0700)]
Add some ANS helpers needed to replace the vpx bool coder with pure ANS.
Change-Id: I32b63fca020c410cef16e93379b4e6e281ccbccd
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
Yue Chen [Tue, 22 Mar 2016 21:06:16 +0000 (21:06 +0000)]
Merge "Refactor prediction functions of OBMC" into nextgenv2
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
Julia Robson [Thu, 17 Mar 2016 16:50:28 +0000 (16:50 +0000)]
Porting ext_partition experiment from nextgen
This has been ported under ext_partition_types because it is due
to be combined with the coding_unit_size experiment which is
already being ported under ext_partition
Change-Id: I47af869ae123ddf0aa99160dac644059d14266ee
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
Alex Converse [Tue, 22 Mar 2016 17:01:26 +0000 (10:01 -0700)]
Wrap write_modes functions with macros to avoid ifdefs at all the callsites.
Change-Id: I5a960bf63ec404f0fbfe6a404f436ef4122a219d
Angie Chiang [Tue, 22 Mar 2016 01:07:56 +0000 (01:07 +0000)]
Merge "mv vp10_fwd_txfm2d_#x# into vp10_rtcd.h" into nextgenv2
Angie Chiang [Tue, 22 Mar 2016 01:07:42 +0000 (01:07 +0000)]
Merge "Passing TXFM_TYPE instead of func pointer" into nextgenv2
Yue Chen [Tue, 22 Mar 2016 00:58:44 +0000 (00:58 +0000)]
Merge "Refactor transform type-size search function" into nextgenv2
Jingning Han [Tue, 22 Mar 2016 00:07:45 +0000 (00:07 +0000)]
Merge "Refactor sub8x8 reference motion vector search function" into nextgenv2
Jingning Han [Tue, 22 Mar 2016 00:07:35 +0000 (00:07 +0000)]
Merge "Rework the DRL syntax entropy coding system" into nextgenv2
Yue Chen [Mon, 21 Mar 2016 21:44:48 +0000 (14:44 -0700)]
Refactor prediction functions of OBMC
Merge the functions that generate prediction by above/left predictors
for the encoder and the decoder.
Change-Id: I57e53a8f2eb8d3028c4ed0c9abdcbf00503f95a0
Yue Chen [Mon, 21 Mar 2016 18:53:57 +0000 (11:53 -0700)]
Refactor transform type-size search function
Decompose choose_tx_size_from_rd into three functions that determine
the transform coding rd at different stages. Besides the original
function, txfm_yrd() calculates the rd for fixed size and type.
choose_tx_size_fix_type() fixes the type and searches for the size.
It can enable other experiments to do restricted tx searches so as to
reduce the impact on speed.
Similar refactoring is done for select_tx_type_yrd() in VAR_TX.
Performance change in baseline is trivial:
0.014/0.001/-0.020 for lowres/midres/hdres.
Change-Id: I2ecbf6066329be088ec1bfb69013b657b14b8afe
Alex Converse [Mon, 21 Mar 2016 21:11:03 +0000 (14:11 -0700)]
Add buf_ans.h to the Makefile.
Change-Id: I6339912d240a1c2c3aa2f7303e7ca4d9721a29f4
Yaowu Xu [Mon, 21 Mar 2016 20:44:17 +0000 (20:44 +0000)]
Merge "Properly set rate_nocoef when pallete mode is used" into nextgenv2
Debargha Mukherjee [Mon, 21 Mar 2016 20:40:20 +0000 (20:40 +0000)]
Merge "Adds 1D transforms for ADST/FlipADST to make 16" into nextgenv2
Alex Converse [Wed, 17 Feb 2016 19:07:20 +0000 (11:07 -0800)]
Write MB tokens using the forward buffered ANS writer.
This allows sharing more code paths with the rest of the code an allows
for easier compatibility with the other experiments.
Change-Id: Id288b533805a4d0657ec2f17542f2e6ad23ebdb4
Alex Converse [Mon, 21 Mar 2016 18:41:32 +0000 (18:41 +0000)]
Merge "Add a placeholder forward buffered ANS coder." into nextgenv2
Debargha Mukherjee [Tue, 15 Mar 2016 05:30:09 +0000 (22:30 -0700)]
Adds 1D transforms for ADST/FlipADST to make 16
Makes a set of 16 transforms total, adding all 1D
combinations of ADST and FlipADST, and removng all DST
transforms.
lowres, midres both improve by about 0.1% and hdres by
-0.378% in BDRATE but with fewer transforms that are also
simpler.
Further experiments to continue later.
Change-Id: I7348a4c0e12078fdea5ae3a2d36a89a319ffcc6e
Yaowu Xu [Mon, 21 Mar 2016 17:28:29 +0000 (10:28 -0700)]
Properly set rate_nocoef when pallete mode is used
Change-Id: Iff04c82b3d3b5cf2c7700717c3c3d678bbbb9f9b
Angie Chiang [Fri, 18 Mar 2016 21:09:06 +0000 (14:09 -0700)]
mv vp10_fwd_txfm2d_#x# into vp10_rtcd.h
Change-Id: Iad7352698786791b0fd7c005a7edfd1724b71599
Angie Chiang [Thu, 17 Mar 2016 00:15:27 +0000 (17:15 -0700)]
Passing TXFM_TYPE instead of func pointer
This is to facilitate sse2 implementation
Change-Id: Id2f53e83c5508c4445d9b1bba00a649cb4da6b74
Jingning Han [Mon, 14 Mar 2016 22:04:58 +0000 (15:04 -0700)]
Refactor sub8x8 reference motion vector search function
Rework the interface to allow codec store the reference motion
vector list information for coding process.
Change-Id: I47e26587f6c0808655e4626f316ec7614a7ad8ed
Jingning Han [Thu, 17 Mar 2016 18:26:52 +0000 (11:26 -0700)]
Rework the DRL syntax entropy coding system
This commit re-designs the probability model for the syntax elements
of the dynamic motion vector referencing system.
Change-Id: Icfb8203c7e8f64e10e99f5890e25e6f6b15fe5d1
Jingning Han [Sat, 19 Mar 2016 00:40:04 +0000 (00:40 +0000)]
Merge "Enable dynamic motion vector referencing for newmv mode" into nextgenv2
Debargha Mukherjee [Fri, 18 Mar 2016 23:51:55 +0000 (23:51 +0000)]
Merge "Add ext_partition_types config option" into nextgenv2
Debargha Mukherjee [Fri, 18 Mar 2016 23:51:40 +0000 (23:51 +0000)]
Merge "Refactor bsse and skip_txfm in MACROBLOCK." into nextgenv2
Debargha Mukherjee [Fri, 18 Mar 2016 23:51:06 +0000 (23:51 +0000)]
Merge "Refactor save_context restore_context in rd_pick_partition." into nextgenv2
Debargha Mukherjee [Fri, 18 Mar 2016 23:50:25 +0000 (23:50 +0000)]
Merge "Refactor mbmi->inter_tx_size to 2D array." into nextgenv2
Sarah Parker [Fri, 18 Mar 2016 21:29:24 +0000 (21:29 +0000)]
Merge "Remove prune three from speed features" into nextgenv2
Sarah Parker [Fri, 18 Mar 2016 20:06:40 +0000 (13:06 -0700)]
Remove prune three from speed features
Not getting good results for this feature, will try again
when transforms are frozen.
Change-Id: Id12396786cb9369ad34d0bd845f7beba3a037726
Alex Converse [Wed, 17 Feb 2016 19:07:20 +0000 (11:07 -0800)]
Add a placeholder forward buffered ANS coder.
This buffered ANS coder supports coding the symbols in forward (decode)
order. Rather than windowing or growing the buffer, right now this
coder merely asserts that the buffer will never overflow.
This approach should allow ANS to be used as a drop in replacement for
other entropy coders rather than requiring complicated reversal logic
throughout the codebase.
Change-Id: I6689271233d0e22fea94c51950415dad5af96598
Yaowu Xu [Fri, 18 Mar 2016 18:38:56 +0000 (11:38 -0700)]
Two minor logic fixes
Change-Id: I1d5624fb2f34f87a55613036851034ec7c2d0b76
Marco Paniconi [Fri, 18 Mar 2016 17:58:03 +0000 (17:58 +0000)]
Merge "vp9: Improvement to skin detection."
Jingning Han [Tue, 15 Mar 2016 22:58:03 +0000 (15:58 -0700)]
Enable dynamic motion vector referencing for newmv mode
This commit enables the dynamic motion vector predictor for NEWMV
mode. It allows the codec to select the best motion vector predictor
in a rate-distortion optimization framework for motion vector
residual coding. The compression performance is improved:
lowres 0.14%
midres 0.27%
hdres 0.24%
Change-Id: I6a601c74eb6cb0b71a613336d40363359f2edecd
hui su [Thu, 17 Mar 2016 18:20:59 +0000 (11:20 -0700)]
Small speed up for super_block_uvrd
Eearly termination if U plane RD cost is large enough.
No notable compression performance changes.
Change-Id: Ieeefc5859cb55d94391b502b4bd840bc8bcb2578
Marco [Fri, 18 Mar 2016 15:38:29 +0000 (08:38 -0700)]
vp8-denoiser: Update on the sum_diff threshold.
Change-Id: I0d459c7ba358da287aff1c706279603d6d4d3c48
Geza Lore [Wed, 3 Feb 2016 11:42:29 +0000 (11:42 +0000)]
Refactor bsse and skip_txfm in MACROBLOCK.
Simple refactoring to 2 dimensional arrays, in preparation for 128
wide superblocks.
Change-Id: I40d447bd9fbd4f755534ea3cc82fc8f4676cea07
Geza Lore [Wed, 16 Mar 2016 18:03:57 +0000 (18:03 +0000)]
Refactor mbmi->inter_tx_size to 2D array.
This is in preparation of increasing the superblock size.
Change-Id: I9197e397399fbe8aec1178a45ea0337dd90412d7
Julia Robson [Fri, 18 Mar 2016 15:22:42 +0000 (15:22 +0000)]
Add ext_partition_types config option
Change-Id: I91d280a64d1da77be31004ea91d08d1a70529e42
Hui Su [Fri, 18 Mar 2016 05:01:56 +0000 (05:01 +0000)]
Merge "Minor bug fix in ex-intra experiment" into nextgenv2