summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-02-14Merge "Improve vp8_sad16x16_sse3 function"Yunqing Wang
2011-02-14Merge "Improved vp8_rd_pick_intra_mbuv_mode"Yaowu Xu
2011-02-14Improved vp8_rd_pick_intra_mbuv_modeScott LaVarnway
Eliminated unnecessary calculations. Very small change to performance. Change-Id: Ib7213d43c64e36955177c4d47950ff472266f822
2011-02-14Improve vp8_sad16x16_sse3 functionYunqing Wang
In real-time mode, vp8_sad16x16 function is called heavily in motion search part. Improvement of this function gives 1.2% encoding performance gain (real-time mode, tulip clip). Change-Id: I23c401fc40c061f732a9767e8d383737a179bd58
2011-02-14Merge "mem leak fix for cpi->tplist"Yaowu Xu
2011-02-14mem leak fix for cpi->tplistJames Berry
checks added to make sure that cpi->tplist is freed correctly in vp8_dealloc_compressor_data and vp8_alloc_compressor_data. Change-Id: I66149dbbd25c958800ad94f4379d723191d9680d
2011-02-14Improved rd_pick_intra4x4blockScott LaVarnway
Eliminated unnecessary calculations. Improved performance by 10% on keyframes and 1.6% overall for the test clip used. Change-Id: I87671b26af5e2cc439e81d0fee3b15c7cd2a3309
2011-02-14Merge "remove assembly detokenizer"Johann
2011-02-11remove assembly detokenizerJohann
hasn't been kept up to date. remove it to avoid confusion. Change-Id: I52ffde19b59fec5c7a381299ca2e85cb38330be7
2011-02-11Merge "Add improved_mv_pred flag in real-time mode"Yunqing Wang
2011-02-11Add improved_mv_pred flag in real-time modeYunqing Wang
As mentioned in check-in "Improve motion search in real-time mode", MV prediction calculation causes speed loss for speed 7 and above. This change added a flag to turn off this calculation for speed>6 in real-time mode. Change-Id: I9f4ae5a8bf449222d1784b54e7d315fc8347b2d1
2011-02-10Merge "Redefining good quality speed settings"Yaowu Xu
2011-02-10Merge "Improve motion search in real-time mode"Yunqing Wang
2011-02-10Improve motion search in real-time modeYunqing Wang
Applied better MV prediction in real-time mode, which improves the encoding quality. Used quarter-pixel search instead of iterative sub-pixel search for speed >=5 to improve encoding performance. Tests on the test set showed: 1. For speed=-5, quality improvement: 1.7% on AvgPSNR and 2.1% on SSIM, performance improvement: 3.6% (This counts in the performance lose caused by MV prediction calculation in "Improve MV prediction in vp8_pick_inter_mode() for speed>3"). 2. For speed=-8, quality improvement: 2.1% on AvgPSNR and 2.5% on SSIM. but, 6.9% performance decrease because of MV prediction calculation. This should be improved later. Change-Id: I349a96c452bd691081d8c8e3e54419e7f477bebd
2011-02-10Merge "Adds armv6 optimized variance calculation"Johann
2011-02-09Redefining good quality speed settingsScott LaVarnway
Created a new speed 1 which is in the middle of the old speed 0 and speed 1. (for both quality and performance) Change-Id: I4802133cdb43f359ca787646c090899679dd5d84
2011-02-09fixed stride in vp8_temporal_filter_predictors_mb_cJames Berry
stride would not be calculated correctly for material with odd sized frame widths. Change-Id: I1710f6aef9ebb93d36249c9239c68c5baa9791f8
2011-02-09Merge "correct cost for implicit bit in mvs"John Koleszar
2011-02-09correct cost for implicit bit in mvsJohn Koleszar
Use 0xFFF0 vice 240 (0xF0) for determining whether the sometimes implicit bit 3 will be transmitted. This is consistent with the decoder and encode_mvcomponent(). Change-Id: Ic1304d0ab56844bed8236edd1c5243a6767fc6b1
2011-02-09Merge "Put more code under #if CONFIG_MULTITHREAD."John Koleszar
2011-02-09Put more code under #if CONFIG_MULTITHREAD.Gaute Strokkenes
Change-Id: Icf4b692099d7d249fe3553852b1022b027b28e4b
2011-02-09Merge "Added early breakout for vp8_rd_pick_intra4x4mby_modes"Scott LaVarnway
2011-02-09Merge "vp8e_get_preview fixed for resized frames"John Koleszar
2011-02-09Adds armv6 optimized variance calculationTero Rintaluoma
Adds vp8_sub_pixel_variance16x16_armv6 function to encoder. Integrates ARMv6 optimized bilinear interpolations from vp8/common/arm/armv6 and adds new assembly file for variance16x16 calculation. - vp8_filter_block2d_bil_first_pass_armv6 (integrated) - vp8_filter_block2d_bil_second_pass_armv6 (integrated) - vp8_variance16x16_armv6 (new) - bilinearfilter_arm.h (new) Change-Id: I18a8331ce7d031ceedd6cd415ecacb0c8f3392db
2011-02-08clean up bilinear filterJohann
make reference version of bilinear_filters short. use reference versions of bilinear_filters and sub_pel_filters when possible. recognize that Width was being passed into filter_block2d_bil_first_pass multiple times. ARM version had already fixed this. propegate to C. change references to src_pixels_per_line to src_pitch and standardize on src/dst (instead of input/output). recognize that first_pass is only run in the verticle and second_pass only horizontal. ARM version had already fixed this. propegate to C Change-Id: I292d376d239a9a7ca37ec2bf03cc0720606983e2
2011-02-08Added early breakout for vp8_rd_pick_intra4x4mby_modesScott LaVarnway
Improved performance of good quality, speed 0 (3% average) with no average quality loss. Change-Id: Ica34473f99bd74260eaebde6b132185e09e3c09d
2011-02-08clarify *_offsets.asm differencesJohann
it's difficult to mux the *_offsets.c files because of header conflicts. make three instead, name them consistently and partititon the contents to allow building them as required. Change-Id: I8f9768c09279f934f44b6c5b0ec363f7943bb796
2011-02-08vp8e_get_preview fixed for resized framesJames Berry
preview_img d_w and d_h along with w and h would not be updated for resized frames. now uses sd.y_width and sd.y_height Change-Id: I52241de4cc1de5e73f865e668bd70a7cbd954390
2011-02-07move one of the offset filesJohann
common/arm/vpx_asm_offsets moves up a level. prepare for muxing with encoder/arm/vpx_vp8_enc_asm_offsets Change-Id: I89a04a5235447e66571995c9d9b4b6edcb038e24
2011-02-07Merge "remove unused dboolhuff code"John Koleszar
2011-02-07Fix link error in real-time modeYunqing Wang
make vp8_mv_pred() and vp8_cal_sad() available in real-time mode. Change-Id: I71dbae241b486ba943458dcbae552ec4a51689d3
2011-02-04remove unused dboolhuff codeJohann
we were holding on to this "just in case." purge it instead Change-Id: I77a367b36d0821d731019f2566ecfffdae1d4b8a
2011-02-04Merge "Improve MV prediction in vp8_pick_inter_mode() for speed>3"Yunqing Wang
2011-02-04correct quantizer initializationJohn Koleszar
The encoder was not correctly catching transitions in the quantizer deltas. If a delta_q was set, then the quantizer would be reinitialized on every frame, but if they transitioned to 0, the quantizer would not be reinitialized, leading to a encode-decode mismatch. This bug was triggered by commit 999e155, which sets a Y2 delta Q for very low base Q levels. Change-Id: Ia6733464a55ee4ff2edbb82c0873980d345446f5
2011-02-04Merge "Remove duplicate loopfilter parameters."John Koleszar
2011-02-04Remove duplicate loopfilter parameters.Gaute Strokkenes
Change-Id: I0d41415e3961c2c9492d342290c1999f9d02e6d8
2011-02-04Merge "Delay auto key frame insertion in realtime configuration"John Koleszar
2011-02-03Make vp8_adjust_mb_lf_value return the updated value rather thanGaute Strokkenes
manipulating it in situ via a pointer. Change-Id: If4a87a4eccd84f39577c0e91e171245f4954c5cf
2011-02-03Merge "Zero out block mv when an intra mode is selected"Scott LaVarnway
2011-02-03Merge "Improved encoder threading"Yunqing Wang
2011-02-02Delay auto key frame insertion in realtime configurationAttila Nagy
Whe auto keyframe insertion is enabled and conditions are right (scene change) the encoder can decide to insert a key frame and does a re-encoding. This can introduce extra latency. In RT mode we do not do the re-encoding of the current frame but force the next frame to key frame. Change-Id: I15c175fa845ac4c1a1f18bea3676e154669522a7
2011-02-01Zero out block mv when an intra mode is selectedScott LaVarnway
instead of each time mode is tested. Change-Id: Ief0f5586dafde54cc14d348dcecdacb182e7c1d5
2011-02-01Removed unnecessary B_MODE_INFO memset.Scott LaVarnway
Change-Id: I2bcef6a8e47f88542861fd1356631ca934e2a0e7
2011-02-01Moved rd calculation into vp8_pick_intra4x4mby_modesScott LaVarnway
Then removed unnecessary code. Change-Id: I142658815d843c9396b07881dbdd8d387c43c90e
2011-02-01Removed intra_modes from vp8cx_encode_intra_macro_blockScott LaVarnway
Restructured function in order to eliminate the prediction modes save/restore. Code cleanup also. Change-Id: I816e3b910de64d0f0f0ddc2398805c63263191e8
2011-02-01Improved encoder threadingAttila Nagy
Reduce the number of sync points by letting each thread continue imediatly with a new MB row. Better multicore scaling, improves performance by 5-20% on ARM multicore. Change-Id: Ic97e4d1c4886a842c85dd3539a93cb217188ed1b
2011-01-31Removed prediction_error accumulationScott LaVarnway
from vp8cx_encode_intra_macro_block. prediction_error is used when deciding if a frame should be a keyframe. After reviewing this with Yaowu, it was pointed out that vp8cx_encode_intra_macro_block is only called for keyframes, so the accumulation is unnecessary. Change-Id: Id79dc81b80d4f5d124f3a0dba1b923887e2e1ec8
2011-01-31Removed last_auto_filter_prediction_errorScott LaVarnway
last_auto_filter_prediction_error is not really used. Change-Id: Ic6e56c4076bbd250ef783ee1be46964c85f62864
2011-01-31Possible bug in vp8cx_encode_intra_macro_blockScott LaVarnway
vp8_pick_intra4x4mby_modes uses the passed in distortion for an early breakout. The best distortion was never saved and the distortion for TM_PRED was always used. Change-Id: Idbaf73027408a4bba26601713725191a5d7b325e
2011-01-31Merge "Performance improvement of first pass"Scott LaVarnway