summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_firstpass.c
AgeCommit message (Collapse)Author
2014-04-02Rate ctrl changes to track target bitrates closerDeb Mukherjee
Turns off the DISABLE_RC_LONG_TERM_MEM macro and makes other changes in the way the bits are updated, to make 2-pass rate control track target bitrates closer. Change-Id: I5f3be4b11c2908e6a9a9a1dd4fcf4e65531c44d8
2014-04-02Merge "Speed setting correction to max q estimate."Paul Wilkins
2014-04-01Renaming two members in MACROBLOCKD struct.Dmitry Kovalev
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
2014-04-01Speed setting correction to max q estimate.Paul Wilkins
Use a crude correction factor to correct for lower compression efficiency at higher encode speeds when estimating the max Q for the clip. Change-Id: I5ae377647f4adf5e91d700a8791fb3b8f70efc73
2014-03-28[svc] Finalize first version of 2nd pass rcMinghai Shang
Change-Id: I366850015004644c4fc7feabe27a782fdd8d8718
2014-03-27[svc] Initialization of 2nd pass rc for svc two pass rcMinghai Shang
Change-Id: If67ed8721f258883e41bab18f5c456505de68785
2014-03-21Rename the aq_mode files.Marco Paniconi
Change-Id: Id76a628495c822e23825b66a7589b4a3279680e2
2014-03-20Merge "[svc] Finalize spatial svc first pass rate control"Minghai Shang
2014-03-19Merge "Rearranging and removing unused defines."Dmitry Kovalev
2014-03-19[svc] Finalize spatial svc first pass rate controlMinghai Shang
1. Save stats for each spatial layer 2. Add frame buffer management for svc first pass rc 3. Set default spatial layer to 1 4. Flush encoder at the end of stream in test app This only supports spatial svc. Change-Id: Ia89cfa87bb6394e6c0405b921d86c426d0a0c9ae
2014-03-18Rearranging and removing unused defines.Dmitry Kovalev
Change-Id: I03049f89565ce19a297e65e2d53db127dc6f77d9
2014-03-17Removed several unused functions.Yaowu Xu
Change-Id: Ib9e27298c575afc02a98b593bc6ad60762064d9b
2014-03-13Merge "Removing unused select_cq_level() function."Dmitry Kovalev
2014-03-12Merge "Cleaning up vp9_firstpass.c."Dmitry Kovalev
2014-03-10Cleaning up vp9_firstpass.c.Dmitry Kovalev
Change-Id: Ie68eefddf9b0120021668cf21dc2c6fc837c50ac
2014-03-10Moving static_scene_max_gf_interval to RATE_CONTROL struct.Dmitry Kovalev
Change-Id: Id63e114a8f0615dbafd6a816019cdebffb983d2c
2014-03-10Removing unused select_cq_level() function.Dmitry Kovalev
Change-Id: I612a5d2b3ab1f9202d5b0421a82a80849603c40d
2014-03-10Merge "vp9_reconinter.h static functions in header converted to global"Jim Bankoski
2014-03-06Adding const to FIRSTPASS_STATS pointers.Dmitry Kovalev
Change-Id: Ia94d757de1d1b24609128cd40e68558078f50a38
2014-03-05Inlining and removing vp9_set_mbmode_and_mvs().Dmitry Kovalev
Change-Id: I9717ef611ef9c39b109b2358c9771bf7fae2dd50
2014-03-03Refactoring motion search libsDeb Mukherjee
The core motion estimation fucntions all return sad now consistently. The only exception is vp9_full_pixel_diamond(), however the core diamond and refining search routines called from vp9_full_pixel_diamond() also return SAD. If variance of pred error + mv cost is desired it must be calculated explicitly outside these functions. For very fast encoding, hopefully this will eliminate some redundant computations. Also suggests reimplementing FAST_HEX with the vp9_pattern_search framework. It is not exactly the same as the existing FAST_HEX, but performance is slightly better and speed is very similar. Enables removing a lot of duplicate code. Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
2014-03-03vp9_reconinter.h static functions in header converted to globalJim Bankoski
Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
2014-03-03Merge "vp9_firstpass.c: remove unused functions & params"Yaowu Xu
2014-03-03Merge "Sorting includes in vp9_firstpass.c."Dmitry Kovalev
2014-03-02vp9_firstpass.c: remove unused functions & paramsYaowu Xu
Change-Id: I111c5bd0dd47db7b1f6952c18056bee548bb42e9
2014-02-28Fix unused parameters in vp9_extend_frame_bordersYaowu Xu
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-28Sorting includes in vp9_firstpass.c.Dmitry Kovalev
Change-Id: Iee4f8443971fe2b21762d87f0be5751329768b5a
2014-02-26Cleaning up vp9_encodemb.c file.Dmitry Kovalev
Usage of encode_b_args is unnecessary because encode_block_pass1() doesn't use them. That's why optimize_init_b() call is also not required. Change-Id: Ib6cfe4916c2ca85749c90bb0adcba6fea592f9ac
2014-02-18Remove comment from calls to vp9_clear_system_state.Adrian Grange
Removed the comment "// __asm emms;" from all calls to vp9_clear_system_state. Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
2014-02-14Change post- to pre-increment.Adrian Grange
Change-Id: I29e4d3a3c8cceb18825371bb78c83c0e7dd86e0f
2014-02-14Cleanup some comments.Adrian Grange
Change-Id: I568861ba1d43620865ad9a98a97eef37a51fd856
2014-02-14Merge "vp9_ratectrl.h resolve visual studio warnings"Jim Bankoski
2014-02-14Merge "vp9_firstpass.c visual studio warnings addressed"Jim Bankoski
2014-02-14vp9_ratectrl.h resolve visual studio warningsJim Bankoski
Change-Id: If3a2edd744eb76337fa78f34d0e059cda2c6da54
2014-02-14vp9_firstpass.c visual studio warnings addressedJim Bankoski
Change-Id: I6fe9ec50f937b12fd9c9321465270e289dbbc59d
2014-02-13Merge changes I121fe66c,I94f57f8aPaul Wilkins
* changes: Remove some cases for turning off arf. Modified Aq1 and Aq2
2014-02-13Remove some cases for turning off arf.Paul Wilkins
Flipping arf on and off too often is hurting some clips. This change makes no difference for 50-75% of our test clips but helps some by a big margin. (eg. std-hd crew by 6% and one of the YT and YT-hd clips by 14%) Average improvements for 2 pass, speed 2 (psnr,ssim) are as follows:- derf 0.165%, 0.210% yt 1.210%, 1.464% yt-hd 1.189%, 1.471% std-hd 1.031%, 0.886% Change-Id: I121fe66cfb4a62d384b23b484a7d648789641969
2014-02-13Merge "clear out static analysis warning"Jim Bankoski
2014-02-12clear out static analysis warningJim Bankoski
Change-Id: Ic8708bb8a56ab30617c8ef47072b53928a53a1a3
2014-02-12Merge "Removes active_worst_quality feedback"Deb Mukherjee
2014-02-11Removes active_worst_quality feedbackDeb Mukherjee
Removes certain cases of feedback of active_worst_quality, and removes it from the RATE_CONTROL structure. Now active worst quality is expected to be computed locally in the q picking function during the encode. Making temporal filter strength depend on avg_frame_qindex rather than on active_worst_quality actually improves performance esp. for yt. derf: +0.038% yt: +0.359% Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
2014-02-11Enable encode_breakout in real time encodingYunqing Wang
In real time encoding, we enable encode_breakout to make encoding fast. A speed feature "use_encode_breakout" is defined to set encode_breakout thresholds for different speeds. However, currently, static_thresh is an encoder option. The encode_ breakout can be turned off if user sets static_thresh=0 specifically. The rtc set borg test result: (need to set --static_thresh=1) speed -5, psnr loss -3.543%; speed -4, psnr loss -2.358%; speed -3, psnr loss -0.771%. Encoding speed test: speed -5, 11% - 60% speedup; speed -4, 5.5% - 28% speedup; speed -3, 0.8% - 7% speedup. Change-Id: Icde592ffbe77eac7446f872a2e9eb2051733677b
2014-02-10Further one-pass vbr rate control changesDeb Mukherjee
Some parameter changes and fixes on one-pass rate control. derfraw300 is now only 10% below 2-pass speed 0 rate control. Change-Id: I1940eef8a5a035dc18e71b880d5e00cabd1f01b9
2014-02-05Cleaning up vp9_firstpass.c.Dmitry Kovalev
Change-Id: I111d6d1ea5ee641780abc096341369a37627aaae
2014-02-05One-pass rate control cleanups/fixes/refactoringDeb Mukherjee
Inlcudes a number cleanups: 1. Moves the one-pass pre-encode parameter setting functions to vp9_ratectrl.c 2. Deprecates per_frame_bandwidth in RATE_CONTROL structure 3. Removes target_bandwidth in cpi structure since it is not used. 4. Various renaming of functions There is no bit-stream change in 2-pass, one-pass cbr and one-pass vbr modes. Change-Id: Ifd9916bf4d485b7d04c5f52044ffe6703254ccbd
2014-02-04Merge "Removing unused estimate_cq() function."Dmitry Kovalev
2014-02-04Removing unused estimate_cq() function.Dmitry Kovalev
Change-Id: If3a1af1a54f3a3c0d9c966fdc0721981070c7f28
2014-02-04One-pass rate control fixes and cleanupsDeb Mukherjee
Fixes rate control partially in one-pass non-cbr case to achieve a bitrate close to the one desired. Previous version was way off at the high bitrate end. Also includes several one-pass rate control cleanups and refactoring. On derfraw300, one-pass encoding is now 19% off from two-pass speed 0 encoding, down from 35%. Change-Id: I6f0dcdb7f8aa85a7e7cd3a3155d4f9d2a4d2f4f4
2014-01-31Merge "static function convert to inline or global vp9_blockd.h"Jim Bankoski
2014-01-31Merge "Typo & comment corrections"Adrian Grange