summaryrefslogtreecommitdiff
path: root/vp8/encoder/onyx_if.c
AgeCommit message (Collapse)Author
2011-04-05Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-04-04Merge "Use full-pixel MV in mvsadcost calculation"Yunqing Wang
2011-04-01Use full-pixel MV in mvsadcost calculationYunqing Wang
MV sad cost error is only used in full-pixel motion search, which only need full-pixel resolution instead of quarter-pixel resolution. This change reduced mvsadcost table size, and removed unneccessary pamameter passing since this table is constant once it is generated. Change-Id: I9f931e55f6abc3c99011321f1dfb2f3562e6f6b0
2011-04-01Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-03-30Fix: lpf semaphore was signaled in single threaded runAttila Nagy
After picking filter level, post the loopfilter semaphore just when multiple threads are in use. Change-Id: If7bfb64601d906adef703f454dafc25e978b93c6
2011-03-23Merge remote branch 'internal/upstream' into HEADJohn Koleszar
Conflicts: vp8/decoder/decodemv.c vp8/decoder/onyxd_if.c vp8/encoder/ratectrl.c vp8/encoder/rdopt.c Change-Id: Ia1c1c5e589f4200822d12378c7749ba62bd17ae2
2011-03-17Increase static linkage, remove unused functionsJohn Koleszar
A large number of functions were defined with external linkage, even though they were only used from within one file. This patch changes their linkage to static and removes the vp8_ prefix from their names, which should make it more obvious to the reader that the function is contained within the current translation unit. Functions that were not referenced were removed. These symbols were identified by: $ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \ | sort | grep '^ *1 ' Change-Id: I59609f58ab65312012c047036ae1e0634f795779
2011-03-14Merge remote branch 'internal/upstream' into HEADJohn Koleszar
Conflicts: vp8/encoder/onyx_if.c Change-Id: Ieef9a58a2effdc68cf52bc5f14d90c31a1dbc13a
2011-03-11Clean up of vp8_init_config()Paul Wilkins
Clean up vp8_init_config() a bit and remove null pointer case, as this code can't be called any more and is not an adequate trap anyway, as a null pointer would cause exceptions before hitting the test. Change-Id: I937c00167cc039b3aa3f645f29c319d58ae8d3ee
2011-03-11Merge "1 Pass CQ and VBR bug fixes"John Koleszar
2011-03-111 Pass CQ and VBR bug fixesPaul Wilkins
Issue 291 highlighted the fact that CQ mode was not working as expected in 1 pass mode, This commit fixes that specific problem but in so doing I also uncovered an overflow issue in the VBR code for 1 pass and some data values not being correctly initialized. For some clips (particularly short clips), the resulting improvement is dramatic. Change-Id: Ieefd6c6e4776eb8f1b0550dbfdfb72f86b33c960
2011-03-11Merge "vp8cx - psnr converted to call assemblerized sse"John Koleszar
2011-03-11Merge "vp8cx- alternate ssim function with optimizations"John Koleszar
2011-03-11vp8cx - psnr converted to call assemblerized sseJim Bankoski
Change-Id: Ie388d4618c44b131f96b9fe526618b457f020dfa
2011-03-11vp8cx- alternate ssim function with optimizationsJim Bankoski
Change-Id: I91921b0a90dbaddc7010380b038955be347964b3
2011-03-11Merge "Encoder loopfilter running in its own thread"Yunqing Wang
2011-03-11Encoder loopfilter running in its own threadAttila Nagy
In multithreaded mode the loopfilter is running in its own thread (filter level calculation and frame filtering). Filtering is mostly done in parallel with the bitstream packing. Before starting the packing the loopfilter level has to be calculated. Also any needed reference frame copying is done in the filter thread. Currently the encoder will create n+1 threads, where n > 1 is the number of threads specified by application and 1 is the extra filter thread. With n = 1 the encoder runs in single thread mode. There will never be more than n threads running concurrently. Change-Id: I4fb29b559a40275d6d3babb8727245c40fba931b
2011-03-11Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-03-10Removed firstpass motion mapAdrian Grange
The firstpass motion map consists of an 8-bit flag for each MB indicating how strongly the firstpass code believes it should be filtered during the second pass ARNR filtering. For long or large format material the motion map can become extremely large and hamper the operation of the encoding process. This change removes the motion map altogether, leaving the second pass to rely on the magnitude of the motion compensated error to determine the filter weight to use for the MB during ARNR filtering. Tests on the derf set indicate that the effect of this change is neutral, with some small wins and losses. The motion map has therefore been removed based on a cost/benefit evaluation. Change-Id: I53e07d236f5ce09a6f0c54e7c4ffbb490fb870f6
2011-03-10Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-03-05Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-03-03Configuration updates:Making a clear distinction between Init and ChangeMikhal Shemer
Change-Id: I7b2fb326e1aabc08b032177a7b914a5b8bb7376f
2011-03-03Fixing divide by zeroMikhal Shemer
Change-Id: I9d8a98a2f7ed1e3116d0bae35164618c41998bac
2011-03-03Merge remote branch 'internal/upstream' into HEADJohn Koleszar
Conflicts: vp8/vp8_cx_iface.c Change-Id: Iecfd4532ab1c722d10ecce8a5ec473e96093cf3b
2011-02-28Merge "Avoid double copying of key frames into alt and golden buffer"Scott LaVarnway
2011-02-25Merge "Remove a second check for invalid ptr in vp8_get_compressed_data"Johann
2011-02-25Avoid double copying of key frames into alt and golden bufferAttila Nagy
Change-Id: I726976a297a593a35ed6cba3c660e372562f7b27
2011-02-25Remove a second check for invalid ptr in vp8_get_compressed_dataAttila Nagy
Check is done first when function si entered. Change-Id: Ief0d0cbd4860aaf492b78728f8d22f24029b1174
2011-02-22Remove temporal alt ref from realtime only buildAttila Nagy
It is not used in realtime mode. Reduces memory footprint. Change-Id: I7f163225762368df5457cfd413050161d3704a3f
2011-02-19Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-18Merge "clean up unused files"John Koleszar
2011-02-18clean up unused filesJohn Koleszar
Removed a number of files that were unused or little-used. Change-Id: If9ae5e5b11390077581a9a879e8a0defe709f5da
2011-02-18cosmetic: remove unnecessary scopeJohn Koleszar
Clean up some unnecessary scoping around pick_filter_level. Change-Id: Ic57fa33e3fcae37fe6beae977e5743783399d5af
2011-02-18Merge "Dont pick encoder filter level when loopfilter is disabled."John Koleszar
2011-02-18Reinitialize quantizer only when any delta is changingAttila Nagy
No need to reinitialize for base Q changes. Change-Id: Ie76ec21dd3c5582d5183dbed75ed73a1eed3e291
2011-02-18Dont pick encoder filter level when loopfilter is disabled.Attila Nagy
Change-Id: I58154faf4f3ece24f9927a5c3ab7e830e0887fb6
2011-02-18Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-17Merge "Fix relative include paths"John Koleszar
2011-02-17Merge remote branch 'internal/upstream' into HEADJohn Koleszar
2011-02-16Merge "Allocate source buffers to be multiples of 16"Yunqing Wang
2011-02-16Allocate source buffers to be multiples of 16Yunqing Wang
Currently, when the video frame width is not multiples of 16, the source buffer has a stride of non-multiples of 16, which forces an unaligned load in SAD function and hurts the performance. To avoid that, this change allocates source buffers to be multiples of 16. Change-Id: Ib7506e3eb2cea06657d56be5a899f38dfe3eeb39
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-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-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