- 31 Oct, 2011 - 1 commit
-
-
Paul Wilkins authored
Some correction for entropy impact of segment signaled (EOB and ref frame) Other slight tweaks. Derf VBR average gain now over 1% (best over 7%) One YT test clip has gains of circa 30% (VBR) There is still an issue with noisy clips where making the background static and coded with 0,0 can have a negative effect, especially at low Q. This is probably because of the loss of smoothing by fractional pixel filters. Change-Id: I7a225613c98067b96f8fc7a7e36f95d465b2b834
-
- 27 Oct, 2011 - 1 commit
-
-
Paul Wilkins authored
Resolved experimental branch build problem when seg_features not configured. Change-Id: Ia0f9b460a26dc3eac9844ee595a7b196e9faf6a5
-
- 25 Oct, 2011 - 1 commit
-
-
Yaowu Xu authored
-
- 24 Oct, 2011 - 3 commits
-
-
Yaowu Xu authored
Prior to the added rounding, tests on randomly generated data showed that forward-inverse transform round trip errors are about 3.02/block for input range [-10,10] and 2.68/block for input range [-256, 255]. The added rounding reduced the errors to 0.031/block for input range [-10,10] and 0.037/block for input range [-256, 255]. Maximum round trip error on for any pixel position is 1. The average errors are calculated based on 100,000 blocks of randomly with the specified ranges. Paul mentioned in discussion that the change was not clear on why we need change the rounding, so Patch 2 intends to make the rationale obvious in code, it merged the two separate shifts into one, and the two separate rounding factors into one. Patch 1 and 2 have same numerical test results. Change-Id: Ic5e2f5463de17253084d8b2398c4a210194b20de
-
Paul Wilkins authored
Only encode sign bit for feature data that can have a sign. Tweaks to the test segmentation rules so that it now actually gives a net benefit on the derf set of about 0.4% though much higher on some clips at the low end. Change-Id: I8e61f1aebf41c9037db7e67e2f8975aa18a0c986
-
Paul Wilkins authored
This quite large check in includes the following: Merge in some code from Ronald (mbgraph.c) that scans a Gf/arf group. This is used as a basis for a simple segmentation for the normal frames in a gf/arf group. This code also uses satd functions from Yaowu. Adds functionality for coding the latest possible position of an EOB for blocks in the segment. (Currently 0-15 only, hence just for 4x4 dct). Where the EOB position is 0 this acts like "skip" and the normal coding of skip at the per mb level is disabled. Added functions (seg_common.c) for setting and reading segment feature elements. These may want to be optimized away at some point but while the mecahnism is in a state of flux they provide a single location for making changes and keep things a bit cleaner. This is still proof of concept code. Currently the tested feature set:- Quantizer, Loop Filter level, Reference frame, Prediction Mode, EOB end stop. TBD:- Add functions for setting and reading the feature...
-
- 14 Oct, 2011 - 1 commit
-
-
Yaowu Xu authored
Given the current forward haar transform: f0 = I0 + I1 + I2 + I3 f1 = I0 + I1 - I2 - I3 f2 = I0 - I1 + I2 - I3 f3 = I0 - I1 - I2 + I3 the output of the inverse haar prior rounding: i0 = f0 + f1 + f2 + f3 = I0 * 4; i1 = f0 + f1 - f2 - f3 = I1 * 4; i2 = f0 - f1 + f2 - f3 = I2 * 4; i3 = f0 - f1 - f2 + f3 = I3 * 4; As all the numbers are 4 multiples, simply >>2 always produces prefect results in term of forward-inverse transform round trip error. Change-Id: Id6658b00ea819ee61cfeef8c5985d4cd3e77f44e
-
- 08 Oct, 2011 - 1 commit
-
-
Yaowu Xu authored
When 8x8 transform is enabled, the decoder does an extra reconstruct on MBs that are coded using 8x8. This commit fixed the logic around the decoding of mb encoded with 8x8 transform. Change-Id: I6926557c9ef00eecb375f62946f7e140c660bf6f
-
- 30 Sep, 2011 - 2 commits
-
-
Paul Wilkins authored
Proof of concept test code that encodes mode and reference frame data at the segment level. Decode-able bit stream but some issues not yet resolved. As it this helps a little on a couple of clips but hurts on most as the basis for segmentation is unsound. To build and test, configure with --enable-experimental --enable-segfeatures Change-Id: I22a60774f69273523fb152db8c31f4b10b07c7f4
-
Paul Wilkins authored
New setting added to configure script
-
- 22 Sep, 2011 - 1 commit
-
-
John Koleszar authored
-
- 21 Sep, 2011 - 3 commits
-
-
John Koleszar authored
-
John Koleszar authored
Change-Id: I4e515276d197e1dfb1f3e75edfa9823d08c9b366
-
John Koleszar authored
-
- 20 Sep, 2011 - 10 commits
-
-
Fritz Koenig authored
Search for the word EQU so that extraneous symbols are not matched. Change-Id: Ice6c9ca886211e2ca8a2f5174bdd4103db5c4989
-
Fritz Koenig authored
These files don't contain generic arm code, so should only be compiled by neon. Change-Id: Ie712823aa04d4235e7cfe7a3b725e73ee4c3e564
-
Johann authored
-
Johann authored
-
Johann authored
-
Johann authored
-
Tero Rintaluoma authored
- Removed fast_fdct4x4_neon and fast_fdct8x4_neon - Uses now short_fdct4x4 and short_fdct8x4 - Gives ~1-2% speed-up on Cortex-A8/A9 Change-Id: Ib62f2cb2080ae719f8fa1d518a3a5e71278a41ec
-
Tero Rintaluoma authored
Rd and Rm registers should be different in 'mul'. This register combination results in unpredictable behaviour. GCC will give a warning and RVCT an error in this case. Restriction applies only to armv5 targets and not for armv6 and above. Change-Id: I378d17c51e1f16a6820814fbed43e115aaabb03e
-
John Koleszar authored
Change-Id: I717768a6b248bd4ae3a96f711287758ba78a384a
-
John Koleszar authored
-
- 19 Sep, 2011 - 3 commits
-
-
Stefan Holmer authored
These changes fixes a glitch between the RTP profile and the input partitions interface. Since there's no way for the user to know the actual number of partitions, the decoder have to read the multi_token_paritition bits also when input partitions mode is enabled. Included are also a couple of fixes for issues with independent partitions and uninitialized memory reads. Change-Id: I6f93b15287d291169ed681898ed3fbcc5dc81837
-
Tero Rintaluoma authored
- Updated walsh transform to match C (based on Change Id24f3392) - Changed fast_fdct4x4 and 8x4 to short_fdct4x4 and 8x4 correspondingly Change-Id: I704e862f40e315b0a79997633c7bd9c347166a8e
-
Tero Rintaluoma authored
Modified original patch If2f07220885c4c3a0cae0dace34ea0e36124f001 according to comments. Scheduled code a little bit to prevent some interlocks. Change-Id: I338f02b881098782f82af63d97f042b85e63e902
-
- 18 Sep, 2011 - 1 commit
-
-
John Koleszar authored
-
- 17 Sep, 2011 - 3 commits
-
-
John Koleszar authored
Change-Id: I83fd03ca0970314c81e834857cbd911dffa9a9de
-
John Koleszar authored
-
John Koleszar authored
-
- 16 Sep, 2011 - 8 commits
-
-
Yaowu Xu authored
This commit added a 3 bit index to the bitstream, the index is used to look into the intra mode coding entropy context table. The commit uses the mode stats to calculate the cost of transmitting modes using 8 possible entropy distributions, and selects the distribution that provides the lowest cost to do the actual mode coding. Initial test show this provides additional .2%~.3% gain over quantizer adaptive intra mode coding. So the adaptive intra mode coding provides a total of .5%(psnr) to .6% gain(ssim) combined for all-key-encoding To build and test, configure with --enable-experimental --enable-qimode Change-Id: I7c41cd8bfb352bc1fe7c5da1848a58faea5ed74a
-
Yaowu Xu authored
make intra mode coding entropy distribution adaptive to baseQindex, an encoding test on hd clips with all key frame shows universal gain on all clips in both .2%(psnr) and (ssim).3%. To build and test, configure with --enable-experimental --enable-qimode Change-Id: Iaa69241b984d4fdd8baa6d77ee78c0140f5ac00a
-
Yaowu Xu authored
Patch 1 to Patch 3 is an initial implementation of 8x8 intra prediction modes, here are with the following assumptions: a. 8x8 has 4 prediction modes DC, H, V and TM b. UV 4x4 block use the same mode as corresponding 8x8 area c. i8x8 modes are enabled for key frame only for now Patch 4: d. removed debug code from previous patches Patch 5: e. added stats code to collect entropy stats and further cleaned up Patch 6: f. changed mode stats code to collect finer stats of modes Patch 7: g. normalized i8x8 modes distribution to total at 256 (8bits). Patch 8: h. fixed a bug in decoder and removed debug printf output. Patch 9: i. more cleanups to address paul's comment Patch 10: j. messy rebase/merges to bring the commit up to date. Tests on HD clips encoded with all key frame showing consistent gain on all clips and all metrics:~0.5%(psnr) and 0.6%(ssim): http://www.corp.google.com/~yaowu/no_crawl/i8x8hd_allkey_fixedq.html To build and test, configure with: --enable-experimental --enable-i8x8 Change-Id: I9813fe07ae48cab5fdb5d904bca022514ad01e7f
-
John Koleszar authored
-
John Koleszar authored
Conflicts: vp8/decoder/decodframe.c vp8/encoder/encodeframe.c vp8/encoder/encodemb.c Change-Id: I6e0d1669e4409a2dfd73ba2c7038d730842d3953
-
John Koleszar authored
-
John Koleszar authored
Change-Id: I20df6781013786cbf56ded31e1c726de6c34bc42
-
Stefan Holmer authored
Change-Id: I5b47d39d1604f2650d2f2d1ca2a3f40843c8e1ea
-
- 15 Sep, 2011 - 1 commit
-
-
Paul Wilkins authored
Plumbing for tuning new segment features on and off. Change-Id: If86cd6f103296b73030e8af7cf85c5b9bbffdbaf
-