- 16 Nov, 2015 1 commit
-
-
Jingning Han authored
Reset the effective range of inter_tx_size, instead of the entire array in the rate-distortion optimization loop. Change-Id: Id453fbd6dddfe69f4e451ba8518c083326d5dd53
-
- 13 Nov, 2015 1 commit
-
-
hui su authored
Coding gain remains about the same, while overall speed is substantially increased. Change-Id: I2989bebcfd21092cd6a02653d4df4a3bf6780874
-
- 11 Nov, 2015 1 commit
-
-
Jingning Han authored
This commit fixes an encoding failure case triggered when early termination feature is turned on for transform block size search. It resolves the corresponding enc/dec mismatch issue. Change-Id: I2c5b7d8b1efe25fe3810e6ed307f4b1865dede49
-
- 09 Nov, 2015 1 commit
-
-
Johann authored
Javan Whistling Duck release. Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
-
- 06 Nov, 2015 2 commits
-
-
hui su authored
On derflr, +0.1% for VP10; however, -0.03% on VP9. Change-Id: I09c724232ede74254043d61d3cadc506256af0af
-
Debargha Mukherjee authored
Adds a new interpolation experiment. Improves entropy coding to send the filter type only if the motion vectors have subpel components. Adds one new 8-tap smooth filter, and tweaks the others. derflr: +0.695% hevcmr: +0.305% About 5% encode slowdown. No visible impact for decoding. Also makes the interpolation framework flexible to support both strictly interpolating filters as well as non-interpolating filters that filter integer offsets. This is mainly for further experimentation and if not found useful the code will be removed. Change-Id: I8db9cde56ca916be771fe54a130d608bf10786e6
-
- 04 Nov, 2015 2 commits
-
-
Jingning Han authored
This commit refactors the rate-distortion optimization scheme for transform block coding. When both ext-tx and var-tx experiments are turned on, the encoding time for bus_cif at 1000 kbps goes down from 706377 ms to 666503 ms (5.6% speed-up). The coding statics remain unchanged. Change-Id: I20835db573725580aad79c16220f799ce01f2093
-
hui su authored
Currently there are two parts in this experiment: extra directional intra prediction modes and the filter intra modes migrated from the nextgen branch. Several macros are defined in "blockd.h" to provide controls of the experiment settings. Setting "DR_ONLY" as 1 (default is 0) means we only use directional modes, and skip the filter-intra modes; "EXT_INTRA_ANGLES" (default is 128) defines the number of different angles we want to support; setting "ANGLE_FAST_SEARCH" as 1 (default is 1) means we use fast sub-optimal search for the best prediction angle, instead of exhaustive search. The fast search is about 6 times faster than the exhaustive search, while preserving about 60% of the coding gains. With extra directional prediction modes (fast search), we observe the following code gains (number in parentheses is for all-key-frame setting): derflr +0.42% (+1.79%) hevclr +0.78% (+2.19%) hevcmr +1.20% (+3.49%) stdhd +0.56% Speed-wise, about 110% slower for key frames, and 30% slower overall. The gains of filter intra modes mostly add up with the gains of directional modes. The overall coding gain of this experiment: derflr +0.94% hevclr +1.46% hevcmr +1.94% stdhd +1.58% Change-Id: Ida9ad00cdb33aff422d06eb42b4f4e5f25df8a2a
-
- 03 Nov, 2015 2 commits
-
-
Jingning Han authored
This commit re-works the rate-distortion optimization scheme for transform coding. It improves the overall compression performance. For derf set, the ext-tx experiment provides 2.27% coding gains, and the new scheme that integrates multiple transform type selection and recursive transform block partitioning provides a total of 3.24% coding gains. Change-Id: Ia1887c4c44b73dfb915d091d96660a99f09d5cc3
-
Jingning Han authored
This commit hooks up the rate-distortion optimization system to fully exploit recursive transform block partition and multiple transform type. The compression performance of the two experiments largely adds up. For derf set, ext-tx provides additional 2.1% coding gains on top of the gains due to recursive transform block partition (0.69%). Change-Id: I1091fb9545f74e489a6a2489dc3c12f5abd05043
-
- 30 Oct, 2015 3 commits
-
-
Jingning Han authored
This commit allows the loop filter to account for the recursive transform block partition when selecting the filter and mask. Change-Id: I62b6c2dcc0497cbe1f264b03c46163f55d2c9752
-
Jingning Han authored
Change-Id: I3d90a0286c5ef559b91ad298db97e8990becf85f
-
Jingning Han authored
Allow the encoder to drop individual transform block coding. Change-Id: I2c2b2985254cb92baf891f03daa33f067279373b
-
- 29 Oct, 2015 2 commits
-
-
Jingning Han authored
This commit enables the entropy coding of the recursive transform block partition syntax. Change-Id: I0c2509fb7b9822d12a721f9ebf9327fac83c777e
-
Debargha Mukherjee authored
Allows inter and intra tx_types to have different sets of transforms for different tx_size/sb_type combinations. Change-Id: Ic0ac1daef7a9fb15c4210271e4d04cd36e5cec8e
-
- 28 Oct, 2015 2 commits
-
-
Jingning Han authored
Rework the rate distortion optimization pipeline. Use precise distortion metric that accounts for the forward and inverse transform rounding effect. Change-Id: Ibe19ce9791ec3547739294cc3012dd9e11f4ea49
-
Jingning Han authored
This commit makes the coefficient token packtization process account for variable transform block sizes supported in a single processing block. It fixes an enc/dec mismatch issue when var-tx, ext-tx, and misc-fixes experiments are all turned on. Change-Id: I2e8946e6f72de567603a568debbadad11196430c
-
- 27 Oct, 2015 1 commit
-
-
Jingning Han authored
Properly reset the early termination flag in the recursive transform block partitioning rate-distortion optimization scheme. Change-Id: Ibfe918f21f11dcb1ec267c09f954c635305cc95a
-
- 26 Oct, 2015 1 commit
-
-
Jingning Han authored
Use inter_block_yrd as rate-distortion optimization for lossless coding. This fixes transform coefficient buffer swap use case and resolves the unit test failure related to lossless coding. Change-Id: I1512dab5ed5760c31f7de21a06e8d9ed1eb081fa
-
- 23 Oct, 2015 3 commits
-
-
Jingning Han authored
This commit makes the recursive transform block partitioning properly handle the non-420 color format. It resolves an enc/dec mismatch issue in that setting when var-tx experiment is turned on. Change-Id: I48a91de02c11b3153f897d1cca0ae948eec15605
-
Jingning Han authored
Add the row and column index to the argument list of unit functions called by foreach_transformed_block wrapper. This avoids the repeated internal parsing according to the block index. Change-Id: Ie7508acdac0b498487564639bc5cc6378a8a0df7
-
Yaowu Xu authored
This commit fixes the merge conflicts between master and nextgenv2 and disable early termination in choose_tx_size() to avoid failure in test. The test failures are pre-existing, some of the issue were fixed in masterbase already, so will have another merge to introduce the fixes. Change-Id: Ib71889661955e73aedbb4db49d8be70425281dcb
-
- 22 Oct, 2015 2 commits
-
-
Jingning Han authored
Temporarily reset the transform type in the inter modes when recursive transform block partitioning is used. This resolves an enc/dec mismatch issue in nextgenv2 codebase when both var-tx and ext-tx experiments are turned on. Change-Id: I2543f0a567243da95b237752d46964b07b669ad9
-
Jingning Han authored
Clear the compiler errors when both high bit-depth and recursive transform block partition experiments are enabled. Change-Id: If0b6396851f10c28b4f26350322ccd1ba2fc9aff
-
- 16 Oct, 2015 4 commits
-
-
Ronald S. Bultje authored
Some more testing of this patch would probably be useful, but I think the basics of it should work fine now. See issue 1035. Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245
-
Ronald S. Bultje authored
This experiment allows using full above/right edges for all transform sizes whenever available (for d45/d63), and adds bottom/left edges for d207. See issue 1043. Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
-
Ronald S. Bultje authored
This has various benefits: - simplify implementations because we don't have to switch between multiple probability tables depending on frametype - allows fw subexp and bw adaptivity for partitions/uvmode in keyframes See issue 1040 point 5. Change-Id: Ia566aa2863252d130cee9deedcf123bb2a0d3765
-
hui su authored
Account for rounding in distortion calculation in k-means; carry out rounding before duplicates removal of base colors; replace numbers with macros; use prefix increment. Slight coding gain (<0.1%) on screen_content testset. Change-Id: Ie8bd241266da6b82c7b2874befc3a0c72b4fcd8c
-
- 15 Oct, 2015 3 commits
- 13 Oct, 2015 3 commits
-
-
Jingning Han authored
It makes the encoder 5% faster for CIF clips and 12% faster for 1080p clips. Change-Id: I073408dbb4d50675a79db8794fe73975ac957b91
-
Jingning Han authored
This commit re-designs the recursive transform block partition rate-distortion optimization framework. It allows the encoder to improve speed by 10%. Change-Id: I6dd3a7dd428a530d8012e5c6ddc40e650c8b392b
-
Jingning Han authored
This commit enables the rate-distortion optimization for recursive transform block coding scheme. Change-Id: Id6a8336ca847bb3af1e94cbfb51db1f4da12d38f
-
- 12 Oct, 2015 2 commits
-
-
Ronald S. Bultje authored
This actually has no effect whatsoever, since the input MVs themselves are clamped by clamp_mv_ref() already, which is significantly more restrictive in its bounds. Change-Id: I4a3a7b2b121ee422c56428c2a12d930c3813c06e
-
hui su authored
Add palette mode for keyframe luma channel. Palette mode is enabled when using "--tune-content=screen" in encoding config parameters. on screen_content testset: +6.89% on derlr : +0.00% Design doc (WIP): https://goo.gl/lD4yJw Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88
-
- 09 Oct, 2015 1 commit
-
-
Jingning Han authored
This commit makes the rate-distortion optimization for chroma component support the recursive transform block coding scheme. Change-Id: I1bfed6d05b0ebb3905cb625222401e2ccbae10f3
-
- 08 Oct, 2015 1 commit
-
-
Jingning Han authored
This commit allows the decoder to recursively parse and rebuild the pixel blocks. Change-Id: I510f3a30ae7cdad5b70725c66882b00a0594e96f
-
- 07 Oct, 2015 2 commits
-
-
Jingning Han authored
Add the row and column index to the argument list of unit functions called by foreach_transformed_block wrapper. This avoids the repeated internal parsing according to the block index. Change-Id: I42b3578eac258ebaba7a7c74f684de9abab521a6
-
Jingning Han authored
Change-Id: Id7f7a9b2e53fc0074b55d58143f296afad6b844e
-