- 22 Feb, 2016 3 commits
-
-
Yaowu Xu authored
Change-Id: Id026e72ee655ee5bd645a89e378da0d462be367d
-
Yaowu Xu authored
This commits adds a shift stage for FASTSSIM computaton when source bit depth is different from working bit depth, to make sure metric results are calculated in bit_depth consistent with source. Change-Id: I997799634076ef7b00fd051710544681ed536185
-
Yaowu Xu authored
From "ssim.h" Change-Id: Ie53378794149ef8a844b4eb47ad4f08579de4b60
-
- 17 Feb, 2016 1 commit
-
-
Yaowu Xu authored
This makes all metric computation to locate at some place, also gets rid of duplicate code between vp9 and vp10. Change-Id: I24a2707d183a2419cd18a8343010adae185ffcd4
-
- 12 Feb, 2016 3 commits
-
-
Debargha Mukherjee authored
Adds a wiener filter based restoration scheme in loop which can be optionally selected instead of the bilateral filter. The LMMSE filter generated per frame is a separable symmetric 7 tap filter. Three parameters for each of horizontal and vertical filters are transmitted in the bitstream. The fourth parameter is obtained assuming the sum is normalized to 1. Also integerizes the bilateral filters, along with other refactoring necessary in order to support the new switchable restoration type framework. derflr: -0.75% BDRATE [A lot of videos still prefer bilateral, however since many frames now use the simpler separable filter, the decoding speed is much better]. Further experiments to follow, related to replacing the bilateral. Change-Id: I6b1879983d50aab7ec5647340b6aef6b22299636
-
Yaowu Xu authored
Also removed the use of postprocessing in computing internal stats. Change-Id: Ib8fdbdfe7b7ca05cd1a034a373aa7762fa44323c
-
James Zern authored
allocations done within this function are protected with vpx_internal_error; adding the setjmp fixes a crash in vp10_lookahead_push() under low memory conditions. Change-Id: I5515017cd71b218840c506791b3a517da7ffc93e
-
- 11 Feb, 2016 2 commits
-
-
Yaowu Xu authored
This commit adds computation of PSNRHVS for highbitdepth build, it also adds tests to make sure the calculation of psnrhvs metric for 10 and 12 bit correct. Change-Id: Iac8a8073d2b3e3ba5d368829d770793212fa63b6
-
Yaowu Xu authored
This commit adds the computation of fastSSIM for highbitdepth build, it also modifies the hbdmetric test to be more generic and applicable for fastSSIM. The 255 used for calculating ssim constants c1 and c2 is not exactly scaled by 4x and 16x to 1023 and 4095, therefore requries the metric test to have a thresold more tolerant than 0, currently at 0.03dB. Change-Id: I631829da7773de400e77fc36004156e5e126c7e0
-
- 09 Feb, 2016 1 commit
-
-
Yaowu Xu authored
The value of use_highbitdepth flag is used for compute the size for high bit depth buffer allocation, which should take value 0 or 1 depending on if the buffer is used for high bit depth or not. Previously, the values is set to 8 or 0, this commit fixes the issue and properly set the value for this flag to 1 or 0. This cuts the size of highbitdepth buffer memory allocation to 2/9 of the size prior to the fix. Change-Id: I401518b5a6147e5d8a973e54f7ca6bc1892065e0
-
- 08 Feb, 2016 2 commits
- 29 Jan, 2016 1 commit
-
-
Debargha Mukherjee authored
Change-Id: Iab517862d957f3aa2a664e9349d57bbf424febb3
-
- 28 Jan, 2016 1 commit
-
-
Debargha Mukherjee authored
Also adds a normalized filtering function to be used later. Change-Id: I30e2140e664db635602f26a73b81ce8e008dff5e
-
- 27 Jan, 2016 1 commit
-
-
Debargha Mukherjee authored
Fixes integer pel MV usage for the sub8x8 case, which fixes a rare mismatch issue. Also adds some other minor missing code related to filter threshes. Change-Id: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc
-
- 21 Jan, 2016 1 commit
-
-
Debargha Mukherjee authored
Current implementation is a bilateral filter whose parameters are transmitted in the bitstream. derflr: -0.647% BDRATE hevcmr: -0.794% BDRATE This is a prelimary patch. Various other variations are to be investigated next, that will hopefully be less expensive on the decoder side. Change-Id: I50634ae8f5014ad0bf7432306348908a349d81e1
-
- 12 Jan, 2016 1 commit
-
-
Jingning Han authored
This commit allows the codec to add motion vector pairs into the candidate list. It further improves the compression performance by 0.1% across derf, hevcmr, stdhd, and hevchr sets without adding encode/decode time. Change-Id: I88d36da25a2a89bb506d411844af667081eba98b
-
- 08 Jan, 2016 2 commits
-
-
Debargha Mukherjee authored
The nominal tx_type for a given mode is used as a context to encode the actual tx_type for intra. Results: derflr: -0.241% BDRATE hevcmr: -0.366% BDRATE Change-Id: Icfe7b0a58d79bc6497a06e3441779afec6e01e21
-
Jingning Han authored
It allows the codec to account for certain corner cases when processing inter prediction mode entropy coding. Change-Id: Ied451f4fff26ba579f6556554b8381ff2ccd0003
-
- 31 Dec, 2015 1 commit
-
-
Zoe Liu authored
Change-Id: I2aec63d8a600e319d037b764b0609092bce1e483
-
- 18 Dec, 2015 1 commit
-
-
Zoe Liu authored
For the experiment of EXT_REFS, removed the previous special handling on the new last 3 references, i.e. LAST2_FRAME, LAST3_FRAME, and LAST4_FRAME, at the decoder, so that these new last references are treated the same way as the other 3 references (LAST_FRAME, GOLDEN_FRAME, and ALTREF_FRAME). Encoder changes have been made accordingly to realize this flexibility. Change-Id: Ic6546f9443b4377bb7e7b101bfa3e70a8b8d1c65
-
- 15 Dec, 2015 1 commit
-
-
paulwilkins authored
For testing implemented a fixed pattern and delta, 1 pass, fixed Q, low delay mode. This has not in any way been tuned or optimized. Change-Id: Icf9b57c3bb16cc5c0726d5229009212af36eb6d9
-
- 08 Dec, 2015 2 commits
-
-
paulwilkins authored
This change has been imported from VP9 and alters the nature and use of exhaustive motion search. Firstly any exhaustive search is preceded by a normal step search. The exhaustive search is only carried out if the distortion resulting from the step search is above a threshold value. Secondly the simple +/- 64 exhaustive search is replaced by a multi stage mesh based search where each stage has a range and step/interval size. Subsequent stages use the best position from the previous stage as the center of the search but use a reduced range and interval size. For example: stage 1: Range +/- 64 interval 4 stage 2: Range +/- 32 interval 2 stage 3: Range +/- 15 interval 1 This process, especially when it follows on from a normal step search, has shown itself to be almost as effective as a full range exhaustive search with step 1 but greatly lowers the computational complexity such that it can be used in some cases for speeds 0-2. This patch also removes a double exhaustive search for sub 8x8 blocks which also contained a bug (the two searches used different distortion metrics). For best quality in my test animation sequence this patch has almost no impact on quality but improves encode speed by more than 5X. Restricted use in good quality speeds 0-2 yields significant quality gains on the animation test of 0.2 - 0.5 db with only a small impact on encode speed. On most natural video clips, however, where the step search is performing well, the quality gain and speed impact are small. Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
-
hui su authored
It was removed by the master branch merge. Change-Id: I4b2a524c9e052e41063359afcb4ba22bf78344cf
-
- 03 Dec, 2015 1 commit
-
-
hui su authored
Store it in nextgenv2 for now. Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc
-
- 21 Nov, 2015 1 commit
-
-
Zoe Liu authored
Under the experiment of EXT_REFS: LAST2_FRAME, LAST3_FRAME, and LAST4_FRAME. Coding efficiency: derflr +1.601%; hevchr +1.895% Speed: Encoder slowed down by ~75% Change-Id: Ifeee5f049c2c1f7cb29bc897622ef88897082ecf
-
- 17 Nov, 2015 1 commit
-
-
hui su authored
Remove MISC_FIXES flags except for the changes on MV precision, which has a 0.1% performance drop. On derflr, the impact is -0.012%. Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45
-
- 09 Nov, 2015 1 commit
-
-
Johann authored
Javan Whistling Duck release. Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
-
- 06 Nov, 2015 1 commit
-
-
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
-
- 30 Oct, 2015 1 commit
-
-
Jingning Han authored
This commit refactors the loop filter selection process to support variable transform block sizes based filter mask. It disables the multi-thread loop filter implementation to simplify the experiments. The speed impact on speed 0 encoding is negligible. Change-Id: Ia470b6da9ad833fe6eb72d2cbeda9296b21910ec
-
- 16 Oct, 2015 2 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
Locate them (code-wise) in frame_context, and have them be updated as any other probability using the subexp forward and adaptive bw updates. See issue 1040 point 1. TODOs: - real-world default probabilities - why is counts sometimes NULL in the decoder? Does that mean bw adaptivity updates only work on some frames? (I haven't looked very closely yet, maybe this is a red herring.) Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
-
- 15 Oct, 2015 1 commit
-
-
hui su authored
Fix a couple of memory related errors. Also fix thread test failures. Change-Id: I0103995f832cecf1dd2380000321ac7204f0cfc0
-
- 12 Oct, 2015 2 commits
-
-
Ronald S. Bultje authored
See issue 1040 point 3. Change-Id: Ieef6d326b7fb50ceca5936525b7c688225a11fd1
-
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
-
- 29 Sep, 2015 1 commit
-
-
Yaowu Xu authored
Resolved Conflicts in the following files: configure vp10/common/idct.c vp10/encoder/dct.c vp10/encoder/encodemb.c vp10/encoder/rdopt.c Change-Id: I4cb3986b0b80de65c722ca29d53a0a57f5a94316
-
- 26 Sep, 2015 2 commits
-
-
Ronald S. Bultje authored
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
-
Ronald S. Bultje authored
The name "display_*" (or "d_*") is used for non-compatible information (that is, the cropped frame dimensions in pixels, as opposed to the intended screen rendering surface size). Therefore, continuing to use display_* would be confusing to end users. Instead, rename the field to render_*, so that struct vpx_image can include it. Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
-
- 25 Sep, 2015 2 commits
-
-
Ronald S. Bultje authored
This is preparatory work for allowing per-segment lossless coding. See issue 1035. Change-Id: I9487d02717ee3e766aee61a487780056bb35d2d3
-
Ronald S. Bultje authored
This is preparatory work for allowing per-segment lossless coding. See issue 1035. Change-Id: Idd72e2a42d90fa7319c10122032d1a7c7a54dc05
-