summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-01-11Merge "Fix comments and color format"Yaowu Xu
2015-01-09Fix comments and color formatYaowu Xu
Replaced "color space" with "color format" in comments where color sampling format is concerned, so to differentiate from the concept defined in COLOR_SPACE. Change-Id: I8c935034c166b24307a99352dab1686531276bb8
2015-01-09Merge "Use 64 bit to accumulate frame sse."Paul Wilkins
2015-01-08Merge "Refactor mc reference block fetch in denoiser"Jingning Han
2015-01-08Merge "vp9: add per-tile longjmp error handling"James Zern
2015-01-08Merge "vp9: fix -Wclobbered (longjmp + local variables)"James Zern
2015-01-08Merge "Use lookup table to find pixel numbers in block"Jingning Han
2015-01-08Merge "Disable vp9 _8_ loopfilters"Johann
2015-01-08Refactor mc reference block fetch in denoiserJingning Han
This commit refactors the motion compensated reference block fetch process in denoiser. It skips the stage that generates motion compensated reference block if denoiser decides to use copy block mode. For high motion clips, this could speed up the denoising process by about 10%. Change-Id: I8ef4fa5fe766a8c4529119b9ec01faefb3d4ef53
2015-01-08Use lookup table to find pixel numbers in blockJingning Han
This could save one multiplication in each threshold funtion called by the denoiser per block. Change-Id: I35f437e09999f0a087180878ef7805f0d86e5819
2015-01-08Merge "Refactor denoiser frame buffer update"Jingning Han
2015-01-08Merge "Initalize zeromv_sse and newmv_sse in vp9_pick_inter_mode"Jingning Han
2015-01-08Merge "Use vp9_convolve_copy in denoiser output"Jingning Han
2015-01-08Merge "Remove unnecessary init_macroblockd."hkuang
2015-01-07Refactor denoiser frame buffer updateJingning Han
Use frame buffer pointer swap instead of memcpy when possible. These two CLs make the denoiser when running on vidyo1 720p at speed -6 over 10% faster. Change-Id: I64fe8a2422cafca6787a50c7f4dfb961191c0a9d
2015-01-07Use vp9_convolve_copy in denoiser outputJingning Han
Replace copy_block with vp9_convolve_copy for speed performance improvement. Change-Id: I3a08c4d01dff2253b6ee573efd02f65ccdc1b5a5
2015-01-07Removed redundant local variables in the forward hybrid transforms.Zoe Liu
Change-Id: I60f7ccbbc8dc624134e325bdce6042bc183075b6
2015-01-07Merge "Refactor calculation of tile_cols"Yaowu Xu
2015-01-07Merge "Always check and free denoiser buffer memory space"Jingning Han
2015-01-07Initalize zeromv_sse and newmv_sse in vp9_pick_inter_modeJingning Han
These two parameters are used to control the denoiser cut-off thresholds. They should be properly initialized when starting mode search of a given block. Change-Id: Iba8a25487026a0dbe0d350c347d7e4e4e237b637
2015-01-07Merge "Use qdiff to adjust the threshold of sad and variance in MFQE."JackyChen
2015-01-07Refactor calculation of tile_colsYaowu Xu
Change-Id: I2c38ea2bcf6d221a0b6b2fb9be4cebbee21006a3
2015-01-07Merge "Fix best ref frame rd cost update in sub8x8 non-RD mode search"Jingning Han
2015-01-07Merge "Format fix in vp9_pick_inter_mode_sub8x8"Jingning Han
2015-01-07Fix best ref frame rd cost update in sub8x8 non-RD mode searchJingning Han
This fixes the issue that sub8x8 inter blocks always end up with GOLDEN_FRAME. Change-Id: Id0c25cbb9c2003f43b4dff8fb1572512c246e077
2015-01-07Format fix in vp9_pick_inter_mode_sub8x8Jingning Han
Replace ref_frame++ with ++ref_frame. Change-Id: Ic39793081156c314bf1b85d5ab76def97f3bff52
2015-01-07Merge "Fix denoiser chroma component initialization"Jingning Han
2015-01-07Merge "Skip duplicate denoiser frame buffer allocation"Jingning Han
2015-01-07Merge "Rearrange loopfilter functions"Johann
2015-01-07Merge "Moves inter mode count updates to update_stats"Deb Mukherjee
2015-01-07Use qdiff to adjust the threshold of sad and variance in MFQE.JackyChen
When qdiff is larger, the sad/variance threshold should also be higher which indicates a more aggressive action on MFQE. Change-Id: I44c5c93572805458d4f87fdc7619cc9d8a522185
2015-01-07Always check and free denoiser buffer memory spaceJingning Han
The vp9_denoiser_free() function will internally check if the buffer pointers are NULL. This commit makes the encoder always call vp9_denoiser_free() after finishing encoding. It protects the case where noise_sensitivity_level is changed during encoding process and happen to be turned off towards the end of sequence, which could result memory space allocated to denoiser not being released. Change-Id: Ie20dc2f2e6e5fb6333fbab3356bc153978a6a0f8
2015-01-07Fix denoiser chroma component initializationJingning Han
Use the correct frame size and stride value for chroma components when setting the initial values. These control parameters are assigned when the denoiser buffer was allocated and initialized. Change-Id: Ia6318194c7738aff540bcbd34f77f0dac46221a1
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
2015-01-07Use 64 bit to accumulate frame sse.Paul Wilkins
When testing frame sse to choose a loop filter value and when checking ambient error in kf Q selection, use 64 bit values for accumulating the sse, to avoid risk of overflow for large image formats. Change-Id: I03765d16c843d0ade61a45b0cd46312472697e57
2015-01-06Disable vp9 _8_ loopfiltersJohann
Investigating https://code.google.com/p/chromium/issues/detail?id=443839 Change-Id: Ibb7485d835c5aa5e1d40f31715596ba8d208eedb
2015-01-06Rearrange loopfilter functionsJohann
Separate functions and rename files. This will make it easier to disable some functions later to help work around a compiler issue in chromium. Change-Id: I7f30e109f77c4cd22e2eda7bd006672f090c1dc5
2015-01-06Merge "Use -1 consistently as invalid buffer idx"Yaowu Xu
2015-01-06Moves inter mode count updates to update_statsDeb Mukherjee
This makes the inter_mode counts update consistent with other symbols. Also, forward updates should work corerctly now. Change-Id: Id98be26fd08875162e644bb8f1de6f0918f85396
2015-01-06Use -1 consistently as invalid buffer idxYaowu Xu
Instead of mixed use of both -1 and INT_MAX. This also fixes a vp9 fuzzing test failure. Change-Id: I950ea94b44ec7cdb5232773bee30b104e342f52a
2015-01-06Merge "Enable coefficient range checking for 10-/12-bit"Deb Mukherjee
2015-01-06Merge "Fix compiler warnigns for msvc2013"Yaowu Xu
2015-01-06Merge "Properly validate data size"Yaowu Xu
2015-01-06Merge "Deleted unused #define"Paul Wilkins
2015-01-06Enable coefficient range checking for 10-/12-bitDeb Mukherjee
Also fixes a broken build with --enable-coefficient-range-checking configuration option. Change-Id: Icc536f53088e8cec59dfb8f635668555fdb9125e
2015-01-05Properly validate data sizeYaowu Xu
With "show_existing_frame" frames: Minimum data size for profile 0 and 1 is 1 byte (8bits) Minimum data size for profile 2 and 3 is 2 bytes (9bits) Otherwise: Minimum data size is 8 bytes. This resolves the VP9 failure in fuzzing test build #56. Change-Id: I146d9d37688f535dd68d24aacc76d464ccffdf04
2015-01-05Fix compiler warnigns for msvc2013Yaowu Xu
Change-Id: I1e32bf8f6872a6fb7e9cabe86483e94805e2f790
2015-01-05Merge "Fix denoised video output function"Jingning Han
2015-01-05Adopt weighted averaging in MFQE.JackyChen
By using weighted averaging in the calculation of the frames to be displayed, we get an average gain of more than 1 db for key frames whose base qp are 20 higher than non-key frames. Change-Id: I7bcb2e7b9c6420ea3f73f33204d18b072dffd17c
2015-01-03Fix denoised video output functionJingning Han
This commit fixes the buffer alignment control in denoised video output function. The encoder is now able to properly store the denoised input video into provided file when enabled. Change-Id: I258e272c8d4a9b52592e16d6d09976c6f5c21728