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

Michael Niedermayer michaelni
Wed Aug 12 22:34:50 CEST 2009


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

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090812/10c77afa/attachment.pgp>



More information about the ffmpeg-devel mailing list