- 01 Mar, 2017 2 commits
-
-
Jingning Han authored
Change-Id: Ie836a113978028f3bde2acd31061d9a663547087
-
Fergus Simpson authored
Adds the arguments struct HandleInterModeArgs to hold arguments that are conditional on compiled features. This means that there are no longer #if's in the function's argument list. Some of the array pointers that were optional arguments have been made array members in the new struct, but not all. This is due to the function being called with either references to arrays that are maintained between trying different modes OR with references to "dummy" arrays initialized to zero. The arrays that are always used are now members of the HandleInterModeArgs struct. Change-Id: I3076fd53c3cddf5a6d14bbe7d23a889465ed716d
-
- 28 Feb, 2017 3 commits
-
-
Debargha Mukherjee authored
Offsets for the least-squares for affine motion computation are now set at the top left corner of the current block. Improves stability and performance a little. Change-Id: I68ca7e74c6102502daa8ca3373af2b2dd59400c3
-
Jingning Han authored
Disable the support of compound prediction modes for sub8x8 codking blocks. Make the rate-distortion optimizations process account for such constraints. With the use 2x2 chroma prediction block, this makes the wrost case number of inter predictors same as vp9. It affects the coding gains by 0.35% for lowres, 0.17% for midres, and 0.08% for hdres. The encoding speed is up by 10%. Change-Id: Ieb2a83030676911baa403e586f1f800cbf485d81
-
Yaowu Xu authored
Segmment based lossless flag is used in select transform size, this commit fixes a bug where wrong segment_id is used in such selection. BUG=aomedia:350 Change-Id: Ibc981c779739849bac00447155180abbd319eb28
-
- 27 Feb, 2017 4 commits
-
-
Debargha Mukherjee authored
Also supports homography models for future experiments. Change-Id: I4510540f54133e063891ed491c95c087222f7810
-
Debargha Mukherjee authored
USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 macro added to turn tx_type search on/off for sub8x8 in cb4x4 mode. The purpose is mainly to analyze the coding gains from cb4x4 but this later can be made into a speed feature as well. Change-Id: Ic22026c373eebba87f324689ac5686a2844315b6
-
Debargha Mukherjee authored
Integerizes computation of the least squares for warped motion. The model is restricted to only Affine. Affine seems easiest to compute and integerize since it can be split into two 3-dim least squares problems, as opposed to rotation-zoom which needs a 4-dim least-squares problem to be solved. The current implementation requires only one division per block. BDRATE impact is mminimal. The upgrade to the affine model improves coding efficiency but integerization also degrades efficiency a little. Overall there is a net gain of about -0.07% BDRATE on the lowres set. BDRATE lowres: -1.113% with ----enable-warped-motion vs. without (up from -1.044%). Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
-
Angie Chiang authored
Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
-
- 24 Feb, 2017 1 commit
-
-
Luc Trudeau authored
Adds the static inline function get_plane_type to convert a plane number to the corresponding PLANE_TYPE. There's no change to the bitstream, it only encapsulates the logic to get the PLANE_TYPE. Change-Id: I1199db3a32c89437d9c029ab5b2b2e62582a13a2
-
- 23 Feb, 2017 5 commits
-
-
Jingning Han authored
Change-Id: Icd4cd42b1b9fa9066cda3e33e487298c8d802546
-
Jingning Han authored
Skip redundant computation of recon_variance value. Change-Id: I0ea1a3528f8bdc7095d9cc458ce0bd3a958989b4
-
Jingning Han authored
Support the use of 2x2 prediction and transform block size for chroma components. This experiment builds on top of cb4x4. It brings back the loss in performance gains due to 4x4 chroma component constrain. The coding gains for lowres are up from 1.5% to 2.5%. Change-Id: I8e461e230c2d920f6df1af9d935ebe9dfa3820d9
-
David Barker authored
Since gm_get_motion_vector is trying to give a motion vector for "the frame as a whole", it makes more sense for it to calculate the motion of the *center* of the block rather than the top-left corner of the frame. In theory, this change should also help the encoder make better decisions on when to use global motion. It avoids an issue where, early in the frame, NEARESTMV looks like a good way to use the global motion vector *without* paying the rate cost applied to the first few global motion blocks in each frame. This seems to lead to a better overall result. Change-Id: Ia5c6259ceb8b4ff3d00a5d553e1d18bdb802da59
-
Angie Chiang authored
If there no sub-pixel in both direction of MV, the interp_filter is set to EIGHTTAP_REGULAR Change-Id: I208c34906544f1937c57d78017999be6eddd9e87
-
- 22 Feb, 2017 6 commits
-
-
Alex Converse authored
Change-Id: If5d4f6d261276d9cfdd59fd7779467d92f56c395
-
Angie Chiang authored
Change-Id: I1d599b70fb338de4b0d2076fdc7060361a46c21f
-
Jingning Han authored
Skip coding the intra mode for chroma component for sub8x8 blocks that are not in the reference position. Change-Id: Ic3daab2668ab41c3b743664faf195e34124ead33
-
Jingning Han authored
Make the rate-distortion optimization account for the special order for sub8x8 block chroma component coding. Change-Id: I050abc50dda7b9e8e32f7d0959aa954df1d69398
-
Jingning Han authored
Skip the 2x2 uv block rate-distortion optimization process in the non-reference positions in key frame encoding. Change-Id: I51112492fd79f9a1c205fba151f8658cea9ee85f
-
Sarah Parker authored
Here we create a default set for the ext-tx experiment which includes: Intra: {DCT, ADST} X {DCT, ADST} + IDTX (identity in both directions) Inter: DCT_DCT + IDTX This set is used if indicated in the uncompressed header. Change-Id: Ic907ada12b4e0c98cabb7c9650ab99942d0c0859
-
- 18 Feb, 2017 1 commit
-
-
Jingning Han authored
Use the top-left 4x4 luma block's coding information for chroma component encoding at size 4x4. Change-Id: I4bcfbc2bf8b71f7fc30094553503468460a56f9b
-
- 17 Feb, 2017 2 commits
-
-
Debargha Mukherjee authored
Adds functinoality for least-squares, RANSAC as well as encoding and decoding with new constrained homographies that warp blocks to horizontal and/or vertical trapezoids. This is for future experimentation. None of the models are actually enabled in the code. Change-Id: I1936018c6b11587d6fd83c3a2c63548cb641b33f
-
Yushin Cho authored
Which was a workaround to balance the quality between luma and chroma when PVQ is enabled, by 1) skipping PVQ DC RDO for chroma and 2) using smaller lambda value (x0.5) for intra prediction of chroma, intended to spend more bits and thus improve quality for chroma. The change in metric for 5 frames of objective-1-fast is: PSNR PSNR-HVS SSIM CIEDE-2000 PSNR Cb PSNR Cr MS-SSIM -1.45 -1.54 -1.46 4.62 13.71 14.87 -1.47 For still images (subset1) PSNR PSNR-HVS SSIM CIEDE-2000 PSNR Cb PSNR Cr MS-SSIM VMAF -1.52 -1.54 -1.60 2.56 11.92 12.17 -1.52 -1.66 Change-Id: I31c4d7a7de2939f6004c112649f7303f0e944156
-
- 16 Feb, 2017 2 commits
-
-
Thomas Davies authored
Since token coding has changed the relationship between EOB values and non-zero values, coeff costs and trellis quant need to change to be more accurate. Change-Id: I27ef400e8290db4c5faa9c21a253575eea7955c4
-
clang-format authored
Change-Id: Ib1b5dde5d4c6479c968cd7d7a4a1d01abae1fcf6
-
- 13 Feb, 2017 2 commits
-
-
Tom Finegan authored
Change-Id: I1bf9002c159563d0e5238b26d1515ef305d416dc
-
Angie Chiang authored
This CL allows us to use different interpolation filters for YUV planes. Change-Id: I9446d43ae2be5a9a48b8a4cb6efcac43df6196d5
-
- 08 Feb, 2017 1 commit
-
-
Sarah Parker authored
The only compound mode used with sub 8x8 blocks is COMPOUND_AVERAGE, so we don't have to send anything in this case Change-Id: I90d0162e5f7f1ad205e65094293cde2a48eb77b1
-
- 03 Feb, 2017 2 commits
-
-
Yue Chen authored
BDRATE results: lowres: -0.880% (up from -0.844%) Change-Id: I017c0beddcc687148fed33c1e9963e05f1eaf6ea
-
David Michael Barr authored
Piecewise linear fit without activity masking on subset3 intra and objective-1-fast inter, by simple linear regression. In combination with 79c0f32c "Remove DCT from od_compute_dist_8x8", this gives a even trade between perceptual and non-perceptual metrics. av1_daala_dist_30f@2017-01-23T21:32:27.902Z -> daala_dist_scale10_30f@2017-01-31T21:52:07.635Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 2.1080 | 2.9645 | 3.4697 | -2.2086 | 0.2541 | -2.5232 | 2.1645 Piecewise linear-quadratic fit with activity masking, by same method. The total effect of activity masking and daala-dist changes, with PVQ: av1_pvq_5f@2017-01-31T01:05:24.219Z -> av1_float_pvq_dist_scale_AM_5f_Jan31_crfix@2017-02-02T15:14:40.477Z PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 22.5041 | 42.6349 | 40.8516 | -10.3510 | -6.8030 | -16.9057 | 21.2613 Change-Id: I9b513509a03aa058dc5c1479c01d62c8fc363a34
-
- 31 Jan, 2017 3 commits
-
-
Urvang Joshi authored
rd_pick_palette_intra_sby() was being passed a dummy 'best_mbmi' in one case, and later that dummy value could be assigned to 'mbmi' causing invalid values in 'mbmi'. This bug was introduced by: de0c70a2: Refactor rd_pick_intra_sby_mode() See the referenced bug for a repro case. BUG=aomedia:337 Change-Id: If6b0aa329f4e4902cd4de8a5e09bc5d9196492a1
-
David Barker authored
Allow the above combination of experiments to work together correctly, fixing an encode/decode mismatch bug when they were all enabled. This change causes build_masked_compound(_highbd) to only ever be called if CONFIG_SUPERTX is off, so wrap these functions in an '#if !CONFIG_SUPERTX' block. BUG=aomedia:313 Change-Id: Ic3886bc69ba9624b8fcb0a4c2d71fc64d2c0f22c
-
Sarah Parker authored
Change-Id: I2a490e144099d7692296992528192c1f11d2c06f
-
- 30 Jan, 2017 3 commits
-
-
Urvang Joshi authored
- Added comments for some tables and #defines for clarity. - Renamed some variables to ensure we use "color_index" instead of "color" for palette color index related variables. Change-Id: Ica95a26e0f171a41a3259c8e6b3b891b8cd10151
-
Urvang Joshi authored
This reduces the complexity in a number of ways: - We need just 3 neighbors instead of 4. - Possible contexts reduce from 16 to 5. - On hardware side, getting the contexts for a whole block will be more parallelizable. At the same time, compression performance improves very slightly: - Screen-content set (videos) (Google): BDRate improved by 0.32 - screenshots set (images) (AWCY): PSNR improved by 0.62: https://arewecompressedyet.com/?job=palette_withTR2%402017-01-27T21%3A30%3A28.890Z&job=palette_noTR2%402017-01-27T21%3A41%3A34.312Z Change-Id: Ie84ca32f05d55ad481a51c2d3abc579468597189
-
Jean-Marc Valin authored
Cherry-pick Daala e248823a Getting rid of the DCT in od_compute_dist_8x8() Replacing the DCT and frequency weighting by a filter Change-Id: Icc3a46e5dbb561e4e3b00fa6c2290d54299c05cb
-
- 27 Jan, 2017 2 commits
-
-
Debargha Mukherjee authored
BUG=aomedia:314 Change-Id: I66af7f69ca0b97b9d840918a6b9ec34708a7f4e5
-
hui su authored
Change-Id: Id86b48ad34059668beb9464200dd9e03fc1b8a48
-
- 26 Jan, 2017 1 commit
-
-
Urvang Joshi authored
If part of a block falls outside right and/or bottom image boundary, then only store tokens for the part of it within the boundary. Also, consider only the part of the block within the boundary when calculating the number of colors in the image, deciding the base colors for palette, RD calculation etc. The part of color map corresponding to pixels outside the image boundary is padded with color indices copied from same row/column. This behavior is similar to how pixels outside the boundary are padded. For screen_content set, this is improves compression performance by 0.038 overall. One clip, in particular, has a significant gain of 0.8. Change-Id: I745ca032f313c5041aacc98c03ae4bfc33d840de
-