registers to save local variables, but after these
functions returned, they would contain garbage.
Fix by saving the relevant registers on the stack in the affected
functions.
Signed-off-by: James Cowgill
---
libavcodec/arm/sbcdsp_neon.S | 6 ++
1 file changed, 6 insertions(+)
diff --git a
eason for using these replacements is to keep closely related
sets of registers consecutively numbered which hopefully makes the
code more easy to follow. Since this commit only reallocates
registers, it should have no performance impact.
Signed-off-by: James Cowgill
---
On 29/07/2019 19:59, Reimar
calculation to take this into account.
Signed-off-by: James Cowgill
---
libavcodec/libtwolame.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c
index 030f88868f..5ceb3d9f3f 100644
--- a/libavcodec/libtwolame.c
+++ b
old API did, in the majority of cases
it works and it does not require changes to any other part of the decoding
code.
Fixes ticket #6775
Signed-off-by: James Cowgill
---
libavcodec/decode.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 86
Hi,
On 09/11/17 14:02, Hendrik Leppkes wrote:
> On Thu, Nov 9, 2017 at 1:21 PM, James Cowgill wrote:
>> In commit 061a0c14bb57 ("decode: restructure the core decoding code"), the
>> deprecated avcodec_decode_* APIs were reworked so that they called into the
&
In the DASHContext structure, min_seg_duration is declared as an int,
but the AVOption list claimed it was an INT64. Change the option list
to use the correct size, which should fix some initialization errors
seen on big-endian platforms.
Signed-off-by: James Cowgill
---
libavformat/dashenc.c
Fixes filter-pixfmts-scale test failing on big-endian systems due to
alpSrc not being cast to (const int32_t**).
Also fixes distortions in the output alpha channel values by copying the
alpha channel code from the rgba64 case found elsewhere in output.c.
Fixes ticket 6555.
Signed-off-by: James
Hi,
On 02/08/17 14:18, Michael Niedermayer wrote:
> On Tue, Aug 01, 2017 at 02:46:22PM +0100, James Cowgill wrote:
>> Fixes filter-pixfmts-scale test failing on big-endian systems due to
>> alpSrc not being cast to (const int32_t**).
>>
>> Also fixes distortions in the
Hi,
On 02/08/17 23:21, Michael Niedermayer wrote:
> On Wed, Aug 02, 2017 at 03:32:04PM +0100, James Cowgill wrote:
>> Hi,
>>
>> On 02/08/17 14:18, Michael Niedermayer wrote:
>>> On Tue, Aug 01, 2017 at 02:46:22PM +0100, James Cowgill wrote:
>>>> Fixe
Fixes filter-pixfmts-scale test failing on big-endian systems due to
alpSrc not being cast to (const int32_t**).
Also fixes distortions in the output alpha channel values by copying the
alpha channel code from the rgba64 case found elsewhere in output.c.
Fixes ticket 6555.
Signed-off-by: James
2.29 and pre-2.29, use .eqv to
pre-calculate the function address without the automatic +1 fixup. Then use
these new symbols as the function addresses to be loaded.
See: https://sourceware.org/bugzilla/show_bug.cgi?id=21458
Fixes ticket 6571.
Signed-off-by: James Cowgill
---
libavcodec/arm
2.29 and pre-2.29, use .eqv to
pre-calculate the function address without the automatic +1 fixup. Then use
these new symbols as the function addresses to be loaded.
Fixes ticket 6571.
Related binutils bug: https://sourceware.org/bugzilla/show_bug.cgi?id=21458
Signed-off-by: James Cowgill
---
v2
On 23/04/18 10:11, Carl Eugen Hoyos wrote:
> 2018-03-14 7:31 GMT+01:00, Martin Vignali :
>
>> In that case we can let the test using "none"
>> compression (bypass the snappy part)
>
> These tests are also broken, please fix or
> remove them:
> https://buildd.debian.org/status/fetch.php?pkg=ffmpeg
Hi,
On 11/06/17 18:47, jamrial at gmail.com (James Almer) wrote:
> Fixes ticket #6413
>
> Signed-off-by: James Almer
> ---
> The public key authentication also tries to use the password variable. I
> don't know if NULL is valid in that case or not.
> Perhaps for that one it would be better to re
at all
(eg I have to disable DSP otherwise I get a lot of SIGILL). Since this was what
the code was doing before, I just left it instead of messing up all the MIPS
configure options (more than I have done).
Thanks,
James
James Cowgill (12):
mips/mathops: remove 64-bit code
mips/float_dsp: rep
GCC is perfectly happy generating optimized multiplication code on its own for
64-bit arches. GCC refuses to optimize the loongson code when in 32-bit mode,
so I've left that.
Signed-off-by: James Cowgill
---
libavcodec/mips/mathops.h | 26 --
1 file change
manipulate registers containing pointers.
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.c | 21 +--
libavcodec/mips/aacdec_mips.h | 9 ++---
libavcodec/mips/aacpsdsp_mips.c | 43 +++---
libavcodec/mips/aacpsy_mips.h
as well.
Also remove the last occurence of HAVE_MIPS32R2 (which is coupled to
HAVE_MIPSFPU anyway).
Signed-off-by: James Cowgill
---
Makefile | 2 +-
arch.mak | 1 -
configure | 19 +--
libavcodec/mips/ac3dsp_mips.c
Removing these removes the dependency of this code on mips32r2 which would
allow it to be used on processors which have FPU instructions, but not r2
instructions (like the mips64el debian port for instance).
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.h | 49
Q_fract should have be declared as 'const float*'.
Also fix the constness of some local variables affected by this.
Signed-off-by: James Cowgill
---
libavcodec/mips/aacpsdsp_mips.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/mips/aacpsds
Remove some assembly that the compiler can easily handle optimally on its own.
GCC produces almost identical assembly.
Signed-off-by: James Cowgill
---
libavcodec/mips/fft_mips.c | 26 ++
1 file changed, 2 insertions(+), 24 deletions(-)
diff --git a/libavcodec/mips
The optimized C version of this code actually runs faster than this
version, so remove it.
Signed-off-by: James Cowgill
---
libavcodec/mips/sbrdsp_mips.c | 34 --
1 file changed, 34 deletions(-)
diff --git a/libavcodec/mips/sbrdsp_mips.c b/libavcodec/mips
e manually
unrolled 4 times (like the assembly code). With the addition of a few restrict
keywords, the functions produce almost identical assembly to the original
versions when compiled with gcc -O3.
Since this code now uses no fpu assembly, drop the HAVE_MIPSFPU guard as well.
Signed-off-by: Jam
This is obviously needed for 64-bit support.
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.c | 2 +-
libavcodec/mips/aacpsdsp_mips.c | 12 ++--
libavcodec/mips/sbrdsp_mips.c | 10 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/libavcodec
avoid a
variable name conflict.
Signed-off-by: James Cowgill
---
libavcodec/mips/aaccoder_mips.c | 929 +---
1 file changed, 477 insertions(+), 452 deletions(-)
diff --git a/libavcodec/mips/aaccoder_mips.c b/libavcodec/mips/aaccoder_mips.c
index 8595913
The float_copy and fmul_and_reverse functions are refactored out from the
multiple copies in this file.
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.c | 612 --
1 file changed, 111 insertions(+), 501 deletions(-)
diff --git a/libavcodec
Change register constraint on the v variable from = to +. This was causing GCC
to think that the v variable was never read and therefore not initialize it.
This fixes about 20 fate failures on mips64el.
Signed-off-by: James Cowgill
---
libavcodec/mips/acelp_filters_mips.c | 2 +-
1 file
On Thu, 2015-02-26 at 13:51 +, Derek Buitenhuis wrote:
> On 2/26/2015 1:42 PM, James Cowgill wrote:
> > The assembly versions have a few problems
> > - They only work with mips32r2 enabled
> > - They don't work on 64-bits
> > - They're massive and co
On Tue, 2015-03-03 at 12:42 +, Nedeljko Babic wrote:
> >Removing these removes the dependency of this code on mips32r2 which would
> >allow it to be used on processors which have FPU instructions, but not r2
> >instructions (like the mips64el debian port for instance).
> >
>
> I would be more
On Wed, 2015-03-04 at 11:52 +0100, Michael Niedermayer wrote:
> On Wed, Mar 04, 2015 at 10:10:15AM +, Nedeljko Babic wrote:
> > LGTM
>
> seems this does not apply cleanly on HEAD
> Applying: mips: port optimizations to mips n64
> error: patch failed: libavcodec/mips/acelp_filters_mips.c:82
> e
On Wed, 2015-03-04 at 11:08 +, Nedeljko Babic wrote:
> >The assembly versions have a few problems
> >- They only work with mips32r2 enabled
> >- They don't work on 64-bits
> >- They're massive and complex
> >
> >So replace them with C implementations which solve these problems and let GCC
> >ma
Removing these removes the dependency of this code on mips32r2 which would
allow it to be used on processors which have FPU instructions, but not r2
instructions (like the mips64el debian port for instance).
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.h | 49
manipulate registers containing pointers.
Signed-off-by: James Cowgill
---
libavcodec/mips/aacdec_mips.c | 21 +--
libavcodec/mips/aacdec_mips.h | 9 ++---
libavcodec/mips/aacpsdsp_mips.c | 43 +++---
libavcodec/mips/aacpsy_mips.h
as well.
Also remove the last occurence of HAVE_MIPS32R2 (which is coupled to
HAVE_MIPSFPU anyway).
mips32r2 is left in the list of options form compatability so that using
--disable-mips32r2 doesn't break anything.
Signed-off-by: James Cowgill
---
Makefile | 2 +-
arc
---
Changelog | 1 +
1 file changed, 1 insertion(+)
diff --git a/Changelog b/Changelog
index 1374cbc..2a5d6b8 100644
--- a/Changelog
+++ b/Changelog
@@ -36,6 +36,7 @@ version :
- Canopus HQX decoder
- RTP depacketization of T.140 text (RFC 4103)
- VP9 RTP payload format (draft 0) experimental
ts.
- Add entry in the changelog for the mips 64-bit port.
Thanks,
James
James Cowgill (4):
mips/aacdec: remove uses of mips32r2 specific ext instructions
configure, mips: remove MIPS32R2, merging it with MIPSFPU
mips: port optimizations to mips n64
changelog: add mips 64-bit port
On Sat, 2015-03-07 at 10:15 +0100, Michael Niedermayer wrote:
> On Sat, Mar 07, 2015 at 02:47:51AM -0300, James Almer wrote:
> > On 05/03/15 2:40 PM, James Cowgill wrote:
> > > diff --git a/libavutil/mips/asmdefs.h b/libavutil/mips/asmdefs.h
> > > new file mode 100644
&
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
but the linux kernel does in asm/sgidefs.h. So use that header if we can.
Change _ABI64 to _MIPS_SIM_ABI64 which is defined in both headers.
Signed-off-by: James Cowgill
---
libavutil/mips/asmdefs.h | 6 +-
Signed-off-by: James Cowgill
---
libavutil/mips/asmdefs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavutil/mips/asmdefs.h b/libavutil/mips/asmdefs.h
index 3660e98..04c036e 100644
--- a/libavutil/mips/asmdefs.h
+++ b/libavutil/mips/asmdefs.h
@@ -24,8 +24,8
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
but the linux kernel does have an almost equivalent asm/sgidefs.h which will
do so use that header if we can.
Change _ABI64 to _MIPS_SIM_ABI64 which is defined in both headers.
Signed-off-by: James
On Sat, 2015-03-07 at 13:32 +0100, Michael Niedermayer wrote:
> On Sat, Mar 07, 2015 at 10:56:45AM +0000, James Cowgill wrote:
> > Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
> > but the linux kernel does have an almost equivalent asm/sgidefs
On Sat, 2015-03-07 at 18:06 +0100, wm4 wrote:
> On Sat, 7 Mar 2015 10:13:23 +
> James Cowgill wrote:
>
> > Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
> > but the linux kernel does in asm/sgidefs.h. So use that header if we c
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
the easiest way around this is to just use the preprocessor definitions from
gcc / clang.
Signed-off-by: James Cowgill
---
Hi,
Sorry I forgot about this a little.
I think that doing it this way is better than
d this new
assembly which also needed porting.
This patch fixes a bus error in the fate-float-dsp test when run on 64-bit
mips.
Signed-off-by: James Cowgill
Cc: Nedeljko Babic
---
libavutil/mips/float_dsp_mips.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a
44 matches
Mail list logo