- 07 May, 2014 1 commit
-
-
Matt Oliver authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 10 Apr, 2014 1 commit
-
-
Matt Oliver authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 30 Mar, 2014 1 commit
-
-
Matt Oliver authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 18 Mar, 2014 1 commit
-
-
Matt Oliver authored
Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported. This is part of the patch-set for intel C inline asm on windows support Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 05 Mar, 2014 1 commit
-
-
Diego Biurrun authored
-
- 31 Oct, 2013 1 commit
-
-
Michael Niedermayer authored
Fixes overreads in HEVC Fixes Ticket3070 Also fixed remaining issues from Ticket3075 and Ticket3076 Some lines of code taken from 0c5f8396:libavcodec/x86/cabac.h and 0c5f8396:libavcodec/cabac_functions.h Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 26 Oct, 2013 1 commit
-
-
Michael Niedermayer authored
this might fix Ticket2999 as well as some fate clients untested as the original patch submitter no longer has the environment to test this should be reverted if it does not fix the issues Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 30 Aug, 2013 1 commit
-
-
Thilo Borgmann authored
-
- 06 Jul, 2013 2 commits
-
-
Michael Niedermayer authored
This should fix fate on these platforms Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 04 Jul, 2013 1 commit
-
-
Jason Garrett-Glaser authored
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
- 22 Jan, 2013 1 commit
-
-
Michael Niedermayer authored
x86_64 is affected by this too Fixes Ticket2156 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 17 Sep, 2012 1 commit
-
-
Michael Niedermayer authored
gcc produces binary identical output relative to before this change Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 13 Aug, 2012 1 commit
-
-
Mans Rullgard authored
This fixes two issues preventing suncc from building this code. The undocumented 'a' operand modifier, causing gcc to omit a $ in front of immediate operands (as required in addresses), is not supported by suncc. Luckily, the also undocumented 'c' modifer has the same effect and is supported. On some asm statements with a large number of operands, suncc for no obvious reason fails to correctly substitute some of the operands. Fortunately, some of the operands in these statements are plain numbers which can be inserted directly into the code block instead of passed as operands. With these changes, the code builds correctly with both gcc and suncc. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 08 Aug, 2012 1 commit
-
-
Mans Rullgard authored
This puts x86-specific things in the x86/ subdirectory where they belong. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 25 Jun, 2012 1 commit
-
-
Ronald S. Bultje authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 28 Apr, 2012 6 commits
-
-
Roland Scheidegger authored
This adds a hand-optimized assembly version for get_cabac much like the existing one, but it works if the table offsets are RIP-relative. Compared to the non-RIP-relative version this adds 2 lea instructions and it needs one extra register. There is a surprisingly large performance improvement over the c version (more so than the generated assembly seems to suggest) just in get_cabac, I measured roughly 40% faster for get_cabac on a K8. However, overall the difference is not that big, I measured roughly 5% on a test clip on a K8 and a Core2. Hopefully it still compiles on x86 32bit... Now that only one table is used, there's some chance even darwin as compiles this (apparently the label arithmetic used previously doesn't work if it involves symbols defined in a different file, thanks to Ronald S. Bultje for helping me with this). Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Roland Scheidegger authored
The reason is this is easier for PIC code (in particular on darwin...). Keep the old names as pointers (static in cabac_functions.h so gcc knows these are just immediate offsets) so the c code can nicely stay the same (alternatively could use offsets directly in the functions needing the tables). This should produce the same code as before with non-pic and better code (confirmed) with pic. The assembly uses the new table but still won't work for PIC case. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Roland Scheidegger authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Roland Scheidegger authored
This adds a hand-optimized assembly version for get_cabac much like the existing one, but it works if the table offsets are RIP-relative. Compared to the non-RIP-relative version this adds 2 lea instructions and it needs one extra register. get_cabac() gets about 40% faster, for an overall speedup of about 5%. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
-
Roland Scheidegger authored
The reason is this is easier for PIC code (in particular on darwin...). Keep the old names as pointers (static in cabac_functions.h so gcc knows these are just immediate offsets) so the c code can nicely stay the same (alternatively could use offsets directly in the functions needing the tables). This should produce the same code as before with non-pic and better code (confirmed) with pic. The assembly uses the new table but still won't work for PIC case. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
-
Roland Scheidegger authored
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
-
- 21 Apr, 2012 1 commit
-
-
Michael Niedermayer authored
This broke compilation on darwin, revert until a better solution is found. This reverts commit a812b599.
-
- 20 Apr, 2012 1 commit
-
-
Roland Scheidegger authored
This adds a hand-optimized assembly version for get_cabac much like the existing one, but it works if the table offsets are RIP-relative. Compared to the non-RIP-relative version this adds 2 lea instructions and it needs one extra register. There is a surprisingly large performance improvement over the c version (more so than the generated assembly seems to suggest) just in get_cabac, I measured roughly 40% faster for get_cabac on a K8. However, overall the difference is not that big, I measured roughly 5% on a test clip on a K8 and a Core2. Hopefully it still compiles on x86 32bit... v2: incorporated feedback from Loren Merritt to avoid rip-relative movs for every table, and got rid of unnecessary @GOTPCREL. v3: apply similar fixes to the the decode_significance functions, and use same macro arguments for non-pic case. v4: prettify inline asm arguments, add a non-fast-cmov version (as I expect the c code to be faster otherwise since both cmov and sbb suck hard on a Prescott, even can't construct the mask with a 64bit shift as that's just as terrible - it's quite difficult to find usable instructions on that chip...). This is tested to work but not on a P4, in theory it _should_ be fast there. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 28 Mar, 2012 6 commits
-
-
Ronald S. Bultje authored
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
- 11 Jan, 2012 1 commit
-
-
Michael Niedermayer authored
This should fix compilation with gcc-llvm (see darwin fate box) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 09 Jan, 2012 3 commits
-
-
Michael Niedermayer authored
Switch to a broader detection of versions. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
This should finally fix the compilation issue on darwin Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
This reverts commit c4f237a9. This didnt fix compilation on darwin with current clang.
-
- 06 Jan, 2012 1 commit
-
-
Michael Niedermayer authored
Author: Mans Rullgard <mans@mansr.com> Date: Sun Dec 11 21:41:59 2011 +0000 x86: cabac: replace explicit memory references with "m" operands This replaces the explicit offset(reg) memory references with "m" operands for the same locations. As a result, one fewer register operand is needed for these inline asm statements. This change appears to have broken compilation on darwin, and subsequent fixes by martin (which did not fix compilation) removed the register advantage, thus this change seems not a good idea to keep. See: http://fate.ffmpeg.org/log.cgi?time=20120103122446&log=compile&slot=i386-darwin-llvm-gcc-4.2.1Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 12 Dec, 2011 2 commits
-
-
Martin Storsjö authored
The change in 599b4c6e didn't turn out to work properly on i386 on OS X, where it broke building with PIC enabled. Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit f1dba9e4) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Martin Storsjö authored
The change in 599b4c6e didn't turn out to work properly on i386 on OS X, where it broke building with PIC enabled. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 11 Dec, 2011 1 commit
-
-
Mans Rullgard authored
This replaces the explicit offset(reg) memory references with "m" operands for the same locations. As a result, one fewer register operand is needed for these inline asm statements. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 08 Nov, 2011 1 commit
-
-
Diego Biurrun authored
-
- 03 Aug, 2011 1 commit
-
-
Carl Eugen Hoyos authored
-