Mon, 23 Oct 2006 16:54:21 +0000 |
reimar |
CABAC assembler optimizations ported to AMD64
libavcodec
|
Fri, 20 Oct 2006 21:34:02 +0000 |
michael |
decode_significance_8x8_x86()
libavcodec
|
Fri, 20 Oct 2006 17:53:19 +0000 |
gpoirier |
Protect code that uses CMOV instructions with HAVE_CMOV,
libavcodec
|
Fri, 20 Oct 2006 10:00:28 +0000 |
michael |
another instruction less in decode_significance_x86() -> 1% faster ion P3
libavcodec
|
Fri, 20 Oct 2006 08:46:33 +0000 |
michael |
1 instruction less
libavcodec
|
Fri, 20 Oct 2006 00:51:04 +0000 |
michael |
reordering instructions a little in decode_significance_x86() -> 2 instructions less / 1% faster decode_residual on P3
libavcodec
|
Fri, 20 Oct 2006 00:35:54 +0000 |
michael |
factorize get_cabac asm (0.5% slower but its much cleaner)
libavcodec
|
Thu, 19 Oct 2006 20:24:33 +0000 |
diego |
Fix PIC compilation, some defines were under #ifdef !PIC but used
libavcodec
|
Thu, 19 Oct 2006 18:22:03 +0000 |
michael |
unused variable
libavcodec
|
Thu, 19 Oct 2006 01:19:03 +0000 |
michael |
optimize sign decoding code in decode_residual()
libavcodec
|
Wed, 18 Oct 2006 09:37:25 +0000 |
gpoirier |
Kill a warning with MSVC
libavcodec
|
Tue, 17 Oct 2006 22:18:29 +0000 |
michael |
x86 asm version of the decode significance loop (not 8x8) of decode_residual() 5% faster decode_residual() on P3
libavcodec
|
Tue, 17 Oct 2006 09:38:37 +0000 |
michael |
cosmetic (%%eax->%0)
libavcodec
|
Mon, 16 Oct 2006 21:47:19 +0000 |
diego |
Fix crash with illegal instruction, cmov is available on 686 and later only.
libavcodec
|
Mon, 16 Oct 2006 21:22:47 +0000 |
diego |
Expand some #endif comments.
libavcodec
|
Mon, 16 Oct 2006 11:11:20 +0000 |
michael |
fix !CMOV_IS_FAST case (iam not really happy with the fix but i didnt come up with a better one quickly)
libavcodec
|
Sun, 15 Oct 2006 21:04:10 +0000 |
michael |
10l
libavcodec
|
Sun, 15 Oct 2006 20:50:05 +0000 |
michael |
this code will not work with PIC as it needs 7 registers and gcc doesnt support that in PIC
libavcodec
|
Sun, 15 Oct 2006 20:40:50 +0000 |
michael |
shift CABACContext.range right, this reduces the number of shifts needed in get_cabac() and is slightly faster on P3 (and should be much faster on P4 as the P4 except the more recent variants lacks an integer shifter and so shifts have ~10 times longer latency then simple operations like adds)
libavcodec
|
Fri, 13 Oct 2006 14:21:25 +0000 |
michael |
dehack *ps_state indexing in the branchless decoder
libavcodec
|
Thu, 12 Oct 2006 21:32:56 +0000 |
michael |
add "memory" to the clobber list we change memory so we need it, this also fixes some problems with gcc svn
libavcodec
|
Thu, 12 Oct 2006 14:49:19 +0000 |
michael |
prevent "mb level" get_cabac() calls from being inlined (3% faster decode_mb_cabac() on P3)
libavcodec
|
Thu, 12 Oct 2006 07:51:18 +0000 |
gpoirier |
adds some useful comments after some of the #else, #elseif,
libavcodec
|
Wed, 11 Oct 2006 23:17:58 +0000 |
diego |
Rename ABS macro to FFABS.
libavcodec
|
Wed, 11 Oct 2006 17:59:40 +0000 |
michael |
slightly faster on P3 slightly slower on athlon and probably faster on P4
libavcodec
|
Wed, 11 Oct 2006 16:39:50 +0000 |
michael |
moving lps state transition code a little up in the branched asm code (1% faster on P3)
libavcodec
|
Wed, 11 Oct 2006 16:11:41 +0000 |
michael |
write cabac low and range variables as early as possible to prevent stalls from reading them before they where written, the P4 is said to disslike that alot, on P3 its 2% faster (START/STOP_TIMER over decode_residual)
libavcodec
|
Wed, 11 Oct 2006 15:20:08 +0000 |
michael |
use ecx instead of cl (no speed change on P3 but might avoid partial register stalls on some cpus)
libavcodec
|
Wed, 11 Oct 2006 14:44:17 +0000 |
michael |
make state transition tables global as they are constant and the code is slightly faster that way
libavcodec
|
Wed, 11 Oct 2006 13:25:29 +0000 |
michael |
10l
libavcodec
|
Wed, 11 Oct 2006 13:21:42 +0000 |
michael |
make lps_range a global table its constant anyway (saves 1 addition for accessing it)
libavcodec
|
Wed, 11 Oct 2006 12:23:40 +0000 |
michael |
enable CMOV_IS_FAST as its faster or equal speed on every cpu (duron, athlon, PM, P3) from which ive seen benchmarks, it might be slower on P4 but noone has posted benchmarks ...
libavcodec
|
Tue, 10 Oct 2006 08:16:41 +0000 |
diego |
BRANCHLESS_CABAD --> BRANCHLESS_CABAC_DECODER
libavcodec
|
Tue, 10 Oct 2006 06:56:51 +0000 |
michael |
moving another bit&1 out, this is as fast as with it in there, but it makes more sense with it outside of the loop
libavcodec
|
Tue, 10 Oct 2006 01:17:39 +0000 |
michael |
move the &1 out of the asm so gcc can optimize it away in inlined cases (yes this is slightly faster)
libavcodec
|
Tue, 10 Oct 2006 01:08:39 +0000 |
michael |
replace a few and/sub/... by cmov
libavcodec
|
Mon, 09 Oct 2006 21:57:10 +0000 |
michael |
reading 8bit mem into a 8bit register needs 2 uops on P4, 8bit->32bit with zero extension needs just 1
libavcodec
|
Mon, 09 Oct 2006 21:39:07 +0000 |
michael |
on the P4 inc needs twice as much time a add
libavcodec
|
Mon, 09 Oct 2006 21:21:10 +0000 |
michael |
10l
libavcodec
|
Mon, 09 Oct 2006 21:14:16 +0000 |
michael |
reverse remainder of the failed attempt to optimize *state=c->mps_state[s]
libavcodec
|
Mon, 09 Oct 2006 20:51:33 +0000 |
michael |
x86 branchless cabac decoder
libavcodec
|
Mon, 09 Oct 2006 20:44:11 +0000 |
michael |
optimize branchless C CABAC decoder
libavcodec
|
Mon, 09 Oct 2006 18:20:00 +0000 |
michael |
move outcommented START/STOP_TIMER to a hopefully better place for benchmarking ...
libavcodec
|
Mon, 09 Oct 2006 15:52:17 +0000 |
michael |
drop failed attempt to optimize *state= c->mps_state[s];
libavcodec
|
Mon, 09 Oct 2006 14:15:53 +0000 |
michael |
10l bugfix for some disabled code
libavcodec
|
Mon, 09 Oct 2006 14:15:14 +0000 |
michael |
first try of a handwritten get_cabac() for x86, this is 10-20% faster on P3 depening on if you try to subtract the START/STOP_TIMER overhead
libavcodec
|
Mon, 09 Oct 2006 12:25:24 +0000 |
michael |
remove bytestream_end checks, seems to work fine without them and the bitstream reader doesnt check for the end either
libavcodec
|
Mon, 09 Oct 2006 00:59:42 +0000 |
michael |
decrease ff_h264_norm_shift[] size
libavcodec
|
Sun, 08 Oct 2006 21:26:08 +0000 |
michael |
cleanup
libavcodec
|
Sun, 08 Oct 2006 13:20:22 +0000 |
michael |
branchless renormalization (1% faster get_cabac) old branchless renormalization wasnt faster because gcc was scared of the shift variable (missusing bit variable now)
libavcodec
|
Sun, 08 Oct 2006 11:24:37 +0000 |
michael |
5% faster get_cabac()
libavcodec
|
Sat, 07 Oct 2006 22:37:34 +0000 |
michael |
disable benchmarking code
libavcodec
|
Sat, 07 Oct 2006 22:34:32 +0000 |
michael |
renorm_cabac_decoder_once START/STOP_TIMER scores for athlon
libavcodec
|
Sat, 07 Oct 2006 15:44:14 +0000 |
michael |
refill cabac variables in 16bit steps, 3% faster get_cabac()
libavcodec
|
Sat, 07 Oct 2006 15:30:46 +0000 |
diego |
Change license headers to say 'FFmpeg' instead of 'this program/this library'
libavcodec
|
Sat, 07 Oct 2006 12:41:55 +0000 |
michael |
() 10l
libavcodec
|
Sat, 07 Oct 2006 11:15:10 +0000 |
michael |
several x86 renorm_cabac_decoder_once optimizations
libavcodec
|
Wed, 04 Oct 2006 07:16:10 +0000 |
lorenm |
don't try to inline cabac functions. gcc ignored the hint anyway, and forcing it would make h264 slower.
libavcodec
|
Sun, 27 Aug 2006 09:19:02 +0000 |
lorenm |
tweak cabac. 0.5% faster h264.
libavcodec
|
Sat, 29 Apr 2006 00:43:15 +0000 |
lorenm |
don't force asserts in release builds. 2% faster h264.
libavcodec
|