summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-28Fix test case name for yuv_temporal_filterchiyotsai
This should fix valgrind's failure. BUG=webm:1591 Change-Id: Idab2d6281484c36e6de193d6f45d13f97762625e
2019-01-25Merge "Enable SSE4 version of apply temporal filter"Chi Yo Tsai
2019-01-25Merge "Add SSE4 version of new apply_temporal_filter"Chi Yo Tsai
2019-01-25Merge "Adjustment to noise factor in first pass."Paul Wilkins
2019-01-25Adjustment to noise factor in first pass.Yunqing Wang
Adjustments to the calculation and use of a noise estimate in the first pass Q estimate and adaptation of temporal filtering. This change was tested and gave gains for both auto-alt-ref=1 and auto-alt-ref=6 as follows: Results are Av PSNR, Overall PSNR, SSIM and PSNR-HVS auto-alt-ref=1 low_res 0.007, -0.042, -0.018, 0.074 mid_res -0.142, -0.239, -0.173, -0.129 hd_res -0.322, -0.405, -0.397, -0.367 NF_2K -0.058, -0.099, -0.201, 0.028 auto-alt-ref=6 low_res -0.058, -0.171, -0.188, -0.027 mide_res -0.149, -0.155, -0.171, -0.137 hd_res -0.252, -0.339, -0.259, -0.297 NF_2K -0.015, -0.068, -0.120, 0.092 In all sets there were some winners and losers but significantly more winners. The biggest change was Stockholm in the hd set with an improvement of 5-6% Change-Id: Ieec71e1c4e3e09b76c288efa7b4d1b00015b3a11
2019-01-24Enable SSE4 version of apply temporal filterchiyotsai
Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1 auto_alt_ref=1, there is a speed up of 1.660%. BUG=webm:1591 Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690
2019-01-24Add SSE4 version of new apply_temporal_filterchiyotsai
This adds a preliminary version of vp9_apply_temporal_filter in SSE4.1. This patch merely adds the function and does not enable it yet. Speed Up: | ss_x=1 | ss_x=0 | ss_y=1 | 19.80X | 19.04X | ss_y=0 | 21.09X | 20.21X | BUG=webm:1591 Change-Id: If590f1ccf1d0c6c3b47410541d54f2ce37d8305b
2019-01-25Merge changes I0fb46784,I6c89fae4Angie Chiang
* changes: Add set_block_src_pred_buf() [cleanup] Move get_feature_score to a proper place
2019-01-24add -Wmissing-declarationsJohann
This is useful for catching functions which should be static and instances where the relevant rtcd file was not included. BUG=webm:1584 Change-Id: Ied395847a664eedce59e8ed5180bd16d059ab0ac
2019-01-24Merge "mips: resolve missing declarations"Johann Koenig
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-23mips: resolve missing declarationsJohann
Exclude low bit depth optimizations from high bit depth builds. BUG=webm:1584 Change-Id: I86a7ebafa557d262257358e1e055a06d52659977
2019-01-23Fix a typo in the test cases for convolve testchiyotsai
BUG=webm:1591 Change-Id: I34aedcb5336a96e33932ce34967c12f187ee52e2
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