summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-03vp8 quantize testJohann
Test for Regular, Fast and Pair quantization Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
2014-10-28Merge "Use zero motion vector in choose_partitioning"Jingning Han
2014-10-28Merge "vp9_denoiser_sse2: refactor the code."JackyChen
2014-10-28Merge "Allow update of golden refernce buffer in CBR mode"Yaowu Xu
2014-10-28vp9_denoiser_sse2: refactor the code.JackyChen
Combined vp9_denoiser_8xM_sse2 and vp9_denoiser_4xM_sse2 into one function vp9_denoiser_NxM_sse2_small and passed the bitexact testing. Changed the name of the function vp9_denoiser_64_32_16xM_sse2 to vp9_denoiser_NxM_sse2_big. Change-Id: Ib22478df585994dd347ebae04202c0b701e7f451
2014-10-28Merge "Add a new control of golden frame boost in CBR mode"Yaowu Xu
2014-10-28Allow update of golden refernce buffer in CBR modeYaowu Xu
This commit changes to allow the usage of golden reference frame in VP9 CBR mode to improve quality. VP9 supports potentially up to 8 reference buffers, it has reference buffers available for this purpose. This was not possible in VP8 as golden and alt-ref buffers were used for temporal scalability purpose in CBR mode in WebRTC. For frames that update golden frame, there can be a quality boost. The amount of allowed bitrate boost can be controlled via parameter rc_max_inter_bitrate_pct. The inital value of the boost ratior is currently based on over_shoot_pct. Further experiments will work out the adaption of this boost value. Change-Id: I0c5f010c8fd8b7b598f69779c1b30e5b2ac30a4d
2014-10-28Relax maximum Q for extreme overshoot.Paul Wilkins
Added code to relax the active maximum Q in response to extreme local overshoot to reduce bandwidth peaks. The impact is small in metrics terms, but it this helps reduce bandwidth spikes and overall overshoot in a number of clips in our tests sets (especially the YT test set). In particular this should help prevent very big spikes where a clip is mainly easy but has a short hard section. In such a case a choice of maximum Q for the clip as a whole may allow us to hit the overall target rate but give some extreme spikes. The chunked encoding in YT mitigates this problem but it can show up where a longer clip is coded as a single chunk. Change-Id: I213d09950ccb8489d10adf00fda1e53235b39203
2014-10-27Use zero motion vector in choose_partitioningJingning Han
The zero motion vector was effectively used in the subsampled pixel based variance calculation. This commit makes it directly use zero mv to generate prediction. Change-Id: Ica83dc843e9f8da2f89c3ef451e50f16214c0def
2014-10-27Refactor encoder tile data structureJingning Han
Make the common tile info as one element in the encoder tile data struct. Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
2014-10-27Add a new control of golden frame boost in CBR modeYaowu Xu
0 means that golden boost is off, and uses average frame target rate, a non-zero number means the percentage of boost over average frame bitrate is given initially to golden frames in CBR mode. Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
2014-10-27Refactor rtc coding mode to support tile encodingJingning Han
Use per tile threshold in the prediction mode search process. Change-Id: I6c74ee5a3b069bb4281002dfe51310911a0756c0
2014-10-27Merge "Add a new control of max bitrate for inter frame"Yaowu Xu
2014-10-24Merge "Tile based adaptive mode search in RD loop"Jingning Han
2014-10-24Merge changes I8a9c9019,Ic7b2faa3,I44d42a50,I3f3a3924,I10747b32,I31b49c9eJames Zern
* changes: add vp9_loop_filter_data_reset move LFWorkerData allocation to VP9LfSync vp9_loop_filter_frame_mt: remove pbi dependency vp9_loop_filter_frame_mt: pass planes directly vp9_loop_filter_frame_mt: pass VP9LfSync directly vp9: store TileWorkerData allocations separately
2014-10-24Add a new control of max bitrate for inter frameYaowu Xu
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
2014-10-24Tile based adaptive mode search in RD loopJingning Han
Make the spatially adaptive mode search in rate-distortion optimization loop inter tile independent. Experiments suggest that this does not significantly change the coding staticstics. Single tile, speed 3: pedestrian_area 1080p 1500 kbps 59192 b/f, 40.611 dB, 101689 ms blue_sky 1080p 1500 kbps 58505 b/f, 36.347 dB, 62458 ms mobile_cal 720p 1000 kbps 13335 b/f, 35.646 dB, 45655 ms as compared to 4 column tiles, speed 3: pedestrian_area 1080p 1500 kbps 59329 b/f, 40.597 dB, 101917 ms blue_sky 1080p 1500 kbps 58712 b/f, 36.320 dB, 62693 ms mobile_cal 720p 1000 kbps 13191 b/f, 35.485 dB, 45319 ms Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
2014-10-24vp8: Updates to noise level estimate.Marco
-Use full bandwidth (when temporal layers is on) for checking switching. -Normalize metric wrt num_blocks. -Rounding fix to update of average noise level metric. -Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()). -Adjust some thresholds. Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
2014-10-24Merge "Enable dual arf with constant q."Paul Wilkins
2014-10-24Merge "Move frame re-sizing into the recode loop"Paul Wilkins
2014-10-23Move frame re-sizing into the recode loopAdrian Grange
The point at which frames are scaled to their coded dimensions is moved into the re-code loop. This is in preparation for a further patch that will add logic into the re-code loop to reduce the coded frame size if the encoder is struggling to hit the target data rate at the native frame size. Change-Id: Ie4131f5ec6fb93148879f6ce96123296442bf2d1
2014-10-23Merge "build/make/iosbuild.sh: Remove armv6 support."Tom Finegan
2014-10-23Merge "Move filter_ref initialization"Yaowu Xu
2014-10-23add vp9_loop_filter_data_resetJames Zern
Change-Id: I8a9c9019242ec10fa499a78db322221bf96a0275
2014-10-23Move filter_ref initializationYaowu Xu
To outside the loop to avoid repeating the operations. Change-Id: I66c1986e98ce0d7594caad3d3b45de655b299bff
2014-10-23Enable dual arf with constant q.Paul Wilkins
Add second level arf Q adjustment when using dual arfs in constant Q mode. Previously in constant Q mode enabling dual arf hurt by ~5% but with this change the average benefit is ~1-1.5% with some mid range data points up ~10%. Note however that it still hurts on some clips including some very low motion show content. Change-Id: I5b7789a2f42a6127d9e801cc010c20a7113bdd9b
2014-10-23Merge "Initialization bug for multi arf."Paul Wilkins
2014-10-22Merge "Allow checking zeromv mode in vp9_pick_inter_mode"Jingning Han
2014-10-22Merge "vp9_ethread: allocate frame contexts outside VP9_COMMON struct"Yunqing Wang
2014-10-22build/make/iosbuild.sh: Remove armv6 support.Tom Finegan
Apple no longer supports armv6 targets in Xcode or iOS. Change-Id: Ia7aa496afe62162c43c004530324406486c9a052
2014-10-22Merge "Fix Neon convolve profiling"Frank Galligan
2014-10-22vp9_ethread: allocate frame contexts outside VP9_COMMON structYunqing Wang
This patch allocated frame contexts outside VP9_COMMON. This allows multiple threads to share the same copy of frame contexts, and reduces the overhead. It also guarantees the correct update of these contexts during bitstream packing. This patch doesn't change encoding result. Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
2014-10-22Merge "Fix a subtle issue in re-use inter_pred"Yaowu Xu
2014-10-22Allow checking zeromv mode in vp9_pick_inter_modeJingning Han
This improves the compression performance of speed -5 by 0.6%. The speed impact is less than 1%. Change-Id: Ie77daa561976dfc8b479061e1221bdf428eb0c3b
2014-10-22Merge "vp9_denoiser_sse2.c: improve code style."JackyChen
2014-10-22Fix a subtle issue in re-use inter_predYaowu Xu
The initialization of this_mode_pred does not work when the ref_frame loop ever goes beyond LAST_FRAME. This commit fixes the subtle issue and allows potentially expanding the loop to test GOLDEN_FRAME. Change-Id: Ibbd427a22160d1d9eacb8ed0c87f88d6cef9c0f3
2014-10-22vp9_denoiser_sse2.c: improve code style.JackyChen
denoiser_sse2.c: fix typos in comment. Change-Id: Ic0fb102331b0e533c058da3cab1fbc30de9a0070
2014-10-22Fix Neon convolve profilingFrank Galligan
When profiling, gprof can't distinguish between matching labels in different files. Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f
2014-10-22Initialization bug for multi arf.Paul Wilkins
Moved erroneous reset of cpi->multi_arf_last_grp_enabled. Change-Id: Ibb0b96f6ed1d5eeb575a3b1c798e0fe2ee651d06
2014-10-22vp8: Update to computation of noise level.Marco
Avoid unneeded computation of mse in process_denoise. Change-Id: I3a538178f2d138750d0c38ea4dd05dbbc2b7df41
2014-10-22Merge "Refactor rate distortion cost structure in non-RD coding mode"Jingning Han
2014-10-22Merge "Change speed features for good quality(cpu-used=5)"Yaowu Xu
2014-10-21Refactor rate distortion cost structure in non-RD coding modeJingning Han
This commit refactors the rate distortion structure used in the non-RD coding mode and saves a few RDCOST calculations. Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a
2014-10-21Change speed features for good quality(cpu-used=5)Yaowu Xu
The existing speed features produce horrible encoding results, almost 30% worse than cpu-used=4, this commit adjust the speed features to produce relatively resonable results to be within 3%-5% of cpu-used=4. Change-Id: I0ca6ebafb33024d4a0cbcf04c78a4a00b8dd1ecf
2014-10-21Remove unused copy_partitioningJingning Han
Change-Id: I75a2a3772ed17e73180eb4f263cc838cae4927b0
2014-10-21Merge "Adding test vectors for profile 2 and 3"Deb Mukherjee
2014-10-21Merge "Remove deprecated constrain_copy_partitioning function"Jingning Han
2014-10-21Merge "Remove unused sb_has_motion function in vp9_encodeframe.c"Jingning Han
2014-10-21Merge "Remove deprecated use_lastframe_partitioning feature"Jingning Han
2014-10-21Merge "Hybrid partition search for rtc coding mode"Jingning Han