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

Baptiste Coudurier baptiste.coudurier
Fri Jun 11 12:08:00 CEST 2010


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.

-- 
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org



More information about the ffmpeg-devel mailing list