r2702 - in trunk: BOOK/introduction/welcome BOOK/multimedia/videoutils patches

randy at linuxfromscratch.org randy at linuxfromscratch.org
Wed Sep 1 16:33:56 PDT 2004


Author: randy
Date: 2004-09-01 17:33:54 -0600 (Wed, 01 Sep 2004)
New Revision: 2702

Added:
   trunk/patches/avifile-0.7.38-freetype_fix-1.patch
   trunk/patches/avifile-0.7.38-gcc34-1.patch
   trunk/patches/avifile-0.7.38-gcc34_ffmpeg-1.patch
Modified:
   trunk/BOOK/introduction/welcome/changelog.xml
   trunk/BOOK/multimedia/videoutils/avifile.xml
Log:
Added patches (fixes build problems) and optional dependencies to Avifile

Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml	2004-09-01 16:10:18 UTC (rev 2701)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2004-09-01 23:33:54 UTC (rev 2702)
@@ -22,6 +22,9 @@
 
 <itemizedlist>
 
+<listitem><para>September 1st, 2004 [randy]: Added patches (fixes build
+problems) and optional dependencies to Avifile</para></listitem>
+
 <listitem><para>September 1st, 2004 [randy]: Added sed command to 
 fix an LFS-6.0 build problem, modified existing sed commands to 
 in-place edits, added optional dependencies, enabled building 

Modified: trunk/BOOK/multimedia/videoutils/avifile.xml
===================================================================
--- trunk/BOOK/multimedia/videoutils/avifile.xml	2004-09-01 16:10:18 UTC (rev 2701)
+++ trunk/BOOK/multimedia/videoutils/avifile.xml	2004-09-01 23:33:54 UTC (rev 2702)
@@ -5,9 +5,13 @@
  
   <!ENTITY avifile-download-http "http://prdownloads.sourceforge.net/avifile/avifile-0.7-&avifile-version;.tar.gz">
   <!ENTITY avifile-download-ftp  " ">
-  <!ENTITY avifile-size          "2.8 MB">
-  <!ENTITY avifile-buildsize     "46.0 MB">
-  <!ENTITY avifile-time          "4.28 SBU">
+  <!ENTITY avifile-size          "2.9 MB">
+  <!ENTITY avifile-buildsize     "51 MB">
+  <!ENTITY avifile-time          "2.85 SBU">
+  <!ENTITY codec-download        "http://prdownloads.sourceforge.net/avifile/binaries-011002.tgz">
+  <!ENTITY codec-size            "4.4 MB">
+  <!ENTITY codec-buildsize       "13 MB">
+  <!ENTITY codec-time            "0.01 SBU">
 ]>
 
 <sect1 id="avifile" xreflabel="Avifile-&avifile-version;">
@@ -22,32 +26,65 @@
 <title>Introduction to <application>Avifile</application></title>
 
 <para>The <application>Avifile</application> package contains an
-<acronym>AVI</acronym> video file player, tools and
-support libraries. This is useful for viewing and editing
-<acronym>AVI</acronym> files.</para>
+<acronym>AVI</acronym> video file player, tools and support libraries. This is 
+useful for viewing and editing <acronym>AVI</acronym> files.</para>
 
 <sect3><title>Package information</title>
 <itemizedlist spacing='compact'>
-<listitem><para>Download (HTTP): <ulink url="&avifile-download-http;"/></para></listitem>
-<listitem><para>Download (FTP): <ulink url="&avifile-download-ftp;"/></para></listitem>
-<listitem><para>Download size: &avifile-size;</para></listitem>
-<listitem><para>Estimated Disk space required: &avifile-buildsize;</para></listitem>
-<listitem><para>Estimated build time: &avifile-time;</para></listitem></itemizedlist>
+<listitem><para>Download (HTTP): 
+<ulink url="&avifile-download-http;"/></para></listitem>
+<listitem><para>Download (FTP): 
+<ulink url="&avifile-download-ftp;"/></para></listitem>
+<listitem><para>Download size: 
+&avifile-size;</para></listitem>
+<listitem><para>Estimated Disk space required: 
+&avifile-buildsize;</para></listitem>
+<listitem><para>Estimated build time: 
+&avifile-time;</para></listitem></itemizedlist>
 </sect3>
 
 <sect3><title>Additional downloads</title>
