[FFmpeg-devel] [PATCH][RFC] Lagarith Decoder.

Måns Rullgård mans
Wed Aug 12 22:40:33 CEST 2009


Michael Niedermayer <michaelni at gmx.at> writes:

> On Wed, Aug 12, 2009 at 09:07:52PM +0100, M?ns Rullg?rd wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>> 
>> > On Wed, Aug 12, 2009 at 08:25:41PM +0100, M?ns Rullg?rd wrote:
>> >> Michael Niedermayer <michaelni at gmx.at> writes:
>> >> 
>> >> > On Wed, Aug 12, 2009 at 07:47:45PM +0100, M?ns Rullg?rd wrote:
>> >> >> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> >> >> 
>> >> >> > On Wed, Aug 12, 2009 at 06:59:42PM +0100, M?ns Rullg?rd wrote:
>> >> >> >> Michael Niedermayer <michaelni at gmx.at> writes:
>> >> >> >> 
>> >> >> >> > On Wed, Aug 12, 2009 at 06:31:36PM +0200, Reimar D?ffinger wrote:
>> >> >> >> >> On Wed, Aug 12, 2009 at 05:10:36PM +0100, M?ns Rullg?rd wrote:
>> >> >> >> >> > Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> >> >> >> >> > 
>> >> >> >> >> > > On Wed, Aug 12, 2009 at 04:12:25PM +0100, M?ns Rullg?rd wrote:
>> >> >> >> >> > >> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> >> >> >> >> > >> 
>> >> >> >> >> > >> > Well, you still have to teach the compiler at least to
>> >> >> >> >> > >> > use clz for av_log2, I think you haven't yet ;-)
>> >> >> >> >> > >> 
>> >> >> >> >> > >> I can't because it's in common.h, which is
>> >> >> >> >> > >> installed.  We really should find a way to fix
>> >> >> >> >> > >> that.
>> >> >> >> >> > >
>> >> >> >> >> > > Just put the optimizations under HAVE_AV_CONFIG_H like
>> >> >> >> >> > > everything else in there that is messy?
>> >> >> >> >> > 
>> >> >> >> >> > And keep adding to the mess?  That's not the way to do things.
>> >> >> >> >> 
>> >> >> >> >> Then how about adding a new internal header with that
>> >> >> >> >> function and putting the version in the installed
>> >> >> >> >> header under
>> >> >> >> >> #ifndef HAVE_AV_CONFIG_H
>> >> >> >> >> i.e. just to keep API compatibility?
>> >> >> >> >> Possibly even deprecating that version?
>> >> >> >> >> Would that be clean enough?
>> >> >> >> >
>> >> >> >> > It would be nice if applications using libav* could also use
>> >> >> >> > the optimized version
>> >> >> >> 
>> >> >> >> I can't see a way to make that happen.
>> >> >> >
>> >> >> > Actually... You could install a pseudo-config.h that contains the
>> >> >> > necessary CPU settings...
>> >> >> > There is not really a reason we can't install generated headers...
>> >> >> > Or am I missing something?
>> >> >> 
>> >> >> Doing so would require all FFmpeg-using apps to use the same compiler
>> >> >> and flags as were used when configuring FFmpeg.  This is not
>> >> >> reasonable.
>> >> >
>> >> > a few #ifdefs in the header would solve that,
>> >> > same compiler -> all optims
>> >> > other compiler -> fallback to plain C
>> >> 
>> >> That is not very nice.  Besides, it is impossible to implement.
>> >
>> > could you elaborate on why it is impossible?
>> 
>> It is impossible to determine with #ifdefs what compiler flags are
>> being used.
>
> it is possible for the user application to provide this information via
> #defines
>
> like
> #define HAVE_INLINE_ASM 1
> #define HAVE_EBX_AVAILABLE 1
> ...
>
> an application not setting these would just not have the optimizations
> available, which is what always happens now. In that sense its not worse

They'd get it wrong, and we'd get a reputation of being unstable.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list