summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-29Allocate memory for mv_mode_arr[]Angie Chiang
Change-Id: Ib9fdf65e263dbaace8d4c86766eba2c6f35f652b
2019-01-28Add predict_mv_mode_arr()Angie Chiang
The function predicts the mv_mode for each prediction block in diagonal order. Change-Id: I7dcfcdb317ffa334cb40bb435baa71b5db62252b
2019-01-28Add predict_mv_mode()Angie Chiang
This function evaluate the impact of setting NEW_MV_MODE on a block and its neighbor blocks. Change-Id: Ie0b2c67bdc5cd14e0efd8ebc5dc3f3f873bcf3fe
2019-01-24Add find_best_ref_mv_mode()Angie Chiang
This function compute the rd cost for each mv_mode and return the one with minimum rd cost. eval_mv_mode() Evaluate the rd cost for a given mv_mode. Change-Id: Ia1b3ec7e1dd538e443e1bc79f2cab352408cd0a0
2019-01-24Add get_mv_distAngie Chiang
Given an mv_mode, get_mv_dist() obtains the mv and uses it to compute distortion. Change-Id: I58b8c7137b99c2736d651e678f0cd013dbd94877
2019-01-24Add get_mv_from_mv_mode()Angie Chiang
Given an mv_mode, this function will return the corresponding mv. find_ref_mv() A helper function finds the nearest and near mvs from the neighbor blocks. select_mv_arr[] An array used for storing selected motion vectors. Change-Id: Ibeb434007f65b2c6e461360f208d99455e76bcbf
2019-01-23Add set_block_src_pred_buf()Angie Chiang
This function sets src and pre buffer of MACROBLOCK and MACROBLOCKD. Will add static decorator once this function is called. Change-Id: I0fb46784dd97839e4d87c9e027fe8c59683e70d8
2019-01-23[cleanup] Move get_feature_score to a proper placeAngie Chiang
Add static decorator to it as well. Change-Id: I6c89fae456561b6975ab49af139a45a7483507c6
2019-01-23Merge "Clean up code for yuv_temporal filter_test.cc"Chi Yo Tsai
2019-01-23Fix Windows SDK and VS version checksJon Kunkee
If WindowsTargetPlatformVersion is not set, the Visual Studio 15 (2017) toolchain assumes that Windows 8.1 is being targeted. Since ARM64 support is only present and unlocked in Windows SDKs >= Windows 10 1809, set that SDK as required in the vcxproj files. Note that this will not be an issue in Visual Studio 16 or greater, hence the -eq major version check. https://developercommunity.visualstudio.com/content/problem/128836/windowstargetplatformversion-to-use-the-latest-ava.html Bug: chromium:893460 Change-Id: Ib069501ad384d91349b1f635722dedd31a4edd97
2019-01-22Clean up code for yuv_temporal filter_test.ccchiyotsai
Some cosmetic changes to make the code google c++-style compliant. BUG=webm:1591 Change-Id: Icef3ccc8ebed7210b6b6f915885d5f648e62da72
2019-01-22Merge "ads2gas: remove DO1STROUNDING"Johann Koenig
2019-01-18Change temporal filter's search_method on speed 1chiyotsai
This commit introduces a new speed feature that determines the SEARCH_METHOD used by temporal filter when doing 16x16 block on full_pixel_motion_search. On speed 0, the most exhaustive method MESH is used. On speed 1 and above, a faster method NSTEP is used. Performance: | AVG_PSNR | AVG_SPDUP | AVG_SPDUP:AVG_PSNR MISRES | 0.007% | 2.818% | 402:1 HDRES | 0.004% | 4.897% | 1224:1 In the case of midres, there is a small quality gain of -0.021% on OVR_PSNR. Performance measurement is done on speed 1 with auto_alt_ref=1. Quality is measured on full midres set over 60 frames. Speed is measured on 5 midres clips over 4 bitrates over 30 frames. STATS_CHANGED Change-Id: Ic1879d2237f8734529e194767a6cf5e43e20b47b
2019-01-18Merge "Add unit speed test for vp9_apply_temporal_filter"Chi Yo Tsai
2019-01-18Merge changes Id99ca6fc,I34cdbc6e,Iac7fee46Angie Chiang
* changes: Correct pyramid_mv_arr's memory size Adjust lambda with bsize in build_motion_field() Free pyramid_mv_arr properly
2019-01-18Merge "Use longer test clips in y4m_test"Yunqing Wang
2019-01-18Merge "Use longer videos in end-to-end tests"Yunqing Wang
2019-01-18Merge "Add unit test for temporal filter on VP9"Chi Yo Tsai
2019-01-17ads2gas: remove DO1STROUNDINGJohann
Change-Id: Iacd1ad5673c71d350cad235e504da0e066dfc4a0
2019-01-17Add unit speed test for vp9_apply_temporal_filterchiyotsai
This patch adds unit speed test for vp9_apply_temporal_filter. BUG=webm:1591 Change-Id: I4792dfc6ecd4a82775b9a895a90aafdc2a199f86
2019-01-16Add unit test for temporal filter on VP9chiyotsai
The current unit tests for temporal filtering only tests single channel version of temporal filter. Since VP9 currently uses both luma and chroma channel information for temporal filtering on low bitdepth, there is no unit case in this scenario. This commit adds some basic unit tests to facilitate further development on temporal filtering. BUG=webm:1591 Change-Id: Id38ceba5305865d7148e9b2bc636acddae54d6c2
2019-01-16Merge "mips highbd: resolve missing declarations"Johann Koenig
2019-01-16Merge "mips: add rtcd.h to resolve missing declarations"Johann Koenig
2019-01-16Merge "vp9: fix definition for VP9E_SET_POSTENCODE_DROP"Jerome Jiang
2019-01-15vp9: fix definition for VP9E_SET_POSTENCODE_DROPJerome Jiang
Change-Id: I667be78eb7c41154bf44c242992f622f12c31b80
2019-01-15Merge "vp9-svc: Fix to buffer update under frame_drops"Marco Paniconi
2019-01-15mips: add rtcd.h to resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Ifdebf33356abcc6869f695d129165ba17e042dcd
2019-01-15mips highbd: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I4cbfafe8ea72b3d4523aabcaed4848fa29bb19fe
2019-01-15vp9-svc: Fix to buffer update under frame_dropsMarco Paniconi
For svc with frame dropping in full_superframe_drop or constrained dropped mode: the buffer level for a given layer may be capped from increasing too much. This is because that layer may be dropped even though its buffer is stable (the dropped is forced due to underflow in other layers in full/constrained svc-drop mode). This capping is needed to prevent decrease in qp over consecutive frame drops. The capping already exists and has been used, but this change introduce an error that prevented its usage: https://chromium-review.googlesource.com/c/webm/libvpx/+/1330875 The fix here is to also cap the bits_off_target as well, since after the change mentioned above, its the bits_off_target that is used to update buffer on next frame (which in turn affects qp for next frame/layer). Change-Id: Ifdab5d478e91cce20ecec51faa574eed375ee36b
2019-01-15Remove unnecessary calculation in 4-tap interpolation filterchiyotsai
Reduces the number of rows calculated for 2D 4-tap interpolation filter from h+7 rows to h+3 rows. Also fixes a bug in the avx2 function for 4-tap filters where the last row is computed incorrectly. Performance: | Baseline | Result | Pct Gain | bitdepth lo| 4.00 fps | 4.02 fps | 0.5% | bitdepth 10| 1.90 fps | 1.91 fps | 0.5% | The performance is evaluated on speed 1 on jets.y4m br 500 over 100 frames. No BDBR loss is observed. Change-Id: I90b0d4d697319b7bba599f03c5dc01abd85d13b1
2019-01-15Merge " highbd_iadst16_neon: resolve missing declaration"Johann Koenig
2019-01-15Merge "vp9-svc: Rate control fix for key base layer"Marco Paniconi
2019-01-14vp9-svc: Rate control fix for key base layerMarco Paniconi
After encoding key frame on base spatial layer, if the overshoot is significant, reset the avg_frame_qindex[INTER] on base spatial layer for all temporal layers. This forces the active_worst_quality to increase on subsequent frames/layers and reduces frame dropping. Change-Id: I53a3cd14131d69120e59a649b7ed1bfde3e940ee
2019-01-15Merge "Fix typo: exhuastive"Jerome Jiang
2019-01-15Merge "clean up debug print."Jerome Jiang
2019-01-14Use longer test clips in y4m_testYunqing Wang
Used 20-frame clips to replace 10-frame clips in y4m_test. Also, removed unused 10-frame clips. Change-Id: Ib82ad2c3718f1f5f31478957b9ee970593536940
2019-01-14Use longer videos in end-to-end testsYunqing Wang
Used 20-frame clips got from Deb in end-to-end unit tests to improve the test coverage. TODO: remove 10-frame clips. Change-Id: I06ec2d35f5c5c47263d3be61623c80f52fd18ffe
2019-01-14clean up debug print.Jerome Jiang
printf -> assert(0 & ...) Change-Id: I7bd6c0127ad816e8a5b555e86d54961b33da2bc4
2019-01-14Fix typo: exhuastiveJerome Jiang
Change-Id: Ia00570a00b871eb1f929bd7e0af221d2c0b5ed21
2019-01-14Merge "Change "ximage" to "vpx_image_t" in comments."Wan-Teh Chang
2019-01-14Merge "Reset buffer_alloc_sz after freeing buffer_alloc."Wan-Teh Chang
2019-01-14Reset buffer_alloc_sz after freeing buffer_alloc.Wan-Teh Chang
ybf->buffer_alloc and ybf->buffer_alloc_sz should ideally be kept in sync. If ybf->buffer_alloc is reset to NULL after being freed, then ybf->buffer_alloc_sz should be reset to 0. Change-Id: I7e7566b563ddf145d0e46050c5b6bd141084f8b3
2019-01-14Merge "Fix typo."Jerome Jiang
2019-01-14Change "ximage" to "vpx_image_t" in comments.Wan-Teh Chang
In test/external_frame_buffer_test.cc, rename CheckXImageFrameBuffer() to CheckXImageFrameBuffer(). Change-Id: Ifea3910445673be465d7536a69f85f1a2e2bce6e
2019-01-14Fix typo.Jerome Jiang
Blocking libvpx update into google3. Change-Id: I18c29f0a68568e65ae5e0c7fcdb5097b08b586a6
2019-01-11convolve_test: Add missing init of HBD buffersJames Zern
this resolves some msan errors. the same change was done in libaom: 5ab58722c Add missing initializations of HBD buffers Change-Id: I8882af45b95c90ba43bf138c7d305a6c3b99e61c
2019-01-11Merge "Fix segmentation fault in hbd path"Yunqing Wang
2019-01-11Merge "highbd idct: resolve missing declarations"Johann Koenig
2019-01-12Fix segmentation fault in hbd pathDeepa K G
When CONFIG_VP9_HIGHBITDEPTH is enabled, lowbd modules were called in the hbd path. This patch fixes the issue. Change-Id: I59820180fbed120697b6ef1fc1a02be0d35ac1d5
2019-01-10Correct pyramid_mv_arr's memory sizeAngie Chiang
Change-Id: Id99ca6fc846ebe11a9f5363da4e6449e976303a1