[FFmpeg-devel] [PATCH] yadif port to libavfitler
Stefano Sabatini
stefano.sabatini-lala
Sat Sep 4 12:45:08 CEST 2010
On date Thursday 2010-06-10 12:34:05 +0200, Michael Niedermayer encoded:
> On Sun, Jun 06, 2010 at 02:28:17PM -0700, Baptiste Coudurier wrote:
> > On 5/25/10 3:31 PM, Michael Niedermayer wrote:
> >> On Mon, May 24, 2010 at 07:16:57PM -0700, Baptiste Coudurier wrote:
> >>> On 05/24/2010 04:18 AM, M?ns Rullg?rd wrote:
> >>>> Michael Niedermayer<michaelni at gmx.at> writes:
> >>>>
> >>>>> On Sun, May 23, 2010 at 06:03:50PM -0700, Baptiste Coudurier wrote:
> >>>>>> On 5/23/10 4:22 AM, Michael Niedermayer wrote:
> >>>>>>> On Sun, May 23, 2010 at 04:10:57AM -0700, Baptiste Coudurier wrote:
> >>>>> [...]
> >>>>>>>> In short what's required before svn inclusion ?
> >>>>>>>
> >>>>>>> cpuid + matching md5 to mplayer
> >>>>>>> (id also like to see double frame output to work if possible but if
> >>>>>>> thats
> >>>>>>> a problem we could look into it later)
> >>>>>>
> >>>>>> I'd go for later :)
> >>>>>>
> >>>>>>> and if fast_memcpy isnt ported we need a todo/fixme somewhere so we
> >>>>>>> dont
> >>>>>>> forget it
> >>>>>>
> >>>>>> md5 matches, cpuid is a bit complicated to port since MM_FLAGS are
> >>>>>> defined
> >>>>>> in avcodec.h
> >>>>>
> >>>>> where is the problem with moving them to some header in avutil ?
> >>>>
> >>>> Make that a new header only for cpuid stuff.
> >>>>
> >>>
> >>> All right, first attempt attached.
> >>>
> >>> --
> >>> Baptiste COUDURIER
> >>> Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
> >>> FFmpeg maintainer http://www.ffmpeg.org
> >>
> >>> libavcodec/avcodec.h | 4 +++-
> >>> libavcodec/dsputil.h | 6 +-----
> >>> libavcodec/x86/Makefile | 3 +--
> >>> libavutil/Makefile | 2 ++
> >>> libavutil/cpuid.h | 44
> >>> ++++++++++++++++++++++++++++++++++++++++++++
> >>> libavutil/x86/cpuid.c | 2 +-
> >>> 6 files changed, 52 insertions(+), 9 deletions(-)
> >>> c75422b037d027c7bdb9c2bbe859bdac4c438304 avutil_mm_support.patch
> >>> Index: libavcodec/avcodec.h
> >>> ===================================================================
> >>> --- libavcodec/avcodec.h (revision 23288)
> >>> +++ libavcodec/avcodec.h (working copy)
> >>> @@ -30,7 +30,7 @@
> >>> #include "libavutil/avutil.h"
> >>>
> >>> #define LIBAVCODEC_VERSION_MAJOR 52
> >>> -#define LIBAVCODEC_VERSION_MINOR 68
> >>> +#define LIBAVCODEC_VERSION_MINOR 69
> >>> #define LIBAVCODEC_VERSION_MICRO 3
> >>
> >> micro should be zerod if minor is bumped
> >>
> >> remaining code ok with me
> >
> > All right, updated.
> >
> > yadif updated as well.
> > Issues are named args in asm
> > yadif should be compiled only when gpl is enabled.
> >
> > --
> > Baptiste COUDURIER
> > Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
> > FFmpeg maintainer http://www.ffmpeg.org
>
> > libavcodec/avcodec.h | 6 ++++--
> > libavcodec/dsputil.h | 6 +-----
> > libavcodec/x86/Makefile | 3 +--
> > libavutil/Makefile | 2 ++
> > libavutil/cpuid.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
> > 5 files changed, 52 insertions(+), 9 deletions(-)
> > 0542f2bb707208ba2f7e9f9701468c5ce6f0a6e5 avutil_mm_support.patch
> > Index: libavutil/Makefile
> > ===================================================================
> > --- libavutil/Makefile (revision 23501)
> > +++ libavutil/Makefile (working copy)
> > @@ -51,6 +51,8 @@
> > tree.o \
> > utils.o \
> >
> > +OBJS-$(ARCH_X86) += x86/cpuid.o
> > +
> > TESTPROGS = adler32 aes base64 crc des lls md5 pca sha softfloat tree
> > TESTPROGS-$(HAVE_LZO1X_999_COMPRESS) += lzo
> >
> > Index: libavutil/cpuid.h
> > ===================================================================
> > --- libavutil/cpuid.h (revision 0)
> > +++ libavutil/cpuid.h (revision 0)
> > @@ -0,0 +1,44 @@
> > +/*
> > + * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
> > + *
> > + * This file is part of FFmpeg.
> > + *
> > + * FFmpeg is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU Lesser General Public
> > + * License as published by the Free Software Foundation; either
> > + * version 2.1 of the License, or (at your option) any later version.
> > + *
> > + * FFmpeg is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > + * Lesser General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU Lesser General Public
> > + * License along with FFmpeg; if not, write to the Free Software
> > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> > + */
> > +
> > +#ifndef AVUTIL_CPUID_H
> > +#define AVUTIL_CPUID_H
> > +
> > +#define FF_MM_FORCE 0x80000000 /* Force usage of selected flags (OR) */
> > + /* lower 16 bits - CPU features */
> > +#define FF_MM_MMX 0x0001 ///< standard MMX
> > +#define FF_MM_3DNOW 0x0004 ///< AMD 3DNOW
> > +#define FF_MM_MMX2 0x0002 ///< SSE integer functions or AMD MMX ext
> > +#define FF_MM_SSE 0x0008 ///< SSE functions
> > +#define FF_MM_SSE2 0x0010 ///< PIV SSE2 functions
> > +#define FF_MM_3DNOWEXT 0x0020 ///< AMD 3DNowExt
> > +#define FF_MM_SSE3 0x0040 ///< Prescott SSE3 functions
> > +#define FF_MM_SSSE3 0x0080 ///< Conroe SSSE3 functions
> > +#define FF_MM_SSE4 0x0100 ///< Penryn SSE4.1 functions
> > +#define FF_MM_SSE42 0x0200 ///< Nehalem SSE4.2 functions
> > +#define FF_MM_IWMMXT 0x0100 ///< XScale IWMMXT
> > +#define FF_MM_ALTIVEC 0x0001 ///< standard AltiVec
> > +
> > +/* should be defined by architectures supporting
> > + one or more MultiMedia extension */
> > +int mm_support(void);
>
> you arent moving mm_support() to libavutil just the declaration from the
> header?
>
> yadif itself should be ok if tested
Updated against the av_get_cpu_flags() patch.
Still missing documentation (Baptiste feel free to continue to work on
this, I don't even know how did you test it).
Regards.
--
FFmpeg = Friendly & Formidable Meaningful Problematic Elfic Gadget
More information about the ffmpeg-devel
mailing list