* [Buildroot] libmad and AVR32 optimisations
@ 2013-02-20 22:58 Gilles Talis
2013-02-20 23:14 ` Benoît Thébaudeau
0 siblings, 1 reply; 12+ messages in thread
From: Gilles Talis @ 2013-02-20 22:58 UTC (permalink / raw)
To: buildroot
All,
There is small issue in the AVR32 optimization patch [1]. This is root
cause for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22
and 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d.
Reason is that some fixed-point math routines are implemented in
architecture-specific files. If "architecture-specific optimizations"
option is disabled from the build configuration, these routines are not
compiled, but libmad is built with references to these functions though.
My question is: is this issue worth fixing? I assume that libmad users will
usually enable all possible architecture-specific optimizations.
Thanks
Gilles.
[1] package/libmad/libmad-0.15.1b-optimization.patch.avr32
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130220/7e8a19c1/attachment.html>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-20 22:58 [Buildroot] libmad and AVR32 optimisations Gilles Talis
@ 2013-02-20 23:14 ` Benoît Thébaudeau
[not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>
2013-02-21 10:33 ` Peter Korsgaard
0 siblings, 2 replies; 12+ messages in thread
From: Benoît Thébaudeau @ 2013-02-20 23:14 UTC (permalink / raw)
To: buildroot
Dear Gilles,
On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote:
> All,
> There is small issue in the AVR32 optimization patch [1]. This is root cause
> for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and
> 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d.
> Reason is that some fixed-point math routines are implemented in
> architecture-specific files. If "architecture-specific optimizations" option
> is disabled from the build configuration, these routines are not compiled,
> but libmad is built with references to these functions though.
> My question is: is this issue worth fixing? I assume that libmad users will
> usually enable all possible architecture-specific optimizations.
> Thanks
> Gilles.
> [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32
This patch was clearly made for specific libmad settings. Rather than fixing it,
it would be easier to simply add a "depends on !BR2_avr32" to the config options
that fail on AVR32.
Best regards,
Beno?t
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
[not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>
@ 2013-02-21 0:55 ` Benoît Thébaudeau
2013-02-21 1:48 ` Gilles Talis
0 siblings, 1 reply; 12+ messages in thread
From: Benoît Thébaudeau @ 2013-02-21 0:55 UTC (permalink / raw)
To: buildroot
Dear Gilles,
Please always Cc the mailing list, use plain text (no HTML), and format your
answers using bottom posting:
http://en.wikipedia.org/wiki/Posting_style#Bottom-posting
On Thursday, February 21, 2013 12:41:12 AM, Gilles Talis wrote:
> Dear Benoit,
> Thanks for your answer.
> This was my initial thought: fix the package options. I agree with you that
> it is easier.
> But then I realized that it might be cleaner to fix the patch itself.
> Still my question remains: is it worth it? Who, beside autobuilder, will
> actually use such a configuration (build libmad on AVR32 without
> architecture-specific optimizations).
It is up to BuildRoot maintainers to decide. But I have already used this patch
on AVR32, and the performance is too low without it to be able to do interesting
things in parallel, so I don't think that any AVR32 user would be interested in
libmad without enabling these optmizations, all the more the audio quality with
these optimizations is still excellent.
It's not like on ARM for which some settings produce distorted audio with some
MP3s, so here all the settings make sense.
> Thanks
> Gilles.
> 2013/2/20 Beno?t Th?baudeau < benoit.thebaudeau@advansee.com >
> > Dear Gilles,
>
> > On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote:
>
> > > All,
>
> > > There is small issue in the AVR32 optimization patch [1]. This is root
> > > cause
>
> > > for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and
>
> > > 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d.
>
> > > Reason is that some fixed-point math routines are implemented in
>
> > > architecture-specific files. If "architecture-specific optimizations"
> > > option
>
> > > is disabled from the build configuration, these routines are not
> > > compiled,
>
> > > but libmad is built with references to these functions though.
>
> > > My question is: is this issue worth fixing? I assume that libmad users
> > > will
>
> > > usually enable all possible architecture-specific optimizations.
>
> > > Thanks
>
> > > Gilles.
>
> > > [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32
>
> > This patch was clearly made for specific libmad settings. Rather than
> > fixing
> > it,
>
> > it would be easier to simply add a "depends on !BR2_avr32" to the config
> > options
>
> > that fail on AVR32.
Best regards,
Beno?t
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 0:55 ` Benoît Thébaudeau
@ 2013-02-21 1:48 ` Gilles Talis
0 siblings, 0 replies; 12+ messages in thread
From: Gilles Talis @ 2013-02-21 1:48 UTC (permalink / raw)
To: buildroot
Dear Benoit,
2013/2/20 Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
>
> Dear Gilles,
>
> Please always Cc the mailing list, use plain text (no HTML), and format your
> answers using bottom posting:
> http://en.wikipedia.org/wiki/Posting_style#Bottom-posting
>
> On Thursday, February 21, 2013 12:41:12 AM, Gilles Talis wrote:
> > Dear Benoit,
>
> > Thanks for your answer.
> > This was my initial thought: fix the package options. I agree with you that
> > it is easier.
> > But then I realized that it might be cleaner to fix the patch itself.
>
> > Still my question remains: is it worth it? Who, beside autobuilder, will
> > actually use such a configuration (build libmad on AVR32 without
> > architecture-specific optimizations).
>
> It is up to BuildRoot maintainers to decide. But I have already used this patch
> on AVR32, and the performance is too low without it to be able to do interesting
> things in parallel, so I don't think that any AVR32 user would be interested in
> libmad without enabling these optmizations, all the more the audio quality with
> these optimizations is still excellent.
>
> It's not like on ARM for which some settings produce distorted audio with some
> MP3s, so here all the settings make sense.
>
> > Thanks
> > Gilles.
>
> > 2013/2/20 Beno?t Th?baudeau < benoit.thebaudeau@advansee.com >
>
> > > Dear Gilles,
> >
>
> > > On Wednesday, February 20, 2013 11:58:29 PM, Gilles Talis wrote:
> >
> > > > All,
> >
>
> > > > There is small issue in the AVR32 optimization patch [1]. This is root
> > > > cause
> >
> > > > for autobuild failures: e01f5a5484299dce1797966445f3972583c67b22 and
> >
> > > > 7ed0563fbbfc19c93ec5be35d3b6a95e496b4c5d.
> >
>
> > > > Reason is that some fixed-point math routines are implemented in
> >
> > > > architecture-specific files. If "architecture-specific optimizations"
> > > > option
> >
> > > > is disabled from the build configuration, these routines are not
> > > > compiled,
> >
> > > > but libmad is built with references to these functions though.
> >
>
> > > > My question is: is this issue worth fixing? I assume that libmad users
> > > > will
> >
> > > > usually enable all possible architecture-specific optimizations.
> >
>
> > > > Thanks
> >
> > > > Gilles.
> >
>
> > > > [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32
> >
>
> > > This patch was clearly made for specific libmad settings. Rather than
> > > fixing
> > > it,
> >
> > > it would be easier to simply add a "depends on !BR2_avr32" to the config
> > > options
> >
> > > that fail on AVR32.
>
> Best regards,
> Beno?t
All apologies. I didn't realize I had not copied the list in my
message. I should be more careful next time.
And also thanks for the formatting tips.
Thanks for your answer on libmad and AVR32. It confirms my thoughts.
Regards,
Gilles.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-20 23:14 ` Benoît Thébaudeau
[not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>
@ 2013-02-21 10:33 ` Peter Korsgaard
2013-02-21 10:52 ` Simon Dawson
1 sibling, 1 reply; 12+ messages in thread
From: Peter Korsgaard @ 2013-02-21 10:33 UTC (permalink / raw)
To: buildroot
>>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes:
>> [1] package/libmad/libmad-0.15.1b-optimization.patch.avr32
Beno?t> This patch was clearly made for specific libmad
Beno?t> settings. Rather than fixing it, it would be easier to simply
Beno?t> add a "depends on !BR2_avr32" to the config options that fail
Beno?t> on AVR32.
Or simply get rid of the huge patch - It's just an optimization, and not
really needed, right?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 10:33 ` Peter Korsgaard
@ 2013-02-21 10:52 ` Simon Dawson
2013-02-21 10:58 ` Peter Korsgaard
0 siblings, 1 reply; 12+ messages in thread
From: Simon Dawson @ 2013-02-21 10:52 UTC (permalink / raw)
To: buildroot
On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote:
> Or simply get rid of the huge patch - It's just an optimization, and not
> really needed, right?
The problem is that, for libmad to be usable on avr32, this
optimization patch really *is* needed.
Simon.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 10:52 ` Simon Dawson
@ 2013-02-21 10:58 ` Peter Korsgaard
2013-02-21 12:28 ` Benoît Thébaudeau
0 siblings, 1 reply; 12+ messages in thread
From: Peter Korsgaard @ 2013-02-21 10:58 UTC (permalink / raw)
To: buildroot
>>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes:
Simon> On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote:
>> Or simply get rid of the huge patch - It's just an optimization, and not
>> really needed, right?
Simon> The problem is that, for libmad to be usable on avr32, this
Simon> optimization patch really *is* needed.
Ok, then lets fix it up instead.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 10:58 ` Peter Korsgaard
@ 2013-02-21 12:28 ` Benoît Thébaudeau
2013-02-21 12:42 ` Peter Korsgaard
0 siblings, 1 reply; 12+ messages in thread
From: Benoît Thébaudeau @ 2013-02-21 12:28 UTC (permalink / raw)
To: buildroot
Dear Peter Korsgaard, all,
On Thursday, February 21, 2013 11:58:12 AM, Peter Korsgaard wrote:
> >>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes:
>
> Simon> On 21 February 2013 10:33, Peter Korsgaard <jacmet@uclibc.org> wrote:
> >> Or simply get rid of the huge patch - It's just an optimization, and not
> >> really needed, right?
>
> Simon> The problem is that, for libmad to be usable on avr32, this
> Simon> optimization patch really *is* needed.
>
> Ok, then lets fix it up instead.
To fix it up, you can check if libmad is provided with the ASF:
http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx
If so, it may have been cleaned up since the BuildRoot patch, so generate a new
patch from the ASF against mainline libmad, and retest.
Best regards,
Beno?t
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 12:28 ` Benoît Thébaudeau
@ 2013-02-21 12:42 ` Peter Korsgaard
2013-02-21 19:36 ` Simon Dawson
0 siblings, 1 reply; 12+ messages in thread
From: Peter Korsgaard @ 2013-02-21 12:42 UTC (permalink / raw)
To: buildroot
>>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes:
Simon> The problem is that, for libmad to be usable on avr32, this
Simon> optimization patch really *is* needed.
>>
>> Ok, then lets fix it up instead.
Beno?t> To fix it up, you can check if libmad is provided with the ASF:
Beno?t> http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx
Beno?t> If so, it may have been cleaned up since the BuildRoot patch,
Beno?t> so generate a new patch from the ASF against mainline libmad,
Beno?t> and retest.
Simon, will you look into this?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 12:42 ` Peter Korsgaard
@ 2013-02-21 19:36 ` Simon Dawson
2013-02-21 20:39 ` Peter Korsgaard
0 siblings, 1 reply; 12+ messages in thread
From: Simon Dawson @ 2013-02-21 19:36 UTC (permalink / raw)
To: buildroot
On 21 February 2013 12:42, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Beno?t" == Beno?t Th?baudeau <benoit.thebaudeau@advansee.com> writes:
>
> Simon> The problem is that, for libmad to be usable on avr32, this
> Simon> optimization patch really *is* needed.
> >>
> >> Ok, then lets fix it up instead.
>
> Beno?t> To fix it up, you can check if libmad is provided with the ASF:
> Beno?t> http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx
>
> Beno?t> If so, it may have been cleaned up since the BuildRoot patch,
> Beno?t> so generate a new patch from the ASF against mainline libmad,
> Beno?t> and retest.
>
> Simon, will you look into this?
Unfortunately, this approach doesn't work: using a regenerated avr32
patch from ASF, the madplay build still fails in exactly the same
manner if the architecture-specific optimisations are disabled for
libmad.
A simpler approach would be to force the arch-specific optimisations
to be enabled for avr32; would that be an acceptable compromise?
Simon.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 19:36 ` Simon Dawson
@ 2013-02-21 20:39 ` Peter Korsgaard
2013-02-22 1:03 ` Gilles Talis
0 siblings, 1 reply; 12+ messages in thread
From: Peter Korsgaard @ 2013-02-21 20:39 UTC (permalink / raw)
To: buildroot
>>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes:
>> Simon, will you look into this?
Simon> Unfortunately, this approach doesn't work: using a regenerated avr32
Simon> patch from ASF, the madplay build still fails in exactly the same
Simon> manner if the architecture-specific optimisations are disabled for
Simon> libmad.
Simon> A simpler approach would be to force the arch-specific optimisations
Simon> to be enabled for avr32; would that be an acceptable compromise?
Yes I think so. Care to send a patch?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] libmad and AVR32 optimisations
2013-02-21 20:39 ` Peter Korsgaard
@ 2013-02-22 1:03 ` Gilles Talis
0 siblings, 0 replies; 12+ messages in thread
From: Gilles Talis @ 2013-02-22 1:03 UTC (permalink / raw)
To: buildroot
2013/2/21 Peter Korsgaard <jacmet@uclibc.org>:
>>>>>> "Simon" == Simon Dawson <spdawson@gmail.com> writes:
>
> >> Simon, will you look into this?
>
> Simon> Unfortunately, this approach doesn't work: using a regenerated avr32
> Simon> patch from ASF, the madplay build still fails in exactly the same
> Simon> manner if the architecture-specific optimisations are disabled for
> Simon> libmad.
>
> Simon> A simpler approach would be to force the arch-specific optimisations
> Simon> to be enabled for avr32; would that be an acceptable compromise?
>
> Yes I think so. Care to send a patch?
Done. Thanks all for your valuable comments.
Gilles.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-02-22 1:03 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-20 22:58 [Buildroot] libmad and AVR32 optimisations Gilles Talis
2013-02-20 23:14 ` Benoît Thébaudeau
[not found] ` <CAKcgs2wW-vj=1NENE0mLmaZjwD6z9MrhzVm4aScnuX1f7COToQ@mail.gmail.com>
2013-02-21 0:55 ` Benoît Thébaudeau
2013-02-21 1:48 ` Gilles Talis
2013-02-21 10:33 ` Peter Korsgaard
2013-02-21 10:52 ` Simon Dawson
2013-02-21 10:58 ` Peter Korsgaard
2013-02-21 12:28 ` Benoît Thébaudeau
2013-02-21 12:42 ` Peter Korsgaard
2013-02-21 19:36 ` Simon Dawson
2013-02-21 20:39 ` Peter Korsgaard
2013-02-22 1:03 ` Gilles Talis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox