summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-21Merge "Adding setup_frame() function."Dmitry Kovalev
2014-04-21Merge "Cleaning up vp9_rdopt.c."Dmitry Kovalev
2014-04-21Merge "Don't set loop filter sharpness in vp9_change_config()."Dmitry Kovalev
2014-04-21Merge "Cleaning vp9_variance.{c, h}."Dmitry Kovalev
2014-04-21Merge "Enable background detection for adaptive quantizer control"Jingning Han
2014-04-21Merge "Merge two new VBR adjustment schemes."Yaowu Xu
2014-04-21Merge "Add experimental VBR adaptation method."Yaowu Xu
2014-04-21Enable background detection for adaptive quantizer controlJingning Han
This commit enables a background detection approach for adaptive quantizer control. It combines the cyclic refresh pattern and the background information to determine the segment id for adaptive quantizer selection, prior to the non-RD mode decision process. It hence allows proper quantization information update for a more precise rate-distortion modeling in the non-RD mode decision. The compression performance of speed -5 for rtc set is improved by 2.5%, at no speed change. Change-Id: Ic3713e8ed9185b403b5b1679d19dabd57506d452
2014-04-19test/WebMVideoSource: fix WebMInputContext leakJames Zern
lost in the shuffle of: 4fd6317 Remove duplicate code in test/webm_video_source.h Change-Id: I89792fa17f03920616c55486bbdaf56c6461c9eb
2014-04-18Merge "Moving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}."Dmitry Kovalev
2014-04-18Cleaning vp9_variance.{c, h}.Dmitry Kovalev
Change-Id: I802308de4817e48a627bb44a744d32010fe7818f
2014-04-18Cleaning up vp9_rdopt.c.Dmitry Kovalev
Change-Id: Ifd008968326e61ab492162351e358bf0ac0dac0a
2014-04-18Merge "Remove ALT_REF_MC_ENABLED and tidy-up ARNR code."Adrian Grange
2014-04-18Moving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}.Dmitry Kovalev
Change-Id: I983364b33e8f103b43a0448821e890989176f1cc
2014-04-18Don't set loop filter sharpness in vp9_change_config().Dmitry Kovalev
The right value is calculated and set in vp9_pick_filter_level(). Change-Id: I5f725ac21f90dc9b80181a09a2040970bf6671d4
2014-04-18Renaming VP9_CONFIG to VP9EncoderConfig.Dmitry Kovalev
Change-Id: Id48edd12c6f649c82113128491ef6ea7410e93b2
2014-04-18Merge "Adding get_pass() function."Dmitry Kovalev
2014-04-18Merge "Remove duplicate code in test/webm_video_source.h"James Zern
2014-04-18Remove ALT_REF_MC_ENABLED and tidy-up ARNR code.Adrian Grange
Change-Id: I922d988486b47f413d11a8eeb38532a484d15c80
2014-04-18Merge "Fix broken encoding process at sub8x8 block size"Jingning Han
2014-04-18Remove duplicate code in test/webm_video_source.hVignesh Venkatasubramanian
Remove duplicate WebM parsing code in test/webm_video_source.h and linking it against webmdec.c which does the exact same thing. Change-Id: Ib7152eecde890fca58be42028cab18c9cb54221c
2014-04-17Remove warn() call in webmdec.cVignesh Venkatasubramanian
Remove call to warn() in webmdec.c so that it does not depend on tools_common.c for compilation. Change-Id: I2790e837985ce1d84b35f5a20c783d0e6020a9f5
2014-04-17Merge "Removing cq_target_quality from VP9_COMP."Dmitry Kovalev
2014-04-17Merge "Adding is_best_mode() function."Dmitry Kovalev
2014-04-17Merge "rename labels2mode because it was a terrible name."Jim Bankoski
2014-04-17Merge "renamed pick_best_mbsegmentation and remove rd_check_segment_txsize"Jim Bankoski
2014-04-17Merge "rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8"Jim Bankoski
2014-04-17Fix broken encoding process at sub8x8 block sizeJingning Han
Use the correct buffer to update the coding mode decision for sub8x8 blocks. Change-Id: I091ef27d2047eeb8b73ceb7c2c7c45b38ba8c6d5
2014-04-17Adding get_pass() function.Dmitry Kovalev
Change-Id: I43de248615b79828d5164b670e7358b8a520d075
2014-04-17Merge "Skip fetching original frame pointers for UV in background check"Jingning Han
2014-04-17Adding is_best_mode() function.Dmitry Kovalev
Change-Id: Idca7c1cd8a12df465c58b6ba064a99404b3b4bce
2014-04-17Merge "examples: remove off_t overrides"James Zern
2014-04-17Removing cq_target_quality from VP9_COMP.Dmitry Kovalev
Use cq_level (which is identical) from VP9_CONFIG instead. Change-Id: I1aaf2fcef3d2dbd4577f613d27693ff8a68989fd
2014-04-17Merge "Replacing cpu_used with speed in VP9_CONFIG."Dmitry Kovalev
2014-04-17rename labels2mode because it was a terrible name.Jim Bankoski
Change-Id: I2d577d11966fcc5ffaaf0896bf51d18078ad1e9c
2014-04-17Merge "Relax the threshold for datarate test by 5%"Yaowu Xu
2014-04-17Merge two new VBR adjustment schemes.Paul Wilkins
To make direct side by side testing this patch combines two VBR corrections schemes to allow more direct side by side testing. (The other patch was by Debargha chg id I0cd1f7...) Change-Id: I271c45e5c4ccf8de8305589000218b80d9dc3a25
2014-04-17Skip fetching original frame pointers for UV in background checkJingning Han
The background detection only tracks luma component. This commits removes the frame buffer pointer retrieval for chroma components. Change-Id: I098bd2950f5e5829ed5dc2b48568167248da7fad
2014-04-17examples: remove off_t overridesJames Zern
this is error prone, int64 will suffice for all cases Change-Id: I94883f93518cfc356ed57b14dc39d79aebccf47d
2014-04-17Merge "Remove redundant buffer initialization and mode_info assignments"Jingning Han
2014-04-17renamed pick_best_mbsegmentation and remove rd_check_segment_txsizeJim Bankoski
Change-Id: Ia7d33bc3eb595965bccf4b2231df1e3b2a0243c6
2014-04-17Relax the threshold for datarate test by 5%Yaowu Xu
Change-Id: Ibc770df77939a68f9f0d1d78c0edd737b0d398ad
2014-04-17rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8Jim Bankoski
Change-Id: I00bceb9de2009963c91e5102564c05c31ac1ad78
2014-04-17add a context tree structure to encoderJim Bankoski
This patch sets up a quad_tree structure (pc_tree) for holding all of pick_mode_context data we use at any square block size during encoding or picking modes. That includes contexts for 2 horizontal and 2 vertical splits, one none, and pointers to 4 sub pc_tree nodes corresponding to split. It also includes a pointer to the current chosen partitioning. This replaces code that held an index for every level in the pick modes array including: sb_index, mb_index, b_index, ab_index. These were used as stateful indexes that pointed to the current pick mode contexts you had at each level stored in the following arrays array ab4x4_context[][][], sb8x4_context[][][], sb4x8_context[][][], sb8x8_context[][][], sb8x16_context[][][], sb16x8_context[][][], mb_context[][], sb32x16[][], sb16x32[], sb32_context[], sb32x64_context[], sb64x32_context[], sb64_context and the partitioning that had been stored in the following: b_partitioning, mb_partitioning, sb_partitioning, and sb64_partitioning. Prior to this patch before doing an encode you had to set the appropriate index for your block size ( switch statement), update it ( up to 3 lookups for the index array value) and then make your call into a recursive function at which point you'd have to call get_context which then had to do a switch statement based on the blocksize, and then up to 3 lookups based upon the block size to find the context to use. With the new code the context for the block size is passed around directly avoiding the extraneous switch statements and multi dimensional array look ups that were listed above. At any level in the search all of the contexts are local to the pc_tree you are working on (in?). In addition in most places code that used to call sub functions and then check if the block size was 4x4 and index was > 0 and return now don't preferring instead to call the right none function on the inside. Change-Id: I06e39318269d9af2ce37961b3f95e181b57f5ed9
2014-04-16Merge "Cleaning up vp9_init_second_pass()."Dmitry Kovalev
2014-04-16Replacing cpu_used with speed in VP9_CONFIG.Dmitry Kovalev
Change-Id: I86b85b5c11388e84a48f8936330c0d920df5d1f0
2014-04-16Remove redundant buffer initialization and mode_info assignmentsJingning Han
There is no need to initialize source/dst frame buffers at frame level. These will be done at block coding stage. This commit hence removes the redundant operations. Change-Id: I11d9f2556058c6205c8e58ed53e31f78622c41b7
2014-04-16Merge "Enable more precise background detection for partition decision"Jingning Han
2014-04-16Add experimental VBR adaptation method.Paul Wilkins
Add code to monitor over and under spend and apply limited correction to the data rate of subsequent frames. To prevent the problem of starvation or overspend on individual frames (especially near the end of a clip) the maximum adjustment on a single frame is limited to a % of its un-modified allocation. Change-Id: I6e1ca035ab8afb0c98eac4392115d0752d9cbd7f
2014-04-16Merge "Prevent reading of uninitialized value"Yaowu Xu