- 29 Mar, 2012 - 1 commit
-
-
Deb Mukherjee authored
Found this bug while tracking down some anomalies in my experiments. Since vp8_cost_one and vp8_cost_zero return unsigned int, the bit shift by 8 will be incorrect if the value is negative. I am cautiously optimistic that this fix will make the prob updates more correct and somewhat improve results across the board. But the update probabilities will need to be retuned I think. Patch 2: Adding more of the same fixes using a macro. Change-Id: I1a168f040e74e8c67e7225103b1c2af9a611da49
-
- 22 Mar, 2012 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: Ia52ac825400eb83ff663e3a05a3fe0b3526bac9a
-
- 21 Mar, 2012 - 5 commits
-
-
Yaowu Xu authored
When ac_yquant>171, a key frame is enabled to use 8x8 transform. In such case, MBs with DC_PRED or TM_PRED are selected to use T8x8. This change helped the full STD-HD set by ~.1% or so, which is reasonable considering how often key frame occurs in these encodings. Change-Id: Id17009ef6327252177b19e6bf0d6628827febaf1
-
Paul Wilkins authored
Deprecate fast quant and strict_quant code. Small effect on quality as fast was used in first pass but the effect is basically neutral across the derf set. The rationale here is to reduce the number of code paths for now to make experimentation easier. Optimized and fast code options can be re-introduced later along with other encode speed options. Change-Id: Ia30c5daf3dbc52e72c83b277a1d281e3c934cdad
-
Paul Wilkins authored
Change-Id: Id2412a7f24a7c1016ec9fc3b9b0fbd16871f374a
-
Deb Mukherjee authored
Various refactoring to make the subpel motion compensation filters switchable by a frame level field. Two types of 8-tap filters are supported in addition to the existing bilinar and sixtap filters. One is the default 8-tap and the other has a sharper cut-off for use with frames with substantial edge content. Patch 2: Added a preliminary strategy for filter selection based on edginess detecton. Also includes some filter changes. Change-Id: I866085bda5ae143cfdf2ec88157feaabdf7bd63a
-
Deb Mukherjee authored
Using contextual coding of the mkb_skip_coeff flag using the values of this flag from the left and above. There is a small improvement of about 0.15% on Derf: http://www.corp.google.com/~debargha/vp8_results/mbskipcontext.html Refactored to use pred_common.c by adding a new context type. Results on HD set (about 0.66% improvement): http://www.corp.google.com/~debargha/vp8_results/mbskipcontext_hd.html Incliding missing refactoring to use the pred_common utilities. Change-Id: I95373382d429b5a59610d77f69a0fea2be628278
-
- 15 Mar, 2012 - 1 commit
-
-
Yaowu Xu authored
The recoding loop save and restore frame coding context for recodes. However in recoding of key frames, some of the coding context saved was stale from last encoded inter frame. The save/restore sometimes overwrites the re-inintialized coding context with saved context from last frame, resulting in encoder/decoder mismatch Change-Id: I354ae2f71074d142602d51d06544c05a2462caaf
-
- 07 Mar, 2012 - 2 commits
-
-
Yaowu Xu authored
Removed the copy in encoder and changed to use the one in common Change-Id: Ief0985a50ffd6053a269638fd4816b055ca273ec
-
Paul Wilkins authored
Pulled out super block code for the snapshot as this is not quite ready and will need an extensive re-merge. Change-Id: I436369b511257447a7b0ea064016cb63f5011849
-
- 06 Mar, 2012 - 2 commits
-
-
Jim Bankoski authored
https://gerrit.chromium.org/gerrit/#change,17319 fixes cost estimating to take skip_eob into account. No quality difference seen on derf set tests, but about .4% gain on STD_HD set. Change-Id: Ic5fe6d35ee021e664a6fcd28037b8432a0e470ca
-
Yaowu Xu authored
Change-Id: I4159ff365953598d9c9bc3ecacfb5c5f4a315b45
-
- 05 Mar, 2012 - 5 commits
-
-
Ronald S. Bultje authored
This gives a modest gain on derf overall, although at low bitrates the cost is still too high, so this can be improved further. Patch 2. Re-base and fix 80 column issues Change-Id: Ida2f9fa3fe75370669f6a27b37108dc602231c63
-
Yaowu Xu authored
The commit changed to compute UV intra RD estimates for 4x4 and 8x8 separately to be used in mode decision for MB modes associated with the appropriate transform size respectively. Now finally after many other changes related 8x8 quantizer zbin boost and zbin_mode_boost, this change overall helps the HD(with 8x8) by around ~.13%. (avg .13% glb .13% ssim .17%) The commit also has a few changes for eliminating compiler warnings. Change-Id: Ibab35dad44820c87e6b44799c66f8d519cc37344
-
Yaowu Xu authored
The commit added the correct Zbin_mode_boost initialization based on Intra Mode before using rate distortion to pick UV intra mode. Change-Id: I8e57878ff356a06672f6fa2431be860bf9b9a5c7
-
Yaowu Xu authored
Change-Id: I4ea6d819bbbde312792c4f813ab63ea50cf0cd1d
-
Paul Wilkins authored
Change-Id: I6ade229ff400fe492709010ac5bada37f8afa73e
-
- 01 Mar, 2012 - 4 commits
-
-
Yaowu Xu authored
Change-Id: I8e9b6b154e1a0d0cb42d596366380d69c00ac15f
-
Yaowu Xu authored
need further investigation on some odd behavior on one youtube clip Change-Id: Iec477986a86b54ef26df2ef69d2f9484e2d1a043
-
Deb Mukherjee authored
Change-Id: Ie5a7c87d71bd4a541463b68704620d89cec142cf
-
Paul Wilkins authored
Incorrect scaling of savings for t8x8. Change-Id: If01e08f8c73faa73afc3c70e501e6acc54d7e26f
-
- 29 Feb, 2012 - 4 commits
-
-
Yaowu Xu authored
Change-Id: I3b8a230d5b119910e6a6767331a4d97768089355
-
Ronald S. Bultje authored
Change-Id: Ibcd2b9b247ff9f83331dac47f91ec285e8955ff1
-
Ronald S. Bultje authored
Also remove duplicate build_intra_predictors_mby/uv(). Change-Id: I78607e7304952a9b962a5b25af9bb9c48692187b
-
Yaowu Xu authored
The commit fixed a problem where 8x8 regular quantizer was using the 4x4 zbinboost lookup table that only has 16 entries at each Q. The commit assigned a uniform zbin boost value for all cases that there are more than 16 consective zeros. The change only affects MBs using 8x8 transform. The fix has a slightly positive impact on quality. Test results: http://www.corp.google.com/~yaowu/no_crawl/hd_fixzbinb.html (avg psnr: .26% glb psnr: .21% ssim: .28%) Results on cif size clip are also positive even though gain is smaller http://www.corp.google.com/~yaowu/no_crawl/derf_fixzbinb.html Change-Id: Ibe8f6da181d1fb377fbd0d3b5feb15be0cfa2017
-
- 28 Feb, 2012 - 5 commits
-
-
Deb Mukherjee authored
This is the first patch for refactoring of the code related to high-precision mv, so that 1/4 and 1/8 pel motion vectors can co-exist in the same bit-stream by use of a frame level flag. The current patch works fine for only use of 1/4th and only use of 1/8th pel mv, but there are some issues with the mode switching in between. Subsequent patches on this change Id will fix the remaining issues. Patch 2: Adds fixes to make sure that multiple mv precisions can co-exist in the bit-stream. Frame level switching has been tested to work correctly. Patch 3: Fixes lines exceeding 80 char Patch 4: http://www.corp.google.com/~debargha/vp8_results/enhinterp.html Results on derf after ssse3 bugfix, compared to everything enabled but the 8-tap, 1/8-subpel and 1/16-subpel uv. Overall the gains are about 3% now. Hopefully there are no more bugs lingering. Apparently the sse3 bug affected the quartel subpel results more than the eighth pel ones (which is understandabale because one bad predictor due to the bug, matters less if there are a lot more subpel options available as in the 1/8 subpel case). The results in the 4th column correspond to the current settings. The first two columns correspond to two settings of adaptive switching of the 1/4 or 1/8 subpel mode based on initial Q estimate. These do not work as good as just using 1/8 all the time yet. Change-Id: I3ef392ad338329f4d68a85257a49f2b14f3af472
-
Yaowu Xu authored
The commit overall on derf test is break even to very slightly positive comparing to all 4x4 transform. Change-Id: I2a7c19599aa54c2d3a5b35db0dc891ba8a6a2b26
-
Paul Wilkins authored
Removal of some further code relating to partitions and error resilience. Spelling correction. Change-Id: I36067aae67a4a23bec359541dda3400b0bbf26d0
-
Paul Wilkins authored
Removal of code relating to token partitioning Change-Id: Iaf3c88d6758639a55bd92c3be5c51e6bed407a3c
-
Yaowu Xu authored
The "update" variable was used as a flag in coef_prob update dry run that tests if a frame should encodes update at all. The wrong init value forced the update happening always. fixing this has a minor improvement in low bit rate situation when 8x8 transform is allowed. Change-Id: Icb498e8d6a62fd074dcbc2065b797cba9237cb51
-
- 27 Feb, 2012 - 1 commit
-
-
Paul Wilkins authored
Apparently the correct spelling of segement is segment ! Change-Id: I88593ee0523f251b3a96794c6166ef8c7898a029
-
- 26 Feb, 2012 - 1 commit
-
-
Paul Wilkins authored
Removal of error_resilient_mode features. The interface has been left in place but does nothing. Change-Id: I2407863bd0d3c98407354507423ca48d29f63b17
-
- 25 Feb, 2012 - 2 commits
-
-
Paul Wilkins authored
For now the interface elements have been left in place to make sure existing parameter files work but parameters relating to drop frame wont do anything. Change-Id: I579ee614726387381c546845dac4bc03c74c6a07
-
Deb Mukherjee authored
Fixes a bug that was introduced in the high precision mv patch. Change-Id: Ieadb433ebe4c3ef3e0e63944dab11528bf8bd73a
-
- 24 Feb, 2012 - 3 commits
-
-
Paul Wilkins authored
Removal of code relating to spatial re sampling Change-Id: Iff1bc651c62cd528f960c4b27f9673b172e68835
-
Paul Wilkins authored
Change-Id: Ifdb17b56090a317b2aa82cf125d57934902c5298
-
Paul Wilkins authored
Removed redundant code for ref frame cost.
-
- 23 Feb, 2012 - 1 commit
-
-
Deb Mukherjee authored
This is the initial patch for supporting 1/8th pel motion. Currently if we configure with enable-high-precision-mv, all motion vectors would default to 1/8 pel. Encode and decode syncs fine with the current code. In the next phase the code will be refactored so that we can choose the 1/8 pel mode adaptively at a frame/segment/mb level. Derf results: http://www.corp.google.com/~debargha/vp8_results/enhinterp_hpmv.html (about 0.83% better than 8-tap interpoaltion) Patch 3: Rebased. Also adding 1/16th pel interpolation for U and V Patch 4: HD results. http://www.corp.google.com/~debargha/vp8_results/enhinterp_hd_hpmv.html Seems impressive (unless I am doing something wrong). Patch 5: Added mmx/sse for bilateral filtering, as well as enforced use of c-versions of subpel filters with 8-taps and 1/16th pel; Also redesigned the 8-tap filters to reduce the cut-off in order to introduce a denoising effect. There is a new configure option sixteenth-subpel-uv whic...
-
- 22 Feb, 2012 - 1 commit
-
-
Yaowu Xu authored
Yunqing fixed an oddity in UVIntra skippable evaluation for stable branch, which brought up the fact that the evaluation is broken. The issue was that for MBs with 2nd order block, the eob for 1st order blocks is set at 1. The previous evaluation did not take that into account. This commit intend to fix the problem. The commit also absorbed Yunqing's fix for UVIntra skippable evalution. Test on hd showed some good gains in combination with LPF bias fix: http://www.corp.google.com/~yaowu/no_crawl/LPFBias_FixSkip.html (avg psnr: .34%, glb psnr: .32%, ssim: .22%) Change-Id: I36af11c8ef7f643e8ff46da7bf3a167b437039d4
-
- 18 Feb, 2012 - 1 commit
-
-
Yaowu Xu authored
The bias in picklpf intended to bias toward less greedy in getting best frame level psnr while maximize overall quality for a clip. This commit reduced the bias for frames using 8x8 transform to achieve better compression overall. The change improve compression by ~.15% consistently on most of the HD clips tested. http://www.corp.google.com/~yaowu/no_crawl/LPFBias_FixSkip.html Change-Id: Ic30932d2b8eaebd52339b0195f569edc48eed7bc
-