summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_denoiser.h
AgeCommit message (Collapse)Author
2015-01-07Skip duplicate denoiser frame buffer allocationJingning Han
Allocate the frame buffer allocation for denoiser once during the encoder initialization. This avoids allocating frame buffer multiple times and overwriting the buffer pointer without proper releasing. Change-Id: I9b3baa6283449d86fd164534d344c036bb035700
2014-10-06Add SSE2 code and unit test for VP9 denoiser.JackyChen
This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are only 16x16 blocks in denoiser, while in VP9, there are 13 different block sizes. By adding this SSE2 code, the improvement of encoder speed is around 20%(using C code vs using SSE2 code), vary for different clips. The unit test for VP9 denoiser is to confirm that the SSE2 code is bit-exact with the C code. The unit test covers all block size. Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
2014-09-10Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code.JackyChen
This issue is found when the denoising mode is set to kDenoiserOnYUVAggressive. Updated the C code to make it the same with SSE version. I also changed several lines in VP9 denoiser for the code style. Change-Id: I640d48cf946fe8c6a400e6e252107501d1e226d3
2014-09-04Map motion magnitude in VP9 denoiser.JackyChen
This is to keep the same with VP8 denoiser. If motion magnitude is small, make denoiser more aggressive. Change-Id: I942a6e2f2ed9aec6f0c4c1f9e5fa47066cadcc0c
2014-09-02Adds config opt for highbitdepth + misc. vpxDeb Mukherjee
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles. Also includes most vpx level high bit-depth functions. However encode/decode in the highbitdepth profiles will not work until the rest of the code is in place. Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
2014-08-22vp9_denoiser_update_frame_stats: unused parm fixedJim Bankoski
Change-Id: Ic39cc0deafb3ed509434d3d9953b99713de7394a
2014-07-15VP9 Denoiser denoises after mode/bsize searchTim Kopp
In vp8, statistics are collected about the different modes as they are searched. This process is more complicated due to the variable block size. Fields were added to the PICM_MODE_CONTEXT struct to hold this information for each point in the search. The information is then taken from the appropriate part of the tree during denoising. Change-Id: I89261ab77ad637821287ae157dfdf694702b8e77
2014-07-01VP9 denoiser used s/int/enum where appropriateTim Kopp
Change-Id: Id52a7869fd1f31bb060de170e3295da7435adb9e
2014-06-27VP9 denoiser: implemented update_frame_stats()Tim Kopp
Also added reset_frame_stats() Change-Id: I8e6ca00dbd5fa85cd39485d81c9343c0ff207d6c
2014-06-19Fixes in VP9 alloc, free, and COPY_FRAME caseTim Kopp
Change-Id: I1216f17e2206ef521fe219b6d72d8e41d1ba1147
2014-06-18Changed buf_2ds in vp9 denoiser to YV12 buffersTim Kopp
Changed alloc, free, and running average code as necessary. Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1
2014-06-12Added skeleton for VP9 denoiserTim Kopp
Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90