- 17 Oct, 2012 - 2 commits
-
-
John Koleszar authored
This commit moves a bit of data that ended up packed with the modes/mv/residual partition during the change to interleaved encoding into partition 0 where it belongs. Change-Id: Ic711a378c58d9d6a17254384f492c213a15bad92
-
John Koleszar authored
Packs the bitstream with each mb's residual following its mode/mv information. TODO: There are still a few fields that should be packed into partition 0 but are included in partition 1, due to them being serialized from write_kfmodes/pack_inter_mode_mvs, which execute after the first partition is finalized. These need to be separated out into a separate function, similar to mb_mode_mv_init() in decodemv.c. Change-Id: I43a46c363601ab36954d07ebe498760e1e2e3af4
-
- 16 Oct, 2012 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I0681d3183f51627be8c2bb76f343b7270f9116d8
-
- 15 Oct, 2012 - 11 commits
-
-
Ronald S. Bultje authored
It is essentially a duplicate of mode for RD-only purposes. Removing it saves us 4 bytes per B_MODE_INFO, or ~0.5MB for a 1080p video encode. Change-Id: I0a54db5f51658b3946d7efb1ca6e8cfbda0cdf88
-
Ronald S. Bultje authored
The variable is essentially a duplicate of mode for RD-only purposes. Removing it gives identical results, and saves 4 bytes per macroblock (i.e. 32.5kB for a 1080p HD video encode). Change-Id: I22d5058fdb80ab0b69862caee825e9d86bb148b3
-
Ronald S. Bultje authored
Change-Id: Ieb38c7aae91dbaca4a8add204fa84e1cfc459933
-
Ronald S. Bultje authored
This way a caller doesn't need to implement the logic for which (and how many) tokens to write out to stuff one macroblock worth of EOBs. Make the actual function implementations static, since they are now only used in tokenize.c; also do some minor stylistic changes so it follows the style guide a little more closely; use PLANE_TYPE where appropriate, remove old (stale) frame_type function arguments; hardcode plane type where only a single one is possible (2nd order DC or U/V EOB stuffing); support stuffing 8x8/4x4 transform EOBs with no 2nd order DC. Change-Id: Ia448e251d19a4e3182eddeb9edd034bd7dc16fa3
-
Ronald S. Bultje authored
Change the macros PLANE_TYPE_{Y_NO_DC,Y2,UV,Y_WITH_DC} to a typed enum, and use this typed enum consistently across all places where relevant. In places where the type is implied (e.g. in functions that only handle second order planes or chroma planes), remove it as a function argument and instead hardcode the proper enum in the code directly. Change-Id: I93652b4a36aa43163d49c732b0bf5c4442738c47
-
Ronald S. Bultje authored
Also merge the three occurrences of 4x4 chroma block writing into a single function, and call that function instead of duplicating the 4x4 chroma tokenization code in 3 places. Change-Id: I7913538d1029f709b0e3ae49fff1148d3be9eeb9
-
Ronald S. Bultje authored
Merge code blocks for different transform sizes; use MACROBLOCKD as a temp variable where that leads to smaller overall source code; remove duplicate code under #if CONFIG_HYBRIDTRANSFORM/#else blocks. Some style changes to make it follow the style guide a little better. Change-Id: I1870a06dae298243db46e14c6729c96c66196525
-
Ronald S. Bultje authored
It is not used outside this file. Change-Id: Id0947180edab4c5f1f50589863350b21e97c25f1
-
Ronald S. Bultje authored
The result of the assignment is unused. Change-Id: Id94b790baa6451f24e9aeda6f036390388d93921
-
Ronald S. Bultje authored
Instead, just call vp8_optimize_mby/uv_NxN() inside optimize_mb_NxN(). Change-Id: Ief941064d86db4277ba02e990a26819144b55f7c
-
Ronald S. Bultje authored
Also make some minor stylistic changes to bring the code closer to the style guide. Remove distinction between inter and intra transform functions, since both do exactly the same thing except for the check against SPLITMV for the second-order transform. Remove some commented out debug code. Remove 8x8/16x16 transform code in encode_inter16x16y(), since the first-pass only uses 4x4 anyway. Change-Id: Ife54816ff759825b9141f95dc2ba43c253c14dba
-
- 14 Oct, 2012 - 5 commits
-
-
Ronald S. Bultje authored
Also make some minor stylistic changes to bring the code closer to the style guide. Remove checks against i8x8/bpred in the mb-codepath, since these do individual block reconstruction and thus don't go through this codepath. Change-Id: I4dfcf8f78746f4647a206475acf731837aa4fd47
-
Ronald S. Bultje authored
This includes trellis optimization, forward/inverse transform, quantization, tokenization and stuffing functions. Change-Id: Ibd34132e1bf0cd667671a57b3f25b3d361b9bf8a
-
Ronald S. Bultje authored
Change-Id: I55ee7566341b04d7e7340fdab95189f82231a792
-
Jim Bankoski authored
This reverts commit 2113a831
-
Jim Bankoski authored
Code clean up - removed rtcd Change-Id: Id963ecf53c370b1d99484ef18d6befeed7e0c748
-
- 12 Oct, 2012 - 3 commits
-
-
Yaowu Xu authored
This allowed decoding from any key frame after skipping the frames prior. Change-Id: I096fccad5346d75ae50a017c94eb8d772a7e8b00
-
Ronald S. Bultje authored
Entropy coding takes care of this anyway, and this causes changes to the txfm size assigned to skip blocks, which can affect the loopfilter output, thus causing encoder/decoding mismatches. Change-Id: I591a8d8a4758a507986b751a9f83e6d76e406998
-
Ronald S. Bultje authored
Change-Id: Ib74824c824f7ebb279e7df8eb32440d4d65fbd79
-
- 11 Oct, 2012 - 2 commits
-
-
Ronald S. Bultje authored
Change-Id: Iecb282fc89f9b5145ef31c5eda294ad42bc32a5d
-
Deb Mukherjee authored
Change-Id: I22aa803ffff330622cdb77277e7b196a9766f882
-
- 10 Oct, 2012 - 1 commit
-
-
Jim Bankoski authored
Convert copy16x16 from invoke to rtcd. The first in a long string of converts. Change-Id: I296b0aa32f40e9fb649f7a3cb914a4e5300cad63
-
- 09 Oct, 2012 - 2 commits
-
-
John Koleszar authored
Use the common update_skip_probs() function rather than duplicating its logic in write_kf_modes(). Change-Id: I2890a28f6907cb79ffe0fb21d20f0ef98b85cdd9
-
Ronald S. Bultje authored
Results: derf (vanilla or +hybridtx) +0.2% and (+hybrid16x16 or +tx16x16) +0.7%-0.8%; HD (vanilla or +hybridtx) +0.1-0.2% and (+hybrid16x16 or +tx16x16) +1.4%, STD/HD (vanilla or +hybridtx) about even, and (+hybrid16x16 or +tx16x16) +0.8-1.0%. Change-Id: I03899e2f7a64e725a863f32e55366035ba77aa62
-
- 05 Oct, 2012 - 2 commits
-
-
Deb Mukherjee authored
A variety of issues related to tangling of various hybrid transform experiments. Change-Id: I84dac65ff513f8b024407760df55fffa95e198de
-
Paul Wilkins authored
This commit fixes unsafe simd / floating point interactions arising from the current hybrid and 16x16 transform implementation. These led to a raft of bugs and issues when the project was built using VS2008 for Win32 though they did not show up with the unix builds. Gerrit makes a meal out of presenting the fix but all I have actually done is indent the body of each function that uses floating point by one level and bracket with emms instructions using the function vp8_clear_system_state(). See below. function () { vp8_clear_system_state(); { ... function body } vp8_clear_system_state(); } This is almost certainly over the top in terms of number of emms instructions but is a temporary measure pending implementation of integer variants of each function to replace the floating point. Limited testing suggests that this fixes the problems that arose for Win32 VS2008 when the hybrid or 16x16 transforms were enabled. Change-Id: I7c9a72bd79315246ed880578dec51e2b7c178442
-
- 27 Sep, 2012 - 1 commit
-
-
Deb Mukherjee authored
Separates the entropy coding context models for 4x4, 8x8 and 16x16 ADST variants. There is a small improvement for HD (hd/std-hd) by about 0.1-0.2%. Results on derf/yt are about the same, probably because there is not enough statistics. Results may improve somewhat once the initial probability tables are updated for the hybrid transforms which is coming soon. Change-Id: Ic7c0c62dacc68ef551054fdb575be8b8507d32a8
-
- 21 Sep, 2012 - 1 commit
-
-
Deb Mukherjee authored
With this change, even if hybridtransform8x8 experiment is off, 8x8 dct is used for the I8x8 mode. However note that the gains observed with the hybridtransform8x8 experiment will now be less, since part of the gain is now merged in. Change-Id: I9afb3880906fd0a1368a374041fc08efcf060c54
-
- 20 Sep, 2012 - 1 commit
-
-
Yaowu Xu authored
for MBs using i8x8 prediciton mode when hybridtransform8x8 is not enabled in configure. Change-Id: I3e3c8bb1c0261108c1c71213ca9557b0ce558036
-
- 14 Sep, 2012 - 2 commits
-
-
Yaowu Xu authored
Change-Id: I34569375e520759860504c3dfb17a2c27ceb9aed
-
Yaowu Xu authored
The commit changed to use 3 rows above and 3 cols from left for SAD scoring for selecting the best reference motion vector. The change helped std-hd set by >.2% on psnr/ssim metrics. Change-Id: Ifad3b528d0b4b6e3c22518af789d76eff23c1520
-
- 13 Sep, 2012 - 1 commit
-
-
Adrian Grange authored
Removed spurious line that has no effect. Change-Id: I9dc90babbbfcaca049d4a40dc996edc7de123e01
-
- 12 Sep, 2012 - 2 commits
-
-
Deb Mukherjee authored
The high-precision (1/8) pel bit is turned off if the reference MV is larger than a threshold. The motivation for this patch is the intuition that if motion is likely large (as indicated by the reference), there is likley to be more motion blur, and as a result 1/8 pel precision would be wasteful both in rd sense as well as computationally. The feature is incorporated as part of the newmventropy experiment. There is a modest RD improvement with the patch. Overall the results with the newmventropy experiment with the threshold being 16 integer pels are: derf: +0.279% std-hd: +0.617% hd: +1.299% yt: +0.822% With threshold 8 integer pels are: derf: +0.295% std-hd: +0.623% hd: +1.365% yt: +0.847% Patch: rebased Patch: rebase fixes Change-Id: I4ed14600df3c457944e6541ed407cb6e91fe428b
-
Deb Mukherjee authored
Some cleanups on the transform size and type selection logic. Change-Id: If2e9675459482242cf83b4f7de7634505e3f6dac
-
- 11 Sep, 2012 - 1 commit
-
-
Debargha Mukherjee authored
This reverts commit c5af82b7 There was a mismatch bug introduced by this patch. Hence reverting until it is fixed.
-
- 10 Sep, 2012 - 1 commit
-
-
Deb Mukherjee authored
Some cleanups that will make it easier to maintain the code and incorporate upcoming changes on entropy coding for the hybrid transforms. Change-Id: I44bdba368f7b8bf203161d7a6d3b1fc2c9e21a8f
-
- 07 Sep, 2012 - 1 commit
-
-
Paul Wilkins authored
This commit merges those parts of the CONFIG_NEW_MVREF that specifically relate to choosing a better set of candidate MV references into the NEWBESTREFMV experiment. CONFIG_NEW_MVREF will then be used for changes relating to the explicit coding of a cost optimized MV reference in the bitstream as part of MV coding. Change-Id: Ied982c0ad72093eab29e38b8cd74d5c3d7458b10
-