[FFmpeg-devel] [PATCH] yadif port to libavfitler

Michael Niedermayer michaelni
Sun Jun 13 09:19:55 CEST 2010


On Fri, Jun 11, 2010 at 03:08:00AM -0700, Baptiste Coudurier wrote:
> On 6/10/10 3:34 AM, Michael Niedermayer wrote:
>> 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?
>
> I think I just forgot to include the diff. It's just cpuid.c moved from 
> libavcodec/x86 to libavutil, like the avutil Makefile diff shows.

the public function needs a av_ prefix 

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

Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- 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/20100613/9ce3eed9/attachment.pgp>



More information about the ffmpeg-devel mailing list