- 17 Jul, 2014 - 1 commit
-
-
Pengchong Jin authored
The bug sets the wrong pointer to the first pass mb stats if the encoder does the re-coding in the second pass. Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
-
- 15 Jul, 2014 - 1 commit
-
-
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
-
- 11 Jul, 2014 - 1 commit
-
-
Yunqing Wang authored
Changed to use defined inline functions consistently through the code. Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200
-
- 07 Jul, 2014 - 1 commit
-
-
Jingning Han authored
Change-Id: Id6eedc502c86433df1456dd994aee6bc9a1359a2
-
- 02 Jul, 2014 - 2 commits
-
-
Alex 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
-
Jingning Han authored
This commit re-designs the quantization process for transform coefficient blocks of size 4x4 to 16x16. It improves compression performance for speed 7 by 3.85%. The SSSE3 version for the new quantization process is included. The average runtime of the 8x8 block quantization is reduced from 285 cycles -> 255 cycles, i.e., over 10% faster. Change-Id: I61278aa02efc70599b962d3314671db5b0446a50
-
- 01 Jul, 2014 - 1 commit
-
-
Yunqing Wang authored
Fixed the signed/unsigned mismatch. Change-Id: Id83d603b8f1745b71f4cf695a0751e55518b1316
-
- 30 Jun, 2014 - 3 commits
-
-
Yaowu Xu authored
Encoder still uses SWITCHABLE as default via DEFAULT_INTERP_FILTER, but does not override the default if it is not SWITCHABLE. Change-Id: I3c0f6653bd228381a623a026c66599b0a87d01d5
-
Jingning Han authored
When the frame is intra coded only, the encoder takes the RD coding flow. Hence the function set_mode_info is not practically in use. This commit removes it and the associated conditional branches. Change-Id: I1e42659ceb55b771ba712d1cdecacb446aa6460d
-
Yunqing Wang authored
Before encoding a frame, calculate and store each 16x16 block's variance of source difference between last and current frame. Find partitioning threshold T for the frame from its variance histogram, and then use T to make partition decisions. Comparing with fixed 16x16 partitioning, rtc set test showed an overall psnr gain of 3.242%, and ssim gain of 3.751%. The best psnr gain is 8.653%. The overall encoding speed didn't change much. It got faster for some clips(for example, 12% speedup for vidyo1), and a little slower for others. Also, a minor modification was made in datarate unit test. Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
-
- 29 Jun, 2014 - 1 commit
-
-
Jim Bankoski authored
Change-Id: I7f989d197444d166133ad91eb23ac1033109f58d
-
- 26 Jun, 2014 - 2 commits
-
-
Jingning Han authored
This commit enables an adaptive transform size selection method for speed -6. It uses largest transform size when the sse is more than 4 times of variance, i.e., most energy is compacted in the DC coefficient. Otherwise, use the default TX_8X8. It improves the compression efficiency for rtc set of speed -6 by 0.8%, no speed change observed. Change-Id: Ie6ed1e728ff7bf88ebe940a60811361cdd19969c
-
Pengchong Jin authored
This patch allows the encoder to skip the partition search for the frame if it is an inter frame and only zero motion vectors have been detected in the first pass. The partition size is directly assigned according to the difference variance. Borg tests show overall little performance changes in term of PSNR (derf -0.027%, yt 0.152%, hd 0.078%, stdhd 0%). The worst case of PSNR loss is -0.514% from yt. The best PSNR gain is 4.293% from yt. The second pass encoding speedup for slideshow clips is 15%-40%. Change-Id: I881f347d286553ee5594a9ea09ba1a61ac684045
-
- 24 Jun, 2014 - 2 commits
-
-
Yunqing Wang authored
In real-time speed 6, no partition search is done. The inter prediction results got from picking mode can be reused in the following encoding process. A speed feature reuse_inter_pred_sby is added to only enable the resue in speed 6. This patch doesn't change encoding result. RTC set tests showed that the encoding speed gain is 2% - 5%. Change-Id: I3884780f64ef95dd8be10562926542528713b92c
-
Paul Wilkins authored
Fix some bugs relating to the use of buffers in the overlay frames. Fix bug where a mid sequence overlay was propagating large partition and transform sizes into the subsequent frame because of :- sf->last_partitioning_redo_frequency > 1 and sf->tx_size_search_method == USE_LARGESTALL Change-Id: Ibf9ef39a5a5150f8cbdd2c9275abb0316c67873a
-
- 20 Jun, 2014 - 3 commits
-
-
Alex Converse authored
Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80
-
Alex Converse authored
Change-Id: I549868725b789f0f4f89828005a65972c20df888
-
Alex Converse authored
Copy split from macroblock to pick mode context so it doesn't get lost. Change-Id: Ie37aa12558dbe65c4f8076cf808250fffb7f27a8
-
- 12 Jun, 2014 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Ifa6374e9db5919322733b656e0865f5f19ee6f2c
-
Jingning Han authored
This commit enables a fast path computational flow for forward transformation. It checks the sse and variance of prediction residuals and decides if the quantized coefficients are all zero, dc only, or more. It then selects the corresponding coding path in the forward transformation and quantization stage. It is currently enabled in rtc coding mode. Will do it for rd coding mode next. In speed -6, the runtime for pedestrian_area 1080p at 1000 kbps goes down from 14234 ms to 13704 ms, i.e., about 4% speed-up. Overall coding performance for rtc set is changed by -0.18%. Change-Id: I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1
-
Alex Converse authored
Add a set_mode_info_seg_skip function that fills the requisite mode info. Change-Id: I460b1b6845d720d9b09ed5b64df0ea0aac443f62
-
- 09 Jun, 2014 - 1 commit
-
-
Yunqing Wang authored
In non-rd real-time mode, choosing smaller transform size in encoding gives better video quality and good speed gain than choosing larger transform size. This patch set tx size search method to ALLOW_8X8, which is better than using 4x4 or other larger sizes. Borg tests on rtc set at speed 6 showed significant gain on quality. PSNR gain: 11.034% and SSIM gain: 15.466%. The speed gain is 5% - 12% for <720p clips, and 2% - 7% for 720p clips. Change-Id: If4dc74ed2df359346b059f47fb73b4a0193ec548
-
- 06 Jun, 2014 - 2 commits
-
-
Dmitry Kovalev authored
This is not a speed feature, adding inline function instead. Change-Id: Ia48c41802eec9e92cf990339d724097279695c9a
-
Dmitry Kovalev authored
Change-Id: Ib8187c8f2556e1e9268b0683cd2b6ff3489f0205
-
- 05 Jun, 2014 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: Ifcb46e6904730d14b9ef76b648b4d0dc3cd5d0c5
-
Dmitry Kovalev authored
The same enum defined and used in vp9_mvref_common.c. Change-Id: I3975103997797add0a258d36c96d20ac9561a73d
-
- 03 Jun, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Right now there is just one place to check: xd->lossless and for the first pass there is a function is_lossless_requested(). Change-Id: I949a6834e64ce51e422e2892f097f2b871b5429a
-
- 02 Jun, 2014 - 1 commit
-
-
Deb Mukherjee authored
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Fixes a bug in original patch: (https://gerrit.chromium.org/gerrit/#/c/70163/8) that was reverted due to a nightly test failure. Change-Id: Ia2a4e9e278fd3c89d6c3c82fcc6381320ec2a8a6
-
- 01 Jun, 2014 - 1 commit
-
-
Frank Galligan authored
This reverts commit 91655042 Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
-
- 29 May, 2014 - 2 commits
-
-
Alex Converse authored
This aligns the encoder behavior with the decoder. Change-Id: Ifa0840e4b07b19309e0bf1d1182498883249ec45
-
Dmitry Kovalev authored
Change-Id: I87b7c657d8813d7fb383ab519d150c0ffb1dd377
-
- 27 May, 2014 - 1 commit
-
-
Yunqing Wang authored
This reverts commit e8bbb3d9. Change-Id: Ie368d36fd249d323d859d208609c711f04537bbc
-
- 23 May, 2014 - 1 commit
-
-
Deb Mukherjee authored
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
-
- 22 May, 2014 - 1 commit
-
-
Alex Converse authored
Use the appropriate subblock offset mode info rather than the parent block base, when filling mbmi in the pc tree in nonrd_use_partition. This mimics what is done in the vertical case and what is done for both cases in nonrd_pick_partition. This change has little practical effect at the moment since in speed 5 rt horizontal and vertical partitions are currently only used unpaired at edges of the picture. Change-Id: I4632f66ca84086dac56c7d36b45ddbe38a06f42a
-
- 21 May, 2014 - 2 commits
-
-
Yaowu Xu authored
This commit changed to enable the encoder to adjust motion dection speed threshold based on picture size. In addition, cpu-used 1 now does a partition search every other frame instead of every third frame for low resolution inputs. The change has no quality/speed impact for 720p and above. Test showed the change increase encoding time by between 3% to 6% for cpu-used 2 encodiong of 360p sequences. It also has a compression gain about .3%. For cpu-used 2, the change resolved some very disturbing visual artifacts in certain sequences when large block partitionings and transforms are used as a result of copying the partition from a previous frame. Change-Id: Ic7fd22508cdb811d4ca935655adbf20109286cfa
-
Dmitry Kovalev authored
The final goal is eventually to get rid of both itxm_add and fwd_txm4x4. This patch does it in the decoder. Change-Id: Ibb3db57efbcbb1ac387c6742538a9fcf2c6f24a5
-
- 19 May, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ia0dc05e530428af9ab5aa57e24f1115b0b4765d3
-
- 16 May, 2014 - 2 commits
-
-
Dmitry Kovalev authored
Because PC_TREE is encoder-level data, not MACROBLOCK-level data. Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
-
Dmitry Kovalev authored
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
-
- 15 May, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I7ed7fecc959c6598ff98895f1a5cf7e11ac1615f
-