+<para><emphasis>CODECs</emphasis></para>
 <itemizedlist spacing='compact'>
-<listitem><para>Required <acronym>CODEC</acronym>s: <ulink
-url="http://prdownloads.sourceforge.net/avifile/binaries-011002.tgz"/></para></listitem>
-</itemizedlist></sect3>
+<listitem><para>Required <acronym>CODEC</acronym>s: 
+<ulink url="&codec-download;"/></para></listitem>
+<listitem><para>Download size: 
+&codec-size;</para></listitem>
+<listitem><para>Estimated Disk space required: 
+&codec-buildsize;</para></listitem>
+<listitem><para>Estimated build time: 
+&codec-time;</para></listitem>
+</itemizedlist>
 
+<para><emphasis>Patches</emphasis></para>
+<itemizedlist spacing='compact'>
+<listitem><para>Required Patch (if compiled using 
+<application><acronym>GCC</acronym></application>-3.4.x): <ulink 
+url="&patch-root;/avifile-&avifile-version;-gcc34-1.patch"/></para>
+</listitem>
+<listitem><para>Required Patch (if 
+<application>FFmpeg</application> is installed): <ulink 
+url="&patch-root;/avifile-&avifile-version;-gcc34_ffmpeg-1.patch"/></para>
+</listitem>
+<listitem><para>Required Patch: <ulink 
+url="&patch-root;/avifile-&avifile-version;-freetype_fix-1.patch"/></para>
+</listitem></itemizedlist>
+</sect3>
+
 <sect3><title><application>Avifile</application> dependencies</title>
 <sect4><title>Required</title>
-<para><xref linkend="qt"/> and <xref linkend="SDL"/></para></sect4>
+<para><xref linkend="qt"/> and <xref linkend="SDL"/></para>
+</sect4>
+
 <sect4><title>Optional</title>
-<para><xref linkend="ffmpeg"/>, <xref linkend="xvid"/>, <xref
-linkend="libmad"/>, <xref linkend="libvorbis"/> and <xref
-linkend="lame"/></para></sect4>
+<para><xref linkend="pkgconfig"/>, <xref linkend="libjpeg"/>, 
+<xref linkend="libogg"/>, <xref linkend="liba52"/>, 
+<xref linkend="ffmpeg"/>, <xref linkend="lame"/>, 
+<xref linkend="libmad"/>, <xref linkend="libvorbis"/>, 
+<xref linkend="xvid"/> (plugin currently broken), 
+<ulink url="http://www.audiocoding.com/modules/mydownloads/">FAAD</ulink> and 
+<ulink url="http://dmalloc.com/">Dmalloc</ulink></para>
+</sect4>
 </sect3>
 
 </sect2>
@@ -57,7 +94,11 @@
 
 <para>Install <application>Avifile</application> by running the 
 following commands:</para>
-<screen><userinput><command>install -d /usr/lib/avifile-0.7/win32 &&
+
+<screen><userinput><command>patch -Np1 -i ../avifile-&avifile-version;-gcc34-1.patch &&
+patch -Np1 -i ../avifile-&avifile-version;-gcc34_ffmpeg-1.patch &&
+patch -Np1 -i ../avifile-&avifile-version;-freetype_fix-1.patch &&
+install -d /usr/lib/avifile-0.7/win32 &&
 tar xzvf ../binaries-011002.tgz -C /usr/lib/avifile-0.7 &&
 ./autogen.sh &&
 ./configure &&
@@ -77,7 +118,7 @@
 make maintainer-clean && ./autogen.sh</command>: The 
 author of this package used the old autoconf which leads to
 problems like configure not being able to detect some libraries and compilation
-errors. We fix this by rebuilding the configuration scripts.
+errors. This is fixed by rebuilding the configuration scripts.
 </para>
 
 </sect2>
@@ -86,11 +127,12 @@
 <title>Contents</title>
 
 <para>The <application>Avifile</application> package contains 
