- Jul 15, 2014
-
-
Tim Kopp authored
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
-
- Jul 11, 2014
-
-
Jingning Han authored
This commit fixes a mismatched use case of block size in non-RD intra prediction check. The residual SSE and variance should be calculated per transform block size, instead of operating block size, which caused chrome valgrind warning on conditional jump based on uninitialized value (webm issue 823). This commit resolves this issue. Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a
-
Hangyu Kuang authored
Also fix bugs related with corrupted frame handling. Return VPX_CODEC_CORRUPT_FRAME when getting corrupted block. Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41
-
Yunqing Wang authored
Removed 2 unnecessary assertions. Change-Id: I0f8877d0494bf3ecdb0d7931ccbcaa8289e01d8b
-
Yaowu Xu authored
Change-Id: I3d9130e726a1299fd258f6dfe93315e2d12f76da
-
Yunqing Wang authored
Changed to use defined inline functions consistently through the code. Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200
-
Paul Wilkins authored
Use a weaker filter for second level arf frames. Average gain across all sets and metrics ~0.3% Remove code for arnr_type which is no longer supported in VP9 which always uses a centered blur. Re-factor and some cleanup. Change-Id: Ieb4b8940e99e4e02b3fcc9fca6f2d4109e6ed639
-
Yaowu Xu authored
Change-Id: I6ad6fd75dc3c9e6218d88148cf49e205398e2af5
-
- Jul 10, 2014
-
-
James Zern authored
restore the environment post encode/decode failure Change-Id: I3c72e2260a616432eaf1f9545d4fb4d8e45cc7b0
-
James Zern authored
pull the latest from libwebp. Original source: http://git.chromium.org/webm/libwebp.git 100644 blob 264210ba2807e4da47eb5d18c04cf869d89b9784 src/utils/thread.c commit 46fd44c1042c9903b2f1ab87e9f200a13c7e702d Author: James Zern <jzern@google.com> Date: Tue Jul 8 19:53:28 2014 -0700 thread: remove harmless race on status_ in End() if a thread was still doing work when End() was called there'd be a race on worker->status_. in these cases, however, the specific value is meaningless as it would be >= OK and the thread would have been shut down properly, but we'll check 'impl_' instead to avoid any potential TSan/DRD reports. Change-Id: Ib93cbc226a099f07761f7bad765549dffb8054b1 Change-Id: Ib0ef25737b3c6d017fa74822e21ed58508230b91
-
Hangyu Kuang authored
Change-Id: Ifc741da9da6f61c8d3c1f675ec6b8a96570f877d
-
Yunqing Wang authored
Currently, vp9_diamond_search_sadx4() is only called when sse3 is enabled, which is improper since sse2 optimization of sdx4df functions are available. Changed to always use vp9_diamond_search_sadx4(). Change-Id: I4b95d6b7a3c6c645783c373f0ba8d645ece24717
-
James Zern authored
- fix indent, spelling - drop some whitespace in some comments - add an assert in vp9_setup_mask, it shouldn't be called on decode error Change-Id: Ic312a815e977a6f9cb81ceb7b039eeada76c5aa0
-
- Jul 09, 2014
-
-
Yunqing Wang authored
There are sse2 optimization of sdx4df functions. Instead of calling vp9_refining_search_sadx4 only when sse3 is enabled, call it always. Change-Id: I24f93818f7d4209d1425039e0eb099ff9ff08fe9
-
Yaowu Xu authored
Change-Id: I3a3ceeeed489f8b1ccd7199ff97f3fb991bbf5a4
-
Yunqing Wang authored
Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in vp9_find_best_sub_pixel_tree(). Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
-
Yunqing Wang authored
Use FAST_HEX in speed 5 and 6, which covers more points than FAST_DIAMOND and improves motion search quality. At speed 6, RTC set borg tests showed slight quality gain (psnr gain: 0.143%, ssim gain: 0.226%). No noticeable encoding speed change. Change-Id: Ifa62875d9a52ee382ec494f271382bb77d8c67bf
-
Yaowu Xu authored
This commit combined the full pel and sub pel motion search into a single function to avoid code duplication. The commit does not change encoder outputs. Change-Id: Ibe18342c4f64073bef20f9cf6c6ca0a20d01bf0d
-
James Zern authored
in a failure case the threads may still be running and share a reference to VP9_COMMON Change-Id: I867034b4b55f133663b8cbf6ca06e72acf952849
-
- Jul 08, 2014
-
-
Jingning Han authored
This commit enables a new quantization process for 32x32 2D-DCT transform coefficient blocks. It improves the compression performance of speed 5 by 1.4%. The overall compression gains of speed 5 due to the new quantization scheme is 4.7%. It also includes the SSSE3 implementation of the 32x32 quantization process. Change-Id: I0855b124fd6462418683f783f5bcb44255c9993b
-
Adrian Grange authored
This patch fixes bug 633: https://code.google.com/p/webm/issues/detail?id=633 The first decoded frame does not have to be a keyframe, it could be an inter-frame that is coded intra-only. This patch fixes the handling of intra-only frames. A test vector has also been added that encodes 3 intra-only frames at the start of the clip. The test vector was generated using the code in the following patch: https://gerrit.chromium.org/gerrit/#/c/70680/ Change-Id: Ib40b1dbf91aae2bc047e23c626eaef09d1860147
-
Tim Kopp authored
In the previous version, only certain buffers in the macroblockd were saved and the restored. In this version, all of the buffers are saved and restored. The code was then rolled into a loop for readability. Also contains a tiny fix for when the -DOUTPUT_YUV_DENOISED flag is used. Change-Id: Id925ef8b3fa122ae88acfa1d9a1e4df45df83518
-
Guillaume Martres authored
This makes it possible to use --rt --cpu-used=8. Change-Id: I8b5bc4449b6e05d24d25145e35b4793501268c59
-
- Jul 07, 2014
-
-
Hangyu Kuang authored
Prepare for frame parallel decoding, the reference count buffers need to be protected by mutex. Move vp9_thread.* to common folder so that those buffers could use cross-platform mutex from vp9_thread.*. Change-Id: I541277cf15eefed6641555944f67f4a0bcdc8154
-
Jingning Han authored
This commit further simplifies the SSSE3 implementation of the fast path quantization process. Change-Id: I5be3286ec0f1bd81d1cf5be3168fece6384fb9ca
-
Jingning Han authored
Change-Id: Id6eedc502c86433df1456dd994aee6bc9a1359a2
-
Aℓex Converse authored
* Replace max_step_search_steps with constant MAX_MVSEARCH_STEPS * Fold (reduce_first_step_size + speed > 5) into reduce_first_step_size replacing uses of reduce_first_step_size that don't add the speed check with zero. Change-Id: Iae46395dbf3eaca138bf4d18b838a9e364b5a198
-
- Jul 05, 2014
-
-
Deb Mukherjee authored
The y4m extension used is the same as the one used in ffmpeg/x264. The patch is adapted from the highbitdepth branch. Also adds unit tests for y4m header parsing and md5 check of the raw frame data, as well as y4m writing. [build fix for Mac/VS by not using tuples with strings] Change-Id: I40897ee37d289e4b6cea6fedc67047d692b8cb46
-
- Jul 03, 2014
-
-
Dmitry Kovalev authored
Reverting "Adds support for reading and writing 10/12-bit y4m" for now because of Mac Build Failure. This reverts commit 82dc1332 Change-Id: I824bf42bf47c7df6985c79e451d6af913030d374
-
- Jul 02, 2014
-
-
Aℓex Converse authored
Change-Id: I39a37335ba5b3a969d328afb1f425ddb2cf7ddda
-
Aℓex Converse authored
vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all other rd related routines. Anything used outside of making an rd optimal decision belongs in rd. Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
-
Dmitry Kovalev authored
Change-Id: I262ecac02d376de83097bb40f744f5584e987603
-
Yunqing Wang authored
Moved the threshold adjustment before reference flag checking, which could set the threshold to INT_MAX for disabled reference frame, and cause overflow if the adjustment is done after that. Change-Id: I85e94f8726d5e3ae93f65965aa978721dddc9957
-
Tim Kopp authored
Renamed updating_running_avg() to filter(). Extended function with the rest of the filter procedure. Made all of the empirically-determined constants used in VP8 into functions so they can be tweaked more easily. Change-Id: I41730c8c92370c76885950a43742347477ca4e7e
-
Tim Kopp authored
As in VP8. Currently, this parameter is set with the VP8E_SET_NOISE_SENSITIVITY flag. The flag was not renamed so that we don't break the interface for webrtc. This should probably be changed at some point in the future. Change-Id: Ic73fcb0dde9d1d019e9d042050b617333ac65472
-
Tim Kopp authored
Change-Id: Icbe05657f0e92c3838e6a5a975f4f82d21328a2e
-
Paul Wilkins authored
Add test code to turn multi-arf on and off depending on group length and zero motion. Changes to active max group length for mult-arf. Fund second arf only from normal frame bits. Change-Id: I920287fac1c886428c15a39f731a25d07c2b796c
-
Yaowu Xu authored
This commit added a speed feature to control the step_param used in full pixel motion search. The intention is to reduced the search steps for high speed real time coding. Change-Id: I21d2f0105c2b647783a6688615da7fcf2b6d670b
-
Paul Wilkins authored
Adapt the use of segmentation in AQ mode 2 based on the ambient kf/arf/gf Q. Disable segmentation where the rate per SB is very low and overheads are likely to outweigh the benefits. This patch reduces the -ve average metrics impact of AQ mode 2 while allowing stronger 3 segment AQ in some cases. Average improvement ~0.5-1.0%. Change-Id: I5892dfcc7507c5cc6444531cc7fe17554cf8d0c7
-
Deb Mukherjee authored
The y4m extension used is the same as the one used in ffmpeg/x264. The patch is adapted from the highbitdepth branch. Also adds unit tests for y4m header parsing and md5 check of the raw frame data, as well as y4m writing. Change-Id: Ie2794daf6dbafd2f128464f9b9da520fc54c0dd6
-