summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2011-02-16Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-15Remove redundant ptr checks in calls to vpx_freeJames Zern
vpx_free if used contains this check. If replaced, well behaved free will behave similarly. Change-Id: I25483aaa8b39255b9a8cf388d6e5eaa20a908ae1
2011-02-15Merge remote branch 'internal/upstream' into HEADJohn Koleszar
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-12Merge remote branch 'internal/upstream' into HEADJohn Koleszar
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-11Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-10Merge "Improve motion search in real-time mode"Yunqing Wang
2011-02-10Merge remote branch 'internal/upstream' into HEADJohn Koleszar
Conflicts: vp8/decoder/onyxd_int.h Change-Id: Id9aa577f03e37b4f406ba3b593c3c4330812a49e
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-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-09Merge remote branch 'internal/upstream' into HEADJohn Koleszar
Conflicts: vp8/vp8_common.mk Change-Id: I2094ddf20834c0b7dfe912feac6a79500bb8cce2
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-07Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-07Merge remote branch 'internal/upstream-experimental' into HEADJohn Koleszar
Conflicts: vp8/encoder/encodeframe.c vp8/encoder/ethreading.c vp8/encoder/onyx_int.h Change-Id: I1c562d2fe6e42c0d1d86f68c77c0e899066e02bd
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-05Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ib487cbd7b214a6e3f13180bc0e5dcb792d8a406e
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 "Delay auto key frame insertion in realtime configuration"John Koleszar
2011-02-04Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I242ca4854cb21f3d63efb979bd6ecc9f06f67f33
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-02Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-02Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I585615400697b77c50dd05480616f868f2637aa7
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-02-01Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-01Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Id1d4bbe257cd126bb5f44347b896ddb659724f0b