-<command>aviplay</command>, <command>avibench</command>, <command>
-avifile-config</command>, <command>mmxnow-config</command>, <command>
-avirecompress</command>, <command>avicap</command>, <command>avirec</command>, 
-<command>kv4lsetup</command>, <command>avicat</command>,
-<command>avitype</command> and <command>avimake</command>.</para>
+<command>aviplay</command>, <command>avibench</command>, 
+<command>avifile-config</command>, <command>mmxnow-config</command>, 
+<command>avirecompress</command>, <command>avicap</command>, 
+<command>avirec</command>, <command>kv4lsetup</command>, 
+<command>avicat</command>, <command>avitype</command> and 
+<command>avimake</command>.</para>
 
 </sect2>
 
@@ -98,41 +140,42 @@
 
 <sect3><title>aviplay</title>
 <para><command>aviplay</command> manages the input formats, the
-<acronym>CODEC</acronym>s and the 
-output formats to display <acronym>AVI</acronym> video files on your screen.
-</para></sect3>
+<acronym>CODEC</acronym>s and the output formats to display 
+<acronym>AVI</acronym> video files on your screen.</para></sect3>
 
 <sect3><title>avibench</title>
-<para><command>avibench</command> performs a measurement of the <application>
-AVI file support</application> library's performance for a file.</para></sect3>
+<para><command>avibench</command> performs a measurement of the 
+<application><acronym>AVI</acronym> file support</application> 
+library's performance for a file.</para></sect3>
 
 <sect3><title>avifile-config</title>
-<para><command>avifile-config</command> is run by configure for programs 
-wishing to link to the  <application>Avifile</application> library.
-</para></sect3>
+<para><command>avifile-config</command> is run by 
+<command>configure</command> for programs wishing to link to the  
+<application>Avifile</application> library.</para></sect3>
 
 <sect3><title>mmxnow-config</title>
-<para><command>mmxnow-config</command> is run by configure for programs wishing 
-to link to the mmxnow library.</para></sect3>
+<para><command>mmxnow-config</command> is run by 
+<command>configure</command> for programs wishing to link to the 
+mmxnow library.</para></sect3>
 
 <sect3><title>avirecompress</title>
 <para><command>avirecompress</command> is a widget that takes an input file of 
 one <acronym>CODEC</acronym> type and converts it into a video file of
-another <acronym>CODEC</acronym>.</para>
-</sect3>
+another <acronym>CODEC</acronym>.</para></sect3>
 
 <sect3><title>avicap</title>
 <para><command>avicap</command> is a widget that displays acquired video from a 
-Video For Windows (vfw) compatible device, like a webcam or a TV-tuner.</para>
-</sect3>
+Video For Windows (<acronym>VFW</acronym>) compatible device, like a webcam or 
+a TV-tuner.</para></sect3>
 
 <sect3><title>avirec</title>
-<para><command>avirec</command> is a command-line video recording tool.</para>
-</sect3>
+<para><command>avirec</command> is a command-line video recording 
+tool.</para></sect3>
 
 <sect3><title>kv4lsetup</title>
-<para><command>kv4lsetup</command> is a small tool which tells video4linux 
-about the current video mode.</para></sect3>
+<para><command>kv4lsetup</command> is a small tool which tells 
+<application>video4linux</application> about the current video 
+mode.</para></sect3>
 
 <sect3><title>avicat</title>
 <para><command>avicat</command> takes a set of <acronym>AVI</acronym> files and 

Added: trunk/patches/avifile-0.7.38-freetype_fix-1.patch
===================================================================
--- trunk/patches/avifile-0.7.38-freetype_fix-1.patch	2004-09-01 16:10:18 UTC (rev 2701)
+++ trunk/patches/avifile-0.7.38-freetype_fix-1.patch	2004-09-01 23:33:54 UTC (rev 2702)
@@ -0,0 +1,23 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2004-09-01
+Initial Package Version: 0.7.38
+Upstream Status:         Not submitted 
+Origin:                  Self-created
+Description:             Fixes build problem with FreeType version >2.15
+
+$LastChangedBy$
+$Date$
+
+diff -Naur avifile-0.7-0.7.38-orig/lib/video/sub_ft.cpp avifile-0.7-0.7.38/lib/video/sub_ft.cpp
+--- avifile-0.7-0.7.38-orig/lib/video/sub_ft.cpp	2002-11-01 11:08:06.000000000 +0000
++++ avifile-0.7-0.7.38/lib/video/sub_ft.cpp	2004-09-01 18:35:14.428759536 +0000
+@@ -6,6 +6,9 @@
+ 
+ #ifdef HAVE_LIBFREETYPE
+ 
++#include <ft2build.h>
++#include FT_FREETYPE_H
++
+ #include <freetype/freetype.h>
+ 
+ #if (FREETYPE_MAJOR > 2) || (FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 1)


