- 25 Jan, 2018 5 commits
-
-
Hui Su authored
Change-Id: I93702d24bf7d711b6910e2e502f9f97c661bcf6c
-
Jingning Han authored
Change-Id: I83ca47c1469d8e383a815058c02c4826c6282873
-
Yue Chen authored
Remove all *bmc variables, which were used to record basic motion search results (no advanced masked compound) when obmc and warped motion modes were allowed to work with compound ref. Remove switchable rate that is passed in to it, since in most motion modes, we need to recalculate the cost based on motion_mode and the refined mv. This change slightly improve the rd perf. Performance change: -0.024% Change-Id: I4afe0927e97cc7e7251022957f7665ed3032079c
-
Zoe Liu authored
This patch simply aggregates the checking on the counts of certain reference frames in the neighboring above and left blocks. It does not incur any coding performance change. Change-Id: I59a962ba95e7ab16731ce97371ec5709a582a0ba
-
Hui Su authored
Change-Id: I4f9d014324b35e30f25cae5fa570620249640cf6
-
- 24 Jan, 2018 4 commits
-
-
Cheng Chen authored
Record total rate cost when computing trellis optimization. Reduce redundant rate computation in later stages. Speed impact: ~6% speed up Coding performance should not be affected. Change-Id: I9e940a2d126bb55930fcf22ea04d061eee1fc944
-
Jingning Han authored
Skip the rate distortion search over last 2/3 reference frames for the reference motion vectors derived from non-nearest neighbors. The overall coding performance change is in the noise range - 0.05% better. Speed up the encoding process by 20%. Change-Id: I823b8ca2805ae332f4c9bc8ee255069a82db4331
-
Jingning Han authored
Make the per transform block kernel selection process unified with the rate distortion model used in preliminary mode search. This makes the txk-sel model search space same as baseline. Change-Id: I82a2d94e88a03c88154582575ced500197f8a409
-
Hui Su authored
Change-Id: Iea0e8665cdd5b9bc0fe17930add7068443765ea9
-
- 23 Jan, 2018 2 commits
-
-
Hui Su authored
It's more efficient to use av1_cost_literal() instead. Change-Id: I50727d4a4ee06492b373c2e7831c224c5eae8735
-
Imdad Sardharwalla authored
Encoder: Prior to this patch, some chroma data was calculated and later discarded when in monochrome mode. This patch ensures that the chroma planes are left uninitialised and that chroma calculations are not performed. Decoder: Prior to this patch, some chroma calculations were still being performed in monochrome mode (e.g. loop filtering). This patch ensures that calculations are only performed on the y plane, with the chroma planes being set to a constant. Change-Id: I394c0c9fc50f884e76a65e6131bd6598b8b21b10
-
- 19 Jan, 2018 2 commits
- 18 Jan, 2018 5 commits
-
-
Hui Su authored
A function to calculate luma prediction mode info. rate cost for intra blocks. Change-Id: I285518dc34c0ffa58bdcd09e76463c21240336e1
-
Yushin Cho authored
Change-Id: I0cd3de4a5673003f9fbe9c615e139e8133a99dcc
-
Yaowu Xu authored
Change-Id: I8bb21fbbc3366690ccc13a9b31a6726dfbfa2ff4
-
Zoe Liu authored
Change-Id: I51a751cd656846e6f3db6c15e320bdc7f1c868fe
-
Hui Su authored
Change-Id: I6cd366d929d689217f292db07cbeaf1fd35c2055
-
- 17 Jan, 2018 7 commits
-
-
Hui Su authored
The tx size cost should be included in the total rate cost. Change-Id: Ib8fe9cc67cf712ba1c7c8f539b390909c7e6be7b
-
Imdad Sardharwalla authored
The ref_mv_idx offset of 1 was not taken into account for the NEAR_MV mode. Change-Id: I0939cfd8cf2496f6d4f0dbac67b2e03942318195
-
Hui Su authored
Fix tx type as the default type and search for the best prediction mode; then do a final search for the best tx type. When it's enabled at speed 0, encoding speed increases to 3x with 2% compression loss on keyframes. It's currently turned on for speed 2 and above. Change-Id: Ic9ca1479da10d467a88a4d692d9c75da40d2798d
-
Hui Su authored
Change-Id: I0156df138342be1f4ffa867a5e293887ff83e251
-
David Barker authored
In the decoder, the function get_tx_size_context() is called by read_selected_tx_size(), *before* mbmi->ref_frame is set up. This means that mbmi->ref_frame still holds the ref frames from the previous block, and does not indicate if the current block is inter or not. Fortunately, all of the other functions called by read_selected_tx_size() have an explicit "is_inter" parameter, which is set correctly. So we can just plumb this through into get_tx_size_context(). Change-Id: I00f0f3704937f592ccc5d304ed20ee25196dd520
-
Yue Chen authored
BUG=aomedia:1236 Change-Id: I72c1e5ba7f0090c0831ca9aaccbc32dc4f1fdf4f
-
Urvang Joshi authored
Change-Id: Ic68c6e8d54782f47fe9d1d1775b861edeb52bf35
-
- 16 Jan, 2018 4 commits
-
-
Debargha Mukherjee authored
Change-Id: I861ccc09454606ce4172db02a52550f9b7a7800c
-
Cheng Chen authored
Static local functions. Remove av1_ prefix for local functions. Change-Id: I91cda7b6a1e09683ed70cd74e724db88ddf124dc
-
David Michael Barr authored
This is to exclude coding CFL for block sizes where it is normatively not allowed. Reuse the alternate CDFs from the --disable-cfl path. This yields some improvement on subset1: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0113 | -0.2630 | -0.2138 | 0.0021 | -0.0110 | -0.0157 | -0.0511 BUG=aomedia:1182 Change-Id: I1e5f23ef7f2debcf8edce788bfa63ec95db4a679
-
Yunqing Wang authored
The motion vector search result at single reference frame mode is stored for later use. There are some issues in current implementation. 1. single_newmv is only stored for 1st ref_mv, but not for other ref_mv values tested. 2. If single reference mode is skipped and not tested, single_newmv is not available. 3. Interintra mode always use single_newmv as its MV, which may not be available as mentioned above. To fix it, we store single_newmv for every ref_mv tested. In interintra mode, if single_newmv is not available, do motion search to find a MV. This was revealed by a motion vector unit test failure. BUG=aomedia:1190 Change-Id: I3e690587644d4c8c31337f37380b796a3d71a3f6
-
- 15 Jan, 2018 1 commit
-
-
Sebastien Alaiwan authored
This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: Ia2100f102de6d9d5a67ba7178a20a50202839636
-
- 13 Jan, 2018 1 commit
-
-
Hui Su authored
Initialize the RD_STATS variable to avoid valgrind error of "Conditional jump or move depends on uninitialised value(s)". BUG=aomedia:1219,aomedia:1226 Change-Id: Ie7749c8297b377750f0901d07e2c6024552a10df
-
- 12 Jan, 2018 3 commits
-
-
Yue Chen authored
Interintra RDO is moved into motion_mode_rd instead of calling handle_inter_mode() separately. This will save time on interp filter and new mv search, also skips interintra modes if the base inter predictors are not good enough. Speedup: LL ~20% HL < 1% Tiny performnace improvements (<0.05%). Change-Id: If5b1ad22396df7590fbc1060e26b61734a205830
-
Hui Su authored
Change-Id: I2a9e16bf337a91219fc2aa10937d3cd1dfa67a71
-
Hui Su authored
Change-Id: I26d23cd1107b4568c6f473df373be77fddb7c752
-
- 11 Jan, 2018 3 commits
-
-
Ryan authored
when trellis quantizaiton is disabled, the b_quantizer should be used. existing code has a lot of hard coded flag not hooked up correctly with high level trellis quantization enable/disable flag, which causes fp_quantizer is used. this patch is intended to remove the hard coded flags and correctly get them from the high level control. Change-Id: I0142aace03586d07aedea138fce08d3e72d99c32
-
Jingning Han authored
When the coding block size is below 16x16, the current tx size search loop may end up searching 4x4 transform size multiple times. This commit skips the redundant search steps. Tested a a few 1080p clips at 4 Mbps, the encoding speed is up by 10% for key frame coding, and 3% for overall. Change-Id: Ifbb27bad1ec55ef0011b1e789d995f36b3f4605e
-
Hui Su authored
Set up the identity scale factor once per frame, instead of per joint motion search. Change-Id: I5edd264655254f4b6a0a923d8ab43adbca044228
-
- 10 Jan, 2018 3 commits
-
-
Michelle Findlay-Olynyk authored
Add speed feature that uses hash tables to reuse previously found optimized coefficients in av1_optimize_txb. This skips some expensive optimize_txb calls. Currently shows no significant quality degredation or speed improvement, and set to off by default. Requires hash_me, lv_map and lv_map_multi. Adding to speed features required changing AV1_COMMON *cm to AV1_COMP *cpi in a chain of functions. Variations that have been tried: -varying the maximum eob on which the feature activates: 16, 32, 64. 16 currently used. 64 has best hit rate but longer execution time. -varying the data hashed and the length of hashes (first hash is 16 bit and based on context data, while second hash is 16 bit and based only on pre-optimized qcoeff values.) -softening the data used for the hashes: ideally this would raise the number of hits, without compromising quality too much. Change-Id: I94f22be82f3a46637c0489d512f2e334a307575f
-
Hui Su authored
BUG=aomedia:1203 Change-Id: I03ca925734535c31a1ed6bdeb7f29b5b5d5f476c
-
Urvang Joshi authored
Use assert to test the assumption noted in the comment. Ran some encodes with varying per-frame resolutions (using SUPERRES_RANDOM and RESIZE_RANDOM modes) to ensure that these asserts are indeed valid. Change-Id: I30021fff05f9793f80e42c5319bed02b0ae04cbd
-