summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-21Merge "Remove unnecessary bounds checking in motion search"Yunqing Wang
2011-06-17Remove unnecessary bounds checking in motion searchYunqing Wang
The starting points are always within the limits, and bounds checking on these points is not needed. For speed < 5, the encoded result changes a little because different treatment is taken while starting point equals the bounds. Change-Id: I09a402d310f51e305a3519f1601b1d17b05c6152
2011-06-17Merge "Use SSE as BPRED distortion metric consistently"John Koleszar
2011-06-16Assign boost to GF bit allocation if past frame had no ARF.Ronald S. Bultje
Modify the second-pass code to provide a full golden-frame (GF) bit allocation boost if the past GF group (GFG) had no alt-ref frame (ARF), even if the current GFG does contain and ARF. This mostly has no effect on clips, since switching ARFs on/off between GFGs is not very common. Has a positive effect on e.g. cheer (+0.45 SSIM at 600kbps) and football (+0.25 SSIM at 600kbps), particularly at high bitrates. Has a negative effect (-0.04 SSIM at 300kbps) at pamphlet, which appears only marginally related to this patch, and crew (-0.1 SSIM at 700kbps). Change-Id: I2e32899638b59f857e26efeac18a82e0c0b77089
2011-06-16Merge "Disable specialcase for last frames if the sequence contains ARFs."John Koleszar
2011-06-16Merge "gen_msvs_proj: write boolean for Debug attribute"John Koleszar
2011-06-15gen_msvs_proj: write boolean for Debug attributeJames Zern
Replace =1 with =true for yasm tool element. This aids in upgrading e.g., vs9 project files to vs10. build/x86-msvs/yasm.xml generated during conversion will require the Separator attribute to be removed for the build to complete successfully. Change-Id: If75c4f9a925529740048882003e9d766c5ac4f0c
2011-06-15Merge "Remove redundant check for KEY_FRAME in multithreaded decoder"John Koleszar
2011-06-15Use SSE as BPRED distortion metric consistentlyJohn Koleszar
The BPRED mode selection uses SSE as a distortion metric, but the early breakout threshold being used was a variance value. Change-Id: I42d4602fb9b548bf681a36445701fada5e73aff1
2011-06-15Merge "fix --disable-runtime-cpu-detect on x86"John Koleszar
2011-06-15Disable specialcase for last frames if the sequence contains ARFs.Ronald S. Bultje
firstpass.c contains some rate adjustment code that assures that the last few frames in a sequence abide by rate limits. If the second-to- last group of frames contains an alt-ref frame (ARF), the last golden frame (GF) is zero bytes, and we will thus spend a ridiculously high number of bits on regular P-frames trying to hit the target rate. This does slightly enhance the quality of these last few frames, but has no perceptual value (other than hitting the target rate). Disabling this code means we consistently (slightly) undershoot the target rate and consequently do worse on the last few frames of a clip, which is particularly noticeable for small clips. The quality- per-bitrate is generally better, ~0.2% better overall on derf-set, especially on clips such as garden, tennis, foreman at low bitrates. Has a negative effect on hallmonitor at high bitrates. Change-Id: I1d63452fef5fee4a0ad2fb2e9af4c9f2e0d86d23
2011-06-15Guard vpx_config.h against multiple inclusionsAttila Nagy
Change-Id: Iabe2be73af2b92c53687755b31b77448fba385d2
2011-06-15Remove redundant check for KEY_FRAME in multithreaded decoderAttila Nagy
For Intra blocks is enough to check ref_frame == INTRA_FRAME. Change-Id: I3e2d3064c7642658a9e14011a4627de58878e366
2011-06-14Merge "Populate bmi for B_PRED only"Scott LaVarnway
2011-06-14fix --disable-runtime-cpu-detect on x86Johann
Change-Id: Ib8e429152c9a8b6032be22b5faac802aa8224caa
2011-06-14Merge "Fix RT only build"Paul Wilkins
2011-06-14Fix RT only buildTero Rintaluoma
Moved encode_intra function from firstpass.c to encodeintra.c to prevent linking problem in real-time only build. Also changed name of the function to vp8_encode_intra because it is not a static. Change-Id: Ibf3c6c1de3152567347e5fbef47d1d39564620a5
2011-06-14Update -linux-rvct targetsTero Rintaluoma
- Updated -linux-rvct targets to support RVDS 4.0 and later. - Changed optimization flag to -Otime because -O3 ruined performance for RVCT linux targets. - Added support for --enable-small for RVCT - RVCT created library should be able to link with GCC - Supports building shared linux libraries Change-Id: Ic62589950d86c3420fd4d908b8efb870806d1233
2011-06-13fix corrupt frame leakJames Zern
If setup_token_decoder reported an internal error the memory allocated there would not be freed in the resulting call to _remove_decompressor. Change-Id: Ib459de222d76b1910d6f449cdcd01663447dbdf6
2011-06-13Populate bmi for B_PRED onlyScott LaVarnway
Small decode performance gain (~1%) on keyframes. No noticeable gains on encode. Also changed pick_intra4x4mby_modes() to read the above and left block modes for keyframes only. Change-Id: I1f4885252f5b3e9caf04d4e01e643960f910aba5
2011-06-13Calc ref_frame_cost once per frameScott LaVarnway
instead of every macro block. Change-Id: I2604e94c6b89e3a8457777e21c8c38406d55b165
2011-06-10Fix make clean for asm offset filesTero Rintaluoma
Automatically created assembly offset files added to CLEAN-OBJS list for proper cleanup. This will fix following build error: 1) Build for the workstation ./conigure make make clean 2) Build for ARM platform ./configure --target=armv7-linux-gcc make ==> this will fail because it uses old asm_*_offset.asm files Change-Id: Id5275c470390ca81b8db086a15ad75af39b80703
2011-06-09Merge "bug fix mode_info_context not initialized for error-resilient"John Koleszar
2011-06-09remove one set of 16x16 variance funcationsYaowu Xu
call to this set of functions are replaced by var16x16. Change-Id: I5ff1effc6c1358ea06cda1517b88ec28ef551b0d
2011-06-09bug fix mode_info_context not initialized for error-resilientJames Berry
uninitialized xd->mode_info_context would crash vpxenc for --error-resilient=1. Change-Id: I31849e40281e3d65ab63257cfec5e93398997f0b
2011-06-09Update keyframe activity in non-RD modeJohn Koleszar
Activity update is no longer dependent on being in RD mode, so update it unconditionally. Change-Id: Ib617a6fc210dfc045455e3e4467d7ee5e3d1fa0e
2011-06-08use GCC inline magicJohann
Better fix for #326. ICC happens to support the inline magic Change-Id: Ic367eea608c88d89475cb7b05d73500d2a1bc42b
2011-06-08Merge "Revert "Use shared object files for ELF""Johann
2011-06-08Revert "Use shared object files for ELF"Johann
Broke RVCT. New magic coming for ICC. Stay tuned! This reverts commit c73eb2ffff674e4e9fa7d5209d531aeec6ac5edd
2011-06-08Merge "vp8_pick_inter_mode: remove best_bmodes"John Koleszar
2011-06-08Merge "vp8_pick_intra_mode: correct returned rate"John Koleszar
2011-06-08Merge "Move RD intra block mode selection to rdopt.c"John Koleszar
2011-06-08vp8_pick_inter_mode: remove best_bmodesJohn Koleszar
Since BPRED will be tested at most once, and SPLITMV is not enabled, there's nothing to clobber the subblock modes, so there's no need to save and restore them. Change-Id: I7c3615b69190c10bd068a44df5488d6e8b85a364
2011-06-08Merge "Removed unused function parameters"Scott LaVarnway
2011-06-08vp8_pick_intra_mode: correct returned rateJohn Koleszar
The returned rate was always the 4x4 rate, instead of the rate matching the selected mode. Change-Id: I51da31f80884f5e37f3bcc77d1047d31e612ded4
2011-06-08Removed unused function parametersScott LaVarnway
Change-Id: Ib641c624faec28ad9eb99e2b5de51ae74bbcb2a2
2011-06-08Adjust errorperbit according to RDMULT in activity maskingYaowu Xu
In activity masking, RDO constant RDMULT is adjusted on a per MB basis adaptive to activity with the MB. errorperbit, which is defined as RDMULT/RDDIV, is a constant used in motion estimation. Previously, in activity masking, errorperbit is not changed even when RDMULT is changed. This commit changed to adjust errorperbit according to the change in RDMULT. Test in cif set showed a very small but consistent gain by all quality metrics (average, overall psnr and ssim) when activity masking is on. Change-Id: I07ded3e852919ab76757691939fe435328273823
2011-06-08Merge "Further activity masking changes:"Yaowu Xu
2011-06-08Move RD intra block mode selection to rdopt.cJohn Koleszar
This change is analogous to I0b67dae1f8a74902378da7bdf565e39ab832dda7, which made the move for the non-RD path. Change-Id: If63fc1b0cd1eb7f932e710f83ff24d91454f8ed1
2011-06-08Move intra block mode selection to pickinter.cJohn Koleszar
This commit moves the intra block mode selection from encodeframe.c to pickinter.c (in the non-RD case). This allowed pick_intra_mbuv_mode and pick_intra4x4mby_modes to be made static, and is a step towards refactoring intra mode selection in the main pickinter loop. Gave a small perf increase (~0.5%). Change-Id: I0b67dae1f8a74902378da7bdf565e39ab832dda7
2011-06-08Further activity masking changes:Paul Wilkins
Some further re-structuring of activity masking code. Still has various experimental switches. Supports a metric based on intra encode. Experimental comparison against a fixed activity target rather than a frame average, for altering rd and zbin. Overall the SSIM performance is similar to TT's original code but there is a much smaller PSNR hit of circa 0.5% instead of 3.2% Change-Id: I0fd53b2dfb60620b3f74d7415e0b81c1ac58c39a
2011-06-07Merge "remove redundant functions"Yaowu Xu
2011-06-07Merge "adjust sad per bit constants"Yaowu Xu
2011-06-07adjust sad per bit constantsYaowu Xu
While investigating the effect of DC values on SAD and SSE in motion estimation, a side finding indicates the two table of constants need be adjusted. The adjustment was done by multiplying old constants by 90% with rounding. Also absorb the 1/2 scaling constant into the two tables. Refer to change Ifa285c3e for background of the 1/2 factor. Cif set test showed a very small gain on all metric. Change-Id: I04333527a823371175dd46cb04a817e5b9a8b752
2011-06-07Merge "Reduce overshoot in 1 pass rate control"John Koleszar
2011-06-07Merge "Wrapped asserts in critical code with CONFIG_DEBUG"Scott LaVarnway
2011-06-07Merge "Removed unused function vp8_treed_read_num"Scott LaVarnway
2011-06-07Merge "Use shared object files for ELF"John Koleszar
2011-06-07Wrapped asserts in critical code with CONFIG_DEBUGScott LaVarnway
Change-Id: I5b0aaca06f2e0f40588cb24fb0642b6865da8970
2011-06-07Removed unused function vp8_treed_read_numScott LaVarnway
Change-Id: Id66e70540ee7345876f099139887c1843093907f