summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-03-12Merge "Apply fast motion search to golden reference frame"Jingning Han
2015-03-12Merge "Refactor to remove GLOBAL_MOTION"Jingning Han
2015-03-12Fix a typo introduced in #94401affYaowu Xu
This fixes all test vector failures Change-Id: Ie1a9fe0f023f7a0c7e89eb55df1b40ff65302adc
2015-03-11Merge "Fix visual studio build failure."Marco
2015-03-11Merge "Refactor the block decode code to make it simpler."hkuang
2015-03-11Fix visual studio build failure.Marco
Change-Id: Ifeb14f945d0f0300eb7b21b38e5720ac1c11a6cf
2015-03-11Merge "Clamp rate correction factor after scaling it"Adrian Grange
2015-03-11Apply fast motion search to golden reference frameJingning Han
This commit enables the rtc coding mode to run integral projection based motion search for golden reference frame. It improves the speed -6 compression performance by 1.1% on average, 3.46% for jimred_vga, 6.46% for tacomascmvvga, and 0.5% for vidyo clips. The speed -6 is about 6% slower. Change-Id: I0fe402ad2edf0149d0349ad304ab9b2abdf0c804
2015-03-11Refactor to remove GLOBAL_MOTIONJingning Han
Make the vp9_int_pro_motion_estimation() function return zero motion vector if high bit depth is turned on, instead of removing it from compiled codes. Change-Id: Ia48f010eb590b2d517d5678c394110b326a1a95e
2015-03-11Refactor the block decode code to make it simpler.hkuang
Change-Id: I0f983cb821ad7ec6fbefe7895cb8124a8fa39df6
2015-03-11Merge "Separate rd_thresh adaption by ref_frame"Yaowu Xu
2015-03-11Clamp rate correction factor after scaling itAdrian Grange
Added clamp on the rate correction factor after it has been scaled. Change-Id: I5d4b46a101987b43c5bcfd7e0bd1b7b4d53640a4
2015-03-10Separate rd_thresh adaption by ref_frameYaowu Xu
Only update the rd_thresh factors for modes sharing same reference frame. This helps overall compression of 6 and 7 by .13% and .19% respectively without any noticeable speed difference. Change-Id: Idb3a3879512c5d7d0880034516079949290690c5
2015-03-10Merge "Modify update golden reference update under aq-mode=3 mode."Marco
2015-03-10Modify update golden reference update under aq-mode=3 mode.Marco
For non-SVC 1 pass CBR: make the GF update interval a multiple of the cyclic refresh period, and use encoding stats to prevent GF update at certain times. Change-Id: I4c44cacc2f70f1d27391a47644837e1eaa065017
2015-03-10Merge "Accumulate tx_totals counters in multi-threaded encoder"Yunqing Wang
2015-03-10Merge "Enable using Golden reference in choose_partition()"Yaowu Xu
2015-03-10Merge "Allow q adjustment for VPX_CQ and VPX_CBR."paulwilkins
2015-03-10Accumulate tx_totals counters in multi-threaded encoderYunqing Wang
Tx_totals counters weren't handled correctly in multi-thread case, which caused the mismatch while encoding using threads > 1. This patch fixed that. Change-Id: Ice9b0386f57175fb92a0bdcd5042686a3106246a
2015-03-10Fix vp9_compute_qdelta_by_rate loop behaviorAdrian Grange
The return value from vp9_compute_qdelta_by_rate, which is a delta value for the quantizer, could never be 0 if (qindex == rc->worst_quality). This occurs because target_index was setup unconditionally in the loop and yet the loop counter stopped at (rc->worst_quality - 1). Change-Id: I6b59cd9b5811ff33357e71cd7d814c5e53d291f2
2015-03-10Enable using Golden reference in choose_partition()Yaowu Xu
Choose_partition uses only the last frame as reference frame in making partition decision, this commit adds the check on how well Golden frame with (0,0) predicts the current block, and uses GF(0,0) as basis for partition decision if it produces better prediction. The commit improves rtc speed 6 and 7 encoding by 0.14% and 0.19% respectively. Change-Id: I156acf925bd6e0b586d48155d1940d27270a3915
2015-03-09Refactor read_intra_frame_mode_infoFrank Galligan
Change-Id: I56b0614154408e8ec613784b2007374df00fbf17
2015-03-09Merge "Don't waste time partitioning skip superblocks."Alex Converse
2015-03-09Merge "Skip golden ref frame check when it is same as last ref frame"Jingning Han
2015-03-09Skip golden ref frame check when it is same as last ref frameJingning Han
When golden reference frame is refreshed, the next frame has both its last and golden reference frames point to the same reference frame in real-time coding mode. Experiments suggest that using two separate reference frames for frames right after golden refresh frame does not provide further compression performance advantage. This commit hence retains the current encoder implementation and shuts off the mode search over golden reference frame in this case. It makes the encoder run slightly faster at no coding performance change. Change-Id: I1561f7799253a10e675d05c63c1749fe9e85b472
2015-03-09Don't waste time partitioning skip superblocks.Alex Converse
Force 64x64 partitioning when a whole superblock is SEGMENT_LVL_SKIP. This drops encode times of screens mostly at rest by 20%. Change-Id: Ieba554b0b8a0c1679aae784a8bd11f038ab942c3
2015-03-09Allow q adjustment for VPX_CQ and VPX_CBR.paulwilkins
Adjustment previously only enabled in VBR mode. This patch allows adjustment of min and max q for CBR and adjustment of max q only for CQ mode. Change-Id: Id5e583f3d50453cd544fc57249acacd946457482
2015-03-09Merge "vp9_ethread: fix me consts initialization to support aq_mode=3 encoding"Yunqing Wang
2015-03-09Merge "Move pred_mv assign outside integral projection motion search"Jingning Han
2015-03-09Merge "Reduce default overshoot/undershoot params to 25"Deb Mukherjee
2015-03-09Merge "Modify the setting of transform skip flags in non-rd mode"Yunqing Wang
2015-03-06vp9_ethread: fix me consts initialization to support aq_mode=3 encodingYunqing Wang
While turning on "--aq_mode=3", the quantizers are updated by each thread. Fixed the me consts initialization function to make sure that the correct thread data are updated. Change-Id: Ied27bb7bae76fc3fa2cda4f8c35ac0b46271bef4
2015-03-06Remove some unnecessary code in thread context copy.hkuang
Change-Id: Iddf098e1bae9c10fc2f325f84156f50a0bd0055a
2015-03-06Merge "Only wait for previous frame's motion vector if needed."Hangyu Kuang
2015-03-06Modify the setting of transform skip flags in non-rd modeYunqing Wang
While searching for the best mode in non-rd case, SSE of a partition block is calculated and the transform size is set. This patch rewrites the skip checking conditions based on transform size instead of partition size to be more precise. Small gains were seen in rtc set borg test (speed 6). AVG PSNR: 0.087%, overall PSNR: 0.073%, SSIM: 0.146%. No noticeable speed change. Change-Id: I5603ca5339c784dfa02263f4005988ccd8c32f6e
2015-03-06Merge changes I1b972c94,I9c897d32Yaowu Xu
* changes: Prevent invalid memory access Use correct bsize for uv
2015-03-05Only wait for previous frame's motion vector if needed.Hangyu Kuang
Change-Id: Iecce685a33b64844446c0009f21bc85566d7469f
2015-03-05Prevent invalid memory accessYaowu Xu
Change-Id: I1b972c945274254d896d772d859840b2f8211b4f
2015-03-05Merge "Fix a tsan error bug in frame parallel decode."hkuang
2015-03-05Merge changes I219c287b,I6adee670Alex Converse
* changes: Call encoder control before running ethread test. Don't copy thread data for the main thread.
2015-03-05Merge "Fix misleading indentation."Alex Converse
2015-03-05Reduce default overshoot/undershoot params to 25Deb Mukherjee
Reducing these values from 100 makes rate control tighter by default. Change-Id: I979409c93e6f19e128898f08ad581bf67eb0f824
2015-03-05Merge "Use 8 threads by default for VP9 encodes"Frank Galligan
2015-03-05Merge "VP9: turn on tile-columns and frame-parallel-mode by default"Frank Galligan
2015-03-05Merge "Don't inline cost_coeffs."Alex Converse
2015-03-05Merge "Fix valgrind memcpy memory overlaps warning"Adrian Grange
2015-03-05Don't inline cost_coeffs.Alex Converse
It was tiny when it was orginally marked INLINE. Forcing this function to be inlined prevents the compiler from inlining its much smaller callers. No measurable speed impact, 28320 byte smaller libvpx.a Change-Id: I6bf4c917157d15cbadb3cd3e20a9e82d35dc7d6f
2015-03-05Fix misleading indentation.Alex Converse
Change-Id: Ic82b039a3d42f9aa01b85a3a69facfaa84b43a53
2015-03-05Don't copy thread data for the main thread.Alex Converse
Change-Id: I6adee6704cacfeae0ed0b217a91095457d1be74a
2015-03-05Move pred_mv assign outside integral projection motion searchJingning Han
Change-Id: I040b066fdce08e2f05115a22ea808715aa147779