summaryrefslogtreecommitdiff
path: root/vp8/common
AgeCommit message (Collapse)Author
2013-03-15Bug fix: Issue 532: VPX codec executes emms instruction withoutScott LaVarnway
checking CPU capabilities Reported by Krzysztof Kaspruk. https://code.google.com/p/webm/issues/detail?id=532 Change-Id: I9efa693b0c33694c871189841b8ac59c1fc554e2
2013-03-15Bug fix: Issue 531: MMX code tries to read from SSE2 registerScott LaVarnway
Reported by Krzysztof Kaspruk. https://code.google.com/p/webm/issues/detail?id=531 Change-Id: Ib5d5878ad07707bd42c2ca833eb021004f537012
2013-03-14Merge "Removed shadow warnings : loopfilter*.c"Scott LaVarnway
2013-03-14Removed shadow warnings : reconintra.cScott LaVarnway
Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: I9d52c4a44351607d7d20d52e2a1bffe2a067891a
2013-03-14Removed shadow warnings : loopfilter*.cScott LaVarnway
Adding -Wshadow to CFLAGS generated a bunch of warnings. This commit is based on work already done by jzern. Change-Id: Iefc08a7ab601c4d1b507f039577433bfb1c6cc9d
2013-03-02prefix vp8 asm_{com,dec,enc}_offsets filesJames Zern
make them symmetrical with the generated output and their vp9 counterparts Change-Id: I72cc97c4d33d713dff620a6d7cc25955266216fc
2013-03-01Merge "Use intrinsics for sse2 regular quantize"Johann
2013-02-28Use intrinsics for sse2 regular quantizeJohann
Remove dependency of this function on asm_offsets. ssse3/sse4 next. Change quant_shift calculation so it be done using SIMD. Pre-calculate as much as possible to simplify EOB selection. Take advantage of qcoeff being zero'd by tying the if statements together. Speed parity with previous implementation with gcc x86_64 linux Change-Id: Ife97556a1eca3a74b09def1a3d04084974dff1fb
2013-02-27Fix --as=nasm compatibility for new asm code.Jan Kratochvil
s/movd/movq/ Change-Id: Id1a56de91551f8dc796f14f1056c565dfc1ba626
2013-02-22Fix variance (signed integer) overflowJames Zern
based on change made in experimental: 9847344 Fix variance (signed integer) overflow Change-Id: I36f4ba5700f6f4615057daf7e70868f68a86669f
2013-02-17Use dq instead of ddq with NASMKO Myung-Hun
Change-Id: Iffb7cd44b449dc10fa5c24405be909d051b7abb5
2013-01-31Add support for x64 and win64 yasm flags.Frank Galligan
Some projects must define only win64 for Windows 64bit builds using yasm. Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2013-01-30WIP: Multiple decoder instances supportScott LaVarnway
Started adding support for multiple internal decoder instances. Also added code to limit the vp8 config options available when using frame-based multithreading. Change-Id: I0f1ee7abcfcff59204f50162e28254b8dd6972eb
2013-01-25Merge "Bug fix: error-concealment enabled changed postproc output"Jim Bankoski
2013-01-25Bug fix: error-concealment enabled changed postproc outputScott LaVarnway
When error concealment is enabled, it swaps the mi and prev_mi ptrs after each frame is decoded. The postproc uses the mi ptr for the mode info context. Now the postproc will use the correct mode info context. Change-Id: I537ae5450f319c624999b44525bb52bb30047b7b
2013-01-25Merge "Bug fix: Handle input data ptr = NULL and size = 0 correctly"Marco Paniconi
2013-01-22Bug fix: Handle input data ptr = NULL and size = 0 correctlyScott LaVarnway
Issue 517: Issues decoding VPX_CODEC_USE_INPUT_FRAGMENTS http://code.google.com/p/webm/issues/detail?id=517 Change-Id: I030c4cf15b1e1b993433571b6ee77c959a368ff2
2013-01-08Merge vp9-preview changes into experimental branchJohn Koleszar
Incorportate vp9-preview changes by merging master branch into experimental. Conflicts: test/test.mk vp9/common/vp9_filter.c vp9/common/vp9_idctllm.c vp9/common/vp9_invtrans.h vp9/common/vp9_mbpitch.c vp9/common/vp9_rtcd_defs.sh vp9/common/vp9_systemdependent.h vp9/common/vp9_type_aliases.h vp9/common/x86/vp9_asm_stubs.c vp9/common/x86/vp9_subpixel_mmx.asm vp9/decoder/vp9_decodframe.c vp9/decoder/vp9_dequantize.c vp9/decoder/vp9_dequantize.h vp9/decoder/vp9_onyxd_int.h vp9/encoder/vp9_bitstream.c vp9/encoder/vp9_encodeframe.c vp9/encoder/vp9_rdopt.c Change-Id: I17f51c3666d1b59cf1a699f87607cbc5d30a87c5
2013-01-03Use seg/ref/mode offsets in loop_filter_partial.Marco Paniconi
Use the proper seg/mode/ref filter offsets when selecting the frame loop filter level for fast mode (pick_filter_level_fast). Change-Id: I2473e2131c800ad19755cb6211ad735fecfe2ac0
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-12-05Use 'vpx_scale' consistentlyJohann
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
2012-12-05Update ARM for vpx_scale changesJohann
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-12-03Update ARM for vpx_scale changesJohann
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
2012-11-26Merge "vp8_intra_pred_y_tm_sse2: save/restore xmm registers"James Zern
2012-11-24removed the idct rtcd idct callsJim Bankoski
More cleanup to do after this, but this is a good chunk of removing rtcd. Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
2012-11-20Merge "vp8_loop_filter_bh_y_sse2: save/restore xmm registers"John Koleszar
2012-11-20vp8_filter_block1d4_h6_ssse3: add missing xmm restoreJames Zern
Change-Id: Ia8f6b6c2a9ed60bee7949dd06fcc18b392e91d76
2012-11-20vp8_loop_filter_bh_y_sse2: save/restore xmm registersJames Zern
xmm[6-11] should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: I03c38eb18ec20c6c441cae19416393058baad1ee
2012-11-19vp8_intra_pred_y_tm_sse2: save/restore xmm registersJames Zern
xmm6/xmm7 should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: Ifa1a82ab25fbdc5112d66f5332e14b16e69ac164
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-10-31vp8dx_receive_compressed_data() cleanupScott LaVarnway
Change-Id: I6edf0626d00ae177c7c04eec64e1ec0dd861dfbe
2012-10-25Use vp8_clear_system_state helper functionJohann
Change-Id: I4dd192c3297e31b8eadd108ca8d0934e58f502f7
2012-10-25variance.h uses defines in vpx_config.hJohann
Change-Id: Ibd3e4425a3bf8aae8aa33b70da2b84e1cda8c07f
2012-10-23postproc_sse2: avoid reading off the end of the limits arrayJohn Koleszar
Rather than unconditionally reading in the next MB's limits, test the loop exit condition first. Change-Id: I105d1e92698fb5561aa87160816787604aed03a2
2012-10-22postproc: allocate enough memory for limits bufferJohn Koleszar
The vp8_post_proc_down_and_across_mb_row_sse2() needs space for an even number of macroblocks, as they are read two at a time for the chroma planes. Round up the width during the allocation of pp_limits_buffer to support this. Change-Id: Ibfc10c7be290d961ab23ac3dde12a7bb96c12af0
2012-10-11Clean up error return code in alloccommon.cYunqing Wang
Clean up the duplicate code as Pascal suggested. Change-Id: I685fcbb488502e969f6cb73a46db3ea79b90910d
2012-10-10post-proc: fix 0 or negative threshold handlingYunqing Wang
If the threshold(limits) <= 0, skipped filtering and copied the frame directly. Also, fixed memory allocation checking. Change-Id: If3d79d5b2bcb71b9777e6eb5cba1384585131e22
2012-10-09Merge "post-proc: deblock filter optimization"Yunqing Wang
2012-10-08post-proc: deblock filter optimizationYunqing Wang
1. Algorithm modification: Instead of having same filter threshold for a whole frame, now we allow the thresholds to be adjusted for each macroblock. In current implementation, to avoid excessive blur on background as reported in issue480(http://code.google.com/p/webm/issues/detail?id=480), we reduce the thresholds for skipped macroblocks. 2. SSE2 optimization: As started in issue479(http://code.google.com/p/webm/issues/detail?id=479), the filter calculation was adjusted for better performance. The c code was also modified accordingly. This made the deblock filter 2x faster, and the decoder was 1.2x faster overall. Next, the demacroblock filter will be modified similarly. Change-Id: I05e54c3f580ccd427487d085096b3174f2ab7e86
2012-10-03rtcd/win32: use InitializeCriticalSection explicitlyJohn Koleszar
Protect the call to {Initialize,Delete}CriticalSection() with an Interlocked{Inc,Dec}rement() pair, rather than the previous static initialization. This should play better with AppVerifier, and fix issue http://code.google.com/p/webm/issues/detail?id=467 Change-Id: I06eadbfac1b3b4414adb8eac862ef9bd14bbe4ad
2012-09-24rtcd/win32: prefer win32 primatives to pthreadsJohn Koleszar
Fixes some build issues for people building for win32 who have a pthreads emulation layer installed. Change-Id: I0e0003fa01f65020f6ced35d961dcb1130db37a8
2012-09-17Merge "Changed setup intra recon to be row based"Scott LaVarnway
2012-09-13Removed pre_mvcScott LaVarnway
Not used. Change-Id: Ifbd97c9ad537d5184f7e305fa8acf6f027978b6b
2012-09-13Changed setup intra recon to be row basedScott LaVarnway
Initialize the top line at the beginning of each frame and the left column at the beginning of each row. Change-Id: I5412f7ea49ffc490215cf65a62715a6c5e3a5a29
2012-09-04Adjusting thresholds in mfqe post-processingDeb Mukherjee
Adjusts some of the qualification thresholds in mfqe to eliminate artifacts due to wrong decisions. Besides, a new qualification criteria is used to disable mfqe if the quality of the previous frame is itself not too good. Change-Id: I4097c20b7fd4fcc60cc3003c1e33e8faae2ff066
2012-08-21Merge "Removed last_kf_gf_q"Scott LaVarnway
2012-08-21Merge "Added row based loopfilter"Jim Bankoski
2012-08-08Update armv6 vp8_intra4x4_predictJohann
Change-Id: I52a3b0a4a42e5af91b987e19523df07c8f467847
2012-08-02Pass B_PREDICTION_MODE to intra4x4_predictJohann
Use the correct type when calling and inside the function. Change-Id: Idbaf1bf58b9574f0cba73d78780e9aedd8889dfd
2012-08-02Match declaration to definitionJohann
Change-Id: Ic6a0c42b195d6aee0e981331c994b6007dfdc6be