Property changes on: trunk/patches/avifile-0.7.38-freetype_fix-1.patch
___________________________________________________________________
Name: svn:keywords
   + LastChangedBy Date

Added: trunk/patches/avifile-0.7.38-gcc34-1.patch
===================================================================
--- trunk/patches/avifile-0.7.38-gcc34-1.patch	2004-09-01 16:10:18 UTC (rev 2701)
+++ trunk/patches/avifile-0.7.38-gcc34-1.patch	2004-09-01 23:33:54 UTC (rev 2702)
@@ -0,0 +1,182 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2004-09-01
+Initial Package Version: 0.7.38
+Upstream Status:         Not submitted
+Origin:                  http://ftp.belnet.be/linux/gentoo-portage/media-video/avifile/files/avifile-gcc34.patch
+Description:             Fixes GCC-3.4.x related build problems
+
+$LastChangedBy$
+$Date$
+
+diff -urd avifile-0.7-0.7.38.old/include/aviplay.h avifile-0.7-0.7.38/include/aviplay.h
+--- avifile-0.7-0.7.38.old/include/aviplay.h	2003-05-24 18:51:30.000000000 -0400
++++ avifile-0.7-0.7.38/include/aviplay.h	2004-04-28 14:08:02.520535288 -0400
+@@ -12,8 +12,8 @@
+ #include "image.h"
+ #include "avm_args.h"
+ 
+-typedef void (*KILLHANDLER)(int, void* p = 0);
+-typedef int (*AUDIOFUNC)(void* srcdata, unsigned int size, void* p = 0);
++typedef void (*KILLHANDLER)(int, void* p);
++typedef int (*AUDIOFUNC)(void* srcdata, unsigned int size, void* p);
+ 
+ AVM_BEGIN_NAMESPACE;
+ 
+diff -urd avifile-0.7-0.7.38.old/include/avm_map.h avifile-0.7-0.7.38/include/avm_map.h
+--- avifile-0.7-0.7.38.old/include/avm_map.h	2003-03-26 20:01:22.000000000 -0500
++++ avifile-0.7-0.7.38/include/avm_map.h	2004-04-28 14:08:29.592419736 -0400
+@@ -198,7 +198,8 @@
+ {
+     // cast to the needed type - used to prevent internal compiler error
+     // for old egcc
+-    avm_map<Key, Value, Compare, Equal>::_Tnode* node = (avm_map<Key, Value, Compare, Equal>::_Tnode*) n;
++    //avm_map<Key, Value, Compare, Equal>::_Tnode* node = (avm_map<Key, Value, Compare, Equal>::_Tnode*) n;
++    _Tnode* node = (_Tnode*) n;
+ 
+     if(node->entry)
+     {
+diff -urd avifile-0.7-0.7.38.old/include/avm_stl.h avifile-0.7-0.7.38/include/avm_stl.h
+--- avifile-0.7-0.7.38.old/include/avm_stl.h	2003-06-08 11:57:05.000000000 -0400
++++ avifile-0.7-0.7.38/include/avm_stl.h	2004-04-28 14:08:24.074258624 -0400
+@@ -74,6 +74,10 @@
+ 	m_Type = new Type[m_uiCapacity];
+     }
+     ~qring() { delete[] m_Type; }
++    qring<Type>(const qring<Type>& t) : m_Type(0)
++    {
++	operator=(t);
++    }
+     qring<Type>& operator=(const qring<Type>& t)
+     {
+ 	if (this != &t)
+@@ -149,7 +153,6 @@
+ 
+     // disabled for now
+     qring<Type>() {}
+-    qring<Type>(const qring<Type>& t) {}
+ 
+     uint_t bpos() const { return (m_uiPos > 0) ? m_uiPos - 1 : m_uiCapacity - 1; }
+     uint_t fpos() const { return (m_uiSize > m_uiPos) ? m_uiPos + m_uiCapacity - m_uiSize: m_uiPos - m_uiSize; }
+@@ -167,9 +170,21 @@
+     static const uint_t invalid=(uint_t)(~0);
+     typedef Type* iterator;
+     typedef const Type* const_iterator;
+-    vector<Type>(int prealloc = 0);
++    vector<Type>()
++	:m_Type(0), m_uiCapacity(0), m_uiSize(0)
++    {
++    }
++
++    vector<Type>(int prealloc)
++	:m_Type(0), m_uiCapacity(prealloc), m_uiSize(prealloc)
++    {
++	if (m_uiCapacity > 0 )
++	    m_Type = new Type[m_uiCapacity];
++	//printf("vector %p   (%d)\n", this, m_uiSize);
++    }
++
+     // we will not count references - we have to program with this in mind!
+-    vector<Type>(const vector<Type>& t) :m_Type(0), m_uiCapacity(0), m_uiSize(0)
++    vector<Type>(const vector<Type>& t) :m_Type(0)
+     {
+ 	operator=(t);
+     }
+@@ -272,15 +287,6 @@
+ };
+ 
+ template <class Type>
+-vector<Type>::vector<Type>(int prealloc)
+-    :m_Type(0), m_uiCapacity(prealloc), m_uiSize(prealloc)
+-{
+-    if (m_uiCapacity > 0 )
+-	m_Type = new Type[m_uiCapacity];
+-    //printf("vector %p   (%d)\n", this, m_uiSize);
+-}
+-
+-template <class Type>
+ void vector<Type>::remove(const Type& t)
+ {
+     int d = 0;
+diff -urd avifile-0.7-0.7.38.old/lib/aviread/AsfNetworkInputStream.cpp avifile-0.7-0.7.38/lib/aviread/AsfNetworkInputStream.cpp
+--- avifile-0.7-0.7.38.old/lib/aviread/AsfNetworkInputStream.cpp	2003-05-27 11:26:31.000000000 -0400
++++ avifile-0.7-0.7.38/lib/aviread/AsfNetworkInputStream.cpp	2004-04-28 14:08:13.148919528 -0400
+@@ -793,22 +793,24 @@
+     return -1;
+ }
+ 
+-int AsfNetworkInputStream::write(const void* buffer, uint_t size)
++int AsfNetworkInputStream::write(const void* b, uint_t size)
+ {
++    const char* buffer = (const char*) b;
+     int wsize = size;
+     while (wsize > 0)
+     {
+ 	int i = ::write(m_iSocket, buffer, wsize);
+ 	if (i <= 0)
+             return i;
+-	(const char*)buffer += i;
++	buffer += i;
+         wsize -= i;
+     }
+     return size;
+ }
+ 
+-int AsfNetworkInputStream::dwrite(const void* buffer, uint_t size)
++int AsfNetworkInputStream::dwrite(const void* b, uint_t size)
+ {
++    const char* buffer = (const char*) b;
+     if (m_lfd < 0)
+     {
+ 	if (m_lfd == -12345)
+@@ -843,7 +845,7 @@
+ 	int i = ::write(m_lfd, buffer, size);
+ 	if (i < 0)
+             return i;
+-	(const char*)buffer += i;
++	buffer += i;
+ 	size -= i;
+     }
+     fsync(m_lfd);
+Only in avifile-0.7-0.7.38/lib/aviread: AsfNetworkInputStream.cpp.orig
+diff -urd avifile-0.7-0.7.38.old/lib/common/image.cpp avifile-0.7-0.7.38/lib/common/image.cpp
+--- avifile-0.7-0.7.38.old/lib/common/image.cpp	2003-05-24 19:00:58.000000000 -0400
++++ avifile-0.7-0.7.38/lib/common/image.cpp	2004-04-28 14:09:07.337681584 -0400
+@@ -954,7 +954,7 @@
+     fillMembers();
+     if (!copy)
+     {
+-	(const uint8_t*) m_pPlane[0] = data;
++	m_pPlane[0] = (uint8_t*) data;
+     }
+     else
+     {
+diff -urd avifile-0.7-0.7.38.old/plugins/libvorbis/libvorbis.cpp avifile-0.7-0.7.38/plugins/libvorbis/libvorbis.cpp
+--- avifile-0.7-0.7.38.old/plugins/libvorbis/libvorbis.cpp	2003-05-20 10:33:13.000000000 -0400
++++ avifile-0.7-0.7.38/plugins/libvorbis/libvorbis.cpp	2004-04-28 14:08:38.700035168 -0400
+@@ -96,7 +96,7 @@
+ 	op.packet = NULL;
+ 	op.b_o_s  = 1; /* beginning of stream for first packet */
+ 	op.bytes  = hdrsizes[0];
+-	(const void*) op.packet = vorbishdr;
++	op.packet = (unsigned char*) vorbishdr;
+ 	vorbishdr += op.bytes;
+ 	if (vorbis_synthesis_headerin(&vi, &vc, &op) < 0)
+ 	{
+@@ -106,7 +106,7 @@
+ 
+ 	op.b_o_s  = 0;
+ 	op.bytes  = hdrsizes[1];
+-	(const void*) op.packet = vorbishdr;
++	op.packet = (unsigned char*) vorbishdr;
+ 	vorbishdr += op.bytes;
+ 	if (vorbis_synthesis_headerin(&vi, &vc, &op) < 0)
+ 	{
+@@ -115,7 +115,7 @@
+ 	}
+ 
+ 	op.bytes  = hdrsizes[2];
+-	(const void*) op.packet = vorbishdr;
++	op.packet = (unsigned char*) vorbishdr;
+ 	vorbishdr += op.bytes;
+ 	if (vorbis_synthesis_headerin(&vi, &vc, &op) < 0)
+ 	{


Property changes on: trunk/patches/avifile-0.7.38-gcc34-1.patch
___________________________________________________________________
Name: svn:keywords
   + LastChangedBy Date

Added: trunk/patches/avifile-0.7.38-gcc34_ffmpeg-1.patch
===================================================================
--- trunk/patches/avifile-0.7.38-gcc34_ffmpeg-1.patch	2004-09-01 16:10:18 UTC (rev 2701)
+++ trunk/patches/avifile-0.7.38-gcc34_ffmpeg-1.patch	2004-09-01 23:33:54 UTC (rev 2702)
@@ -0,0 +1,95 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2004-09-01
+Initial Package Version: 0.7.38
+Upstream Status:         Not submitted
+Origin:                  Self-created
+Description:             Fixes GCC-3.4.x related build problems with FFmpeg plugin
+
+$LastChangedBy$
+$Date$
+
+diff -Naur avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/liba52/resample_mmx.c avifile-0.7-0.7.38/ffmpeg/libavcodec/liba52/resample_mmx.c
+--- avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/liba52/resample_mmx.c	2003-04-16 20:03:07.000000000 +0000
++++ avifile-0.7-0.7.38/ffmpeg/libavcodec/liba52/resample_mmx.c	2004-09-01 19:24:55.421579744 +0000
+@@ -7,10 +7,10 @@
+ 	and it would mean (C / MMX2 / MMX / 3DNOW) versions 
+ */
+ 
+-static uint64_t __attribute__((aligned(8))) magicF2W= 0x43c0000043c00000LL;
+-static uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000LL;
+-static uint64_t __attribute__((aligned(8))) wm0101= 0x0000FFFF0000FFFFLL;
+-static uint64_t __attribute__((aligned(8))) wm1100= 0xFFFFFFFF00000000LL;
++const uint64_t __attribute__((aligned(8))) magicF2W= 0x43c0000043c00000LL;
++const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000LL;
++const uint64_t __attribute__((aligned(8))) wm0101= 0x0000FFFF0000FFFFLL;
++const uint64_t __attribute__((aligned(8))) wm1100= 0xFFFFFFFF00000000LL;
+ 
+ static int a52_resample_MONO_to_5_MMX(float * _f, int16_t * s16){
+     int32_t * f = (int32_t *) _f;
+
+diff -Naur avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/motion_est_mmx.c avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/motion_est_mmx.c
+--- avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/motion_est_mmx.c	2003-03-03 17:07:35.000000000 +0000
++++ avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/motion_est_mmx.c	2004-09-01 19:34:08.637478144 +0000
+@@ -20,13 +20,13 @@
+  */
+ #include "../dsputil.h"
+ 
+-static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={
++const __attribute__ ((aligned(8))) uint64_t round_tab[3]={
+ 0x0000000000000000,
+ 0x0001000100010001,
+ 0x0002000200020002,
+ };
+ 
+-static __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL;
++const __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL;
+ 
+ static inline void sad8_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h)
+ {
+
+diff -Naur avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/dsputil_mmx.c avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/dsputil_mmx.c
+--- avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/dsputil_mmx.c	2003-06-23 18:52:34.000000000 +0000
++++ avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/dsputil_mmx.c	2004-09-01 19:20:28.653134712 +0000
+@@ -25,14 +25,14 @@
+ int mm_flags; /* multimedia extension flags */
+ 
+ /* pixel operations */
+-static const uint64_t mm_bone __attribute__ ((aligned(8))) = 0x0101010101010101ULL;
+-static const uint64_t mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL;
+-static const uint64_t mm_wtwo __attribute__ ((aligned(8))) = 0x0002000200020002ULL;
+-
+-static const uint64_t ff_pw_20 __attribute__ ((aligned(8))) = 0x0014001400140014ULL;
+-static const uint64_t ff_pw_3  __attribute__ ((aligned(8))) = 0x0003000300030003ULL;
+-static const uint64_t ff_pw_16 __attribute__ ((aligned(8))) = 0x0010001000100010ULL;
+-static const uint64_t ff_pw_15 __attribute__ ((aligned(8))) = 0x000F000F000F000FULL;
++const uint64_t mm_bone __attribute__ ((aligned(8))) = 0x0101010101010101ULL;
++const uint64_t mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL;
++const uint64_t mm_wtwo __attribute__ ((aligned(8))) = 0x0002000200020002ULL;
++
++const uint64_t ff_pw_20 __attribute__ ((aligned(8))) = 0x0014001400140014ULL;
++const uint64_t ff_pw_3  __attribute__ ((aligned(8))) = 0x0003000300030003ULL;
++const uint64_t ff_pw_16 __attribute__ ((aligned(8))) = 0x0010001000100010ULL;
++const uint64_t ff_pw_15 __attribute__ ((aligned(8))) = 0x000F000F000F000FULL;
+ 
+ #define JUMPALIGN() __asm __volatile (".balign 8"::)
+ #define MOVQ_ZERO(regd)  __asm __volatile ("pxor %%" #regd ", %%" #regd ::)
+
+diff -Naur avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/simple_idct_mmx.c
+--- avifile-0.7-0.7.38-orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c	2003-02-14 13:58:00.000000000 +0000
++++ avifile-0.7-0.7.38/ffmpeg/libavcodec/i386/simple_idct_mmx.c	2004-09-01 19:43:30.809015080 +0000
+@@ -45,10 +45,10 @@
+ #define ROW_SHIFT 11
+ #define COL_SHIFT 20 // 6
+ 
+-static const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL;
+-static const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL;
+-static int16_t __attribute__((aligned(8))) temp[64];
+-static int16_t __attribute__((aligned(8))) coeffs[]= {
++static uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL;
++const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL;
++const int16_t __attribute__((aligned(8))) temp[64];
++const int16_t __attribute__((aligned(8))) coeffs[]= {
+ 	1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,
+ //	1<<(COL_SHIFT-1), 0, 1<<(COL_SHIFT-1), 0,
+ //	0, 1<<(COL_SHIFT-1-16), 0, 1<<(COL_SHIFT-1-16),
+


Property changes on: trunk/patches/avifile-0.7.38-gcc34_ffmpeg-1.patch
___________________________________________________________________
Name: svn:keywords
   + LastChangedBy Date




More information about the blfs-book mailing list