mythtv: removed old versions
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>
Wed, 24 Feb 2010 19:56:05 +0000 (20:56 +0100)
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>
Thu, 25 Feb 2010 19:36:17 +0000 (20:36 +0100)
removed old and very old versions after verifying that no one has pinned one of these versions
also removed the checksums for the removed files (including a few for versions that were renamed before)

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
conf/checksums.ini
recipes/mythtv/mythtv-0.18.1/msmpeg-underscore-pic.patch [deleted file]
recipes/mythtv/mythtv-0.20/configure.patch [deleted file]
recipes/mythtv/mythtv-0.20/libmyth-libdir.patch [deleted file]
recipes/mythtv/mythtv-0.21/configure.patch [deleted file]
recipes/mythtv/mythtv-0.21/ffmpeg-arm-update.diff [deleted file]
recipes/mythtv/mythtv-0.21/no-cortex-deadlock.patch [deleted file]
recipes/mythtv/mythtv_0.18.1.bb [deleted file]
recipes/mythtv/mythtv_0.20.bb [deleted file]
recipes/mythtv/mythtv_0.21.bb [deleted file]

index 498e050..8761416 100644 (file)
@@ -19794,46 +19794,14 @@ sha256=2b0737b84e7b42c9e54c9658d23bfaee1189cd5955f26b10bdb862761d0f0432
 md5=09c8fa1058399a0c5db169a71561e985
 sha256=75c53f4b3017a9a8fcb9ff3bf7e2709a41a579b8a4e2ae1c600dc6ce6341cd31
 
-[ftp://ftp.osuosl.org/pub/mythtv/mythplugins-0.22rc1.tar.bz2]
-md5=1c03d3f4ccedcd9de1c0ac2226e0031c
-sha256=f62969cd61dc9718973708b79f5e86f653f630097f5ad14f90d78fcff677c0da
-
-[ftp://ftp.osuosl.org/pub/mythtv/mythplugins-0.22rc2.tar.bz2]
-md5=de15246c1f59665f3960015c49138da3
-sha256=73dff22a4622f2140b49ee824f1f69d6120135d828bc38f6877a619986c99245
-
 [ftp://ftp.osuosl.org/pub/mythtv/myththemes-0.22.tar.bz2]
 md5=a5f00f152fb430a20c70aaa3bf456347
 sha256=6720a16a0bdfb9bfb95bd729b50d95f75f8494b932a7dc44ad4014f06ecd36c2
 
-[ftp://ftp.osuosl.org/pub/mythtv/myththemes-0.22rc2.tar.bz2]
-md5=7d629aa8c0f1c8cdc11310b09a929626
-sha256=39494a9c05c47b9a28c6168211a5987a8386929a3210e637ed6191e3554ee9f6
-
-[http://www.mythtv.org/mc/mythtv-0.18.1.tar.bz2]
-md5=e6cabf88feeaf6ae8f830d3fdf7b113d
-sha256=86c9cf038d5d8a3fdf137ff735b55820281543a4a08e86cfad81a113a7b9a1d2
-
-[http://www.mythtv.org/mc/mythtv-0.20.tar.bz2]
-md5=52bec1e0fadf7d24d6dcac3f773ddf74
-sha256=777ff60afa89426f0e52e49b0e7a7661ddb45b59d2ebbfdcbe07fd179e526ff3
-
-[http://www.mythtv.org/mc/mythtv-0.21.tar.bz2]
-md5=49fc135e1cde90cd935c1229467fa37e
-sha256=33a878a8fc3efdd74519b09b4ec3d16fa9d3a0436b321c13344e5f3ab723c5e4
-
 [ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22.tar.bz2]
 md5=e8f8b5b6a51cd7be700e215b2a1bf2c0
 sha256=bb7212bac2cfc792c59a15a80caee8bbf469e250e6f48dc6b0856a60cb07b6fb
 
-[ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22rc1.tar.bz2]
-md5=049e93d78d5370351539c9a23b47e1af
-sha256=8e6823f4b92d88c837735322ca71199919406a2826bddae257c6e0f52d089cd7
-
-[ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22rc2.tar.bz2]
-md5=1e4be634b137e5b944c94b418d8c3791
-sha256=5cba470ccd60fec00be2bf7ef231f104dcea8275698fe70f5df398dbe2fe19fd
-
 [http://kldp.net/frs/download.php/3742/nabi-0.17.tar.gz]
 md5=8746890ea666ac1b7ae6db77993c6592
 sha256=1a239a7bb0644441ca781459fbf5a1c5fb95e823351bf308aa680eb60cc45b94
diff --git a/recipes/mythtv/mythtv-0.18.1/msmpeg-underscore-pic.patch b/recipes/mythtv/mythtv-0.18.1/msmpeg-underscore-pic.patch
deleted file mode 100644 (file)
index a73ca99..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
---- mythtv-0.18.1/libs/libavcodec/msmpeg4.c.old        2005-06-03 21:31:43.000000000 +0100
-+++ mythtv-0.18.1/libs/libavcodec/msmpeg4.c    2005-06-03 21:31:51.000000000 +0100
-@@ -723,7 +723,7 @@
-        necessitate to modify mpegvideo.c. The problem comes from the
-        fact they decided to store the quantized DC (which would lead
-        to problems if Q could vary !) */
--#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && !defined PIC
-+#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && !defined __PIC__
-     asm volatile(
-         "movl %3, %%eax               \n\t"
-       "shrl $1, %%eax         \n\t"
---- mythtv-0.18.1/libs/libavcodec/i386/dsputil_mmx_avg.h.old   2005-06-03 21:38:57.000000000 +0100
-+++ mythtv-0.18.1/libs/libavcodec/i386/dsputil_mmx_avg.h       2005-06-03 21:39:02.000000000 +0100
-@@ -90,7 +90,7 @@
-       "add    $16, %2                 \n\t"
-       "subl   $4, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -137,7 +137,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $4, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -207,7 +207,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $4, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -262,7 +262,7 @@
-       "add    $16, %2                 \n\t"
-       "subl   $4, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -314,7 +314,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $4, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -402,7 +402,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $2, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -456,7 +456,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $2, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
-@@ -529,7 +529,7 @@
-       "add    $32, %2                 \n\t"
-       "subl   $2, %0                  \n\t"
-       "jnz    1b                      \n\t"
--#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-+#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
-       :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
- #else
-       :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
diff --git a/recipes/mythtv/mythtv-0.20/configure.patch b/recipes/mythtv/mythtv-0.20/configure.patch
deleted file mode 100644 (file)
index 03281eb..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
---- mythtv-0.20/configure      2006-08-28 17:18:08.000000000 +0100
-+++ mythtv-0.20/configure      2007-01-16 14:42:18.000000000 +0000
-@@ -1225,49 +1225,50 @@
- has_library()
- {
--    if test -f /etc/ld.so.conf ; then
--        LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
-+    lib=`echo $1 | sed 's/^lib//'`
-+    tmpfile=/tmp/conftest.$$
-+    rm -f $tmpfile $tmpfile.c
-+    cat >$tmpfile.c <<EOF
-+int main() { return 0; }
-+EOF
-+    echo "cc=$cc $LDFLAGS"
-+    echo -n "checking for lib$lib... "
-+    if $cc $LDFLAGS -o $tmpfile $tmpfile.c -l$lib; then
-+      echo "yes"
-+      result=0
-     else
--        LIBPATHS=''
-+      echo "no"
-+      result=1
-     fi
--    LIBPATHS="$LIBPATHS `echo $LD_LIBRARY_PATH | sed s/':'/' '/g` "
--    # Mac OS X has a different variable for this:
--    LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
--
--    # recurse down just one level, should be enough in most cases
--    if test -f /etc/ld.so.conf ; then
--        INCL=`cat /etc/ld.so.conf | grep -v "#" | grep  "^include"`
--        SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
--        for x in $SRCH ; do
--            LP_APPEND=`cat $x | grep -v "#" | grep -v "^include"`
--            LIBPATHS="$LIBPATHS $LP_APPEND"
--        done
--    fi
--
--    LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
--
--    HAS_IT="no"
--    for LIBPATH in $LIBPATHS ; do
--        if test x`ls $LIBPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
--            HAS_IT="yes"
--        fi
--    done
--    expr $HAS_IT : "yes" > /dev/null
-+    rm -f $tmpfile $tmpfile.c
-+    return $result
- }
- has_header()
- {
--    HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
--    INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
--    HPATHS="$HPATHS `echo $INCL | sed s/$libdir_name/include/g` "
--
--    HAS_IT="no"
--    for HPATH in $HPATHS ; do
--        if test x`ls $HPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
--            HAS_IT="yes"
--        fi
--    done
--    expr $HAS_IT : "yes" > /dev/null
-+    header=$1
-+    tmpfile=/tmp/conftest.$$
-+    rm -f $tmpfile.o $tmpfile.c
-+    case $header in
-+    X11/*) extra_incs="#include <X11/Xlib.h>" ;;
-+    *) extra_incs="" ;;
-+    esac
-+    cat >$tmpfile.c <<EOF
-+$extra_incs
-+#include <$header>
-+int main() { return 0; }
-+EOF
-+    echo "cc=$cc $CPPFLAGS $CFLAGS"
-+    echo -n "checking for <$header>... "
-+    if $cc $CPPFLAGS $CFLAGS -c -o $tmpfile.o $tmpfile.c; then
-+      echo "yes"
-+      result=0
-+    else
-+      echo "no"
-+      result=1
-+    fi
-+    rm -f $tmpfile.o $tmpfile.c
-+    return $result
- }
- CCONFIG="$CCONFIG $compile_type"
diff --git a/recipes/mythtv/mythtv-0.20/libmyth-libdir.patch b/recipes/mythtv/mythtv-0.20/libmyth-libdir.patch
deleted file mode 100644 (file)
index 0ecfddc..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- mythtv-0.20/libs/libmyth/libmyth.pro       2006-08-20 07:45:34.000000000 +0100
-+++ mythtv-0.20/libs/libmyth/libmyth.pro       2007-01-16 14:54:59.000000000 +0000
-@@ -33,6 +33,8 @@
- SOURCES += DisplayResScreen.cpp util-x11.cpp qmdcodec.cpp
- SOURCES += virtualkeyboard.cpp mythobservable.cpp mythsocket.cpp
-+DEFINES += LIBDIR=\"$${LIBDIR}\"
-+
- INCLUDEPATH += ../libmythsamplerate ../libmythsoundtouch ../.. ../
- DEPENDPATH += ../libmythsamplerate ../libmythsoundtouch ../ ../libmythui
diff --git a/recipes/mythtv/mythtv-0.21/configure.patch b/recipes/mythtv/mythtv-0.21/configure.patch
deleted file mode 100644 (file)
index 3b0b9a3..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
---- /tmp/configure     2008-06-30 08:40:35.000000000 +0200
-+++ mythtv/configure   2008-07-23 09:51:41.000000000 +0200
-@@ -475,12 +475,13 @@
- }
- check_cmd(){
--    log "$@"
-+      echo "Checking $@" 
-+      log "$@"
-     "$@" >>$logfile 2>&1
- }
- check_cc(){
--    log check_cc "$@"
-+      log check_cc "$@"
-     cat >$TMPC
-     log_file $TMPC
-     check_cmd $cc $CFLAGS $ECFLAGS $OPTFLAGS "$@" -c -o $TMPO $TMPC
-@@ -1115,11 +1116,11 @@
- fi
- # machine
--arch=`uname -m`
-+disabled cross_compile && arch=`uname -m`
- arch_raw="$arch"
- cpu="generic"
- cpu_override="no"
--processor=`uname -p 2>/dev/null`
-+disabled cross_compile && processor=`uname -p 2>/dev/null`
- processor_flags=""
- tune="generic"
-@@ -1183,7 +1184,7 @@
- lamemp3="yes"
- lirc="yes"
- mac_bundle="no"
--opengl="yes"
-+opengl="no"
- v4l="yes"
- x11="yes"
- x11_include_path="/usr/X11R6/include"
-@@ -1212,7 +1213,7 @@
- # build settings
- SHFLAGS='-shared -Wl,-soname,$@'
- VHOOKSHFLAGS='$(SHFLAGS)'
--LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
-+#LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
- FFSERVERLDFLAGS=-Wl,-E
- LDCONFIG="ldconfig"
- LIBPREF="lib"
-@@ -1707,7 +1708,7 @@
- has_library()
- {
--    if test -f /etc/ld.so.conf ; then
-+      if test -f /etc/ld.so.conf && disabled cross_compile ; then
-         LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
-     else
-         LIBPATHS=''
-@@ -1718,7 +1719,7 @@
-     LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
-     # recurse down just one level, should be enough in most cases
--    if test -f /etc/ld.so.conf ; then
-+    if test -f /etc/ld.so.conf && disabled cross_compile ; then
-         INCL=`cat /etc/ld.so.conf | grep -v "#" | grep  "^include"`
-         SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
-         for x in $SRCH ; do
-@@ -1727,9 +1728,9 @@
-         done
-     fi
--    LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
-+    enabled cross_compile || LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
--    HAS_IT="no"
-+    HAS_IT="yes"
-     for LIBPATH in $LIBPATHS ; do
-         if test x`ls $LIBPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
-             echo "$1  IS at $LIBPATH"
-@@ -1745,17 +1746,18 @@
- has_header()
- {
--    HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
-+    enabled cross_compile || HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
-     INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
-     HPATHS="$HPATHS "$(echo $INCL | sed "s/$libdir_name/include/g")
--    HAS_IT="no"
-+    HAS_IT="yes"
-     for HPATH in $HPATHS ; do
-         if test x`ls $HPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
-             HAS_IT="yes"
-         fi
-     done
--    expr $HAS_IT : "yes" > /dev/null
-+    echo "$1: $HAS_IT"
-+      expr $HAS_IT : "yes" > /dev/null
- }
- append CCONFIG "$compile_type"
-@@ -1861,13 +1863,15 @@
- if test x"$cmov" = x"default"; then
-     disable cmov
-     if enabled cpu_override; then
--        is_x86_cmov_cpu "$cpu" && enable cmov
-+        disabled cross_compile && is_x86_cmov_cpu "$cpu" && enable cmov
-         disabled cmov || is_x86_slow_cmov_cpu "$cpu" || enable fast_cmov
-     elif expr "$processor_flags" : ".*cmov" > /dev/null ; then
--        enable cmov
-+        disabled cross_compile && enable cmov
-     fi
- fi
-+enabled cross_compile && disable cmov
-+
- # use different default ARCHFLAGS for CPU missing cmov (Via C3 ...)
- if test x"$arch" = x"x86_32" && disabled cmov && disabled cpu_override; then
-     ARCHFLAGS="-march=i586"
-@@ -2239,7 +2243,7 @@
- EOF
- if $cc $CFLAGS $ECFLAGS -o $TMPE $TMPC 2>/dev/null ; then
--$TMPE && cpuclipspositive="yes"
-+enabled cross_compile || $TMPE && cpuclipspositive="yes"
- fi
- # test negative wrap
-@@ -2254,7 +2258,7 @@
- EOF
- if $cc $CFLAGS $ECFLAGS -o $TMPE $TMPC 2>/dev/null ; then
--$TMPE && cpuclipsnegative="yes"
-+enabled cross_compile || $TMPE && cpuclipsnegative="yes"
- fi
- # test for distcc
-@@ -2607,33 +2611,9 @@
- check_ldflags -Wl,--warn-common
- check_ldflags $LDLATEFLAGS
--# GCC version
--cat > $TMPC << EOF
--int main(int argc, char **argv)
--{
--    int ret = 0;
--    if (argc == 1)
--    {
--        #if defined(__GNUC__)
--            ret = __GNUC__;
--        #endif
--    }
--    else
--    {
--        #if defined(__GNUC_MINOR__)
--            ret = __GNUC_MINOR__;
--        #endif
--    }
--    return ret;
--}
--EOF
--
--if $cc $CFLAGS $TMPC -o $TMPE ; then
--    $TMPE
--    GCC_MAJOR=$?
--    $TMPE "minor"
--    GCC_MINOR=$?
--fi
-+gcc_version=$($cc -v 2>&1 | grep version | cut -s -d' ' -f 3) 
-+GCC_MAJOR=$(echo ${gcc_version} | cut -s -d'.' -f1) 
-+GCC_MINOR=$(echo ${gcc_version} | cut -s -d'.' -f2)
- if enabled symbol_visibility; then
-     if test x"$GCC_MAJOR" = x"4" ; then
-@@ -2727,6 +2707,7 @@
- check_header GL/gl.h
- has_library libGL || has_library libopengl32 || disable opengl
-+enabled cross_compile && disable opengl
- VENDOR_XVMC_LIBS=""
- check_header X11/extensions/XvMClib.h
diff --git a/recipes/mythtv/mythtv-0.21/ffmpeg-arm-update.diff b/recipes/mythtv/mythtv-0.21/ffmpeg-arm-update.diff
deleted file mode 100644 (file)
index d0e32eb..0000000
+++ /dev/null
@@ -1,1669 +0,0 @@
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/dsputil_arm.c mythtv/libs/libavcodec/armv4l/dsputil_arm.c
---- mythtv.orig/libs/libavcodec/armv4l/dsputil_arm.c   2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/dsputil_arm.c        2008-07-24 19:54:00.753198000 +0200
-@@ -19,12 +19,14 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#include "dsputil.h"
-+#include "libavcodec/dsputil.h"
- #ifdef HAVE_IPP
--#include "ipp.h"
-+#include <ipp.h>
- #endif
- extern void dsputil_init_iwmmxt(DSPContext* c, AVCodecContext *avctx);
-+extern void ff_float_init_arm_vfp(DSPContext* c, AVCodecContext *avctx);
-+extern void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx);
- extern void j_rev_dct_ARM(DCTELEM *data);
- extern void simple_idct_ARM(DCTELEM *data);
-@@ -41,6 +43,12 @@
- extern void ff_simple_idct_add_armv6(uint8_t *dest, int line_size,
-                                      DCTELEM *data);
-+extern void ff_simple_idct_neon(DCTELEM *data);
-+extern void ff_simple_idct_put_neon(uint8_t *dest, int line_size,
-+                                    DCTELEM *data);
-+extern void ff_simple_idct_add_neon(uint8_t *dest, int line_size,
-+                                    DCTELEM *data);
-+
- /* XXX: local hack */
- static void (*ff_put_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size);
- static void (*ff_add_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size);
-@@ -202,6 +210,24 @@
- }
- #endif
-+#ifdef HAVE_ARMV5TE
-+static void prefetch_arm(void *mem, int stride, int h)
-+{
-+    asm volatile(
-+        "1:              \n\t"
-+        "subs %0, %0, #1 \n\t"
-+        "pld  [%1]       \n\t"
-+        "add  %1, %1, %2 \n\t"
-+        "bgt  1b         \n\t"
-+        : "+r"(h), "+r"(mem) : "r"(stride));
-+}
-+#endif
-+
-+int mm_support(void)
-+{
-+    return ENABLE_IWMMXT * MM_IWMMXT;
-+}
-+
- void dsputil_init_armv4l(DSPContext* c, AVCodecContext *avctx)
- {
-     int idct_algo= avctx->idct_algo;
-@@ -209,49 +235,60 @@
-     ff_put_pixels_clamped = c->put_pixels_clamped;
-     ff_add_pixels_clamped = c->add_pixels_clamped;
--    if(idct_algo == FF_IDCT_AUTO){
-+    if (avctx->lowres == 0) {
-+        if(idct_algo == FF_IDCT_AUTO){
- #if defined(HAVE_IPP)
--        idct_algo = FF_IDCT_IPP;
-+            idct_algo = FF_IDCT_IPP;
-+#elif defined(HAVE_NEON)
-+            idct_algo = FF_IDCT_SIMPLENEON;
- #elif defined(HAVE_ARMV6)
--        idct_algo = FF_IDCT_SIMPLEARMV6;
-+            idct_algo = FF_IDCT_SIMPLEARMV6;
- #elif defined(HAVE_ARMV5TE)
--        idct_algo = FF_IDCT_SIMPLEARMV5TE;
-+            idct_algo = FF_IDCT_SIMPLEARMV5TE;
- #else
--        idct_algo = FF_IDCT_ARM;
-+            idct_algo = FF_IDCT_ARM;
- #endif
--    }
-+        }
--    if(idct_algo==FF_IDCT_ARM){
--        c->idct_put= j_rev_dct_ARM_put;
--        c->idct_add= j_rev_dct_ARM_add;
--        c->idct    = j_rev_dct_ARM;
--        c->idct_permutation_type= FF_LIBMPEG2_IDCT_PERM;/* FF_NO_IDCT_PERM */
--    } else if (idct_algo==FF_IDCT_SIMPLEARM){
--        c->idct_put= simple_idct_ARM_put;
--        c->idct_add= simple_idct_ARM_add;
--        c->idct    = simple_idct_ARM;
--        c->idct_permutation_type= FF_NO_IDCT_PERM;
-+        if(idct_algo==FF_IDCT_ARM){
-+            c->idct_put= j_rev_dct_ARM_put;
-+            c->idct_add= j_rev_dct_ARM_add;
-+            c->idct    = j_rev_dct_ARM;
-+            c->idct_permutation_type= FF_LIBMPEG2_IDCT_PERM;/* FF_NO_IDCT_PERM */
-+        } else if (idct_algo==FF_IDCT_SIMPLEARM){
-+            c->idct_put= simple_idct_ARM_put;
-+            c->idct_add= simple_idct_ARM_add;
-+            c->idct    = simple_idct_ARM;
-+            c->idct_permutation_type= FF_NO_IDCT_PERM;
- #ifdef HAVE_ARMV6
--    } else if (idct_algo==FF_IDCT_SIMPLEARMV6){
--        c->idct_put= ff_simple_idct_put_armv6;
--        c->idct_add= ff_simple_idct_add_armv6;
--        c->idct    = ff_simple_idct_armv6;
--        c->idct_permutation_type= FF_LIBMPEG2_IDCT_PERM;
-+        } else if (idct_algo==FF_IDCT_SIMPLEARMV6){
-+            c->idct_put= ff_simple_idct_put_armv6;
-+            c->idct_add= ff_simple_idct_add_armv6;
-+            c->idct    = ff_simple_idct_armv6;
-+            c->idct_permutation_type= FF_LIBMPEG2_IDCT_PERM;
- #endif
- #ifdef HAVE_ARMV5TE
--    } else if (idct_algo==FF_IDCT_SIMPLEARMV5TE){
--        c->idct_put= simple_idct_put_armv5te;
--        c->idct_add= simple_idct_add_armv5te;
--        c->idct    = simple_idct_armv5te;
--        c->idct_permutation_type = FF_NO_IDCT_PERM;
-+        } else if (idct_algo==FF_IDCT_SIMPLEARMV5TE){
-+            c->idct_put= simple_idct_put_armv5te;
-+            c->idct_add= simple_idct_add_armv5te;
-+            c->idct    = simple_idct_armv5te;
-+            c->idct_permutation_type = FF_NO_IDCT_PERM;
- #endif
- #ifdef HAVE_IPP
--    } else if (idct_algo==FF_IDCT_IPP){
--        c->idct_put= simple_idct_ipp_put;
--        c->idct_add= simple_idct_ipp_add;
--        c->idct    = simple_idct_ipp;
--        c->idct_permutation_type= FF_NO_IDCT_PERM;
-+        } else if (idct_algo==FF_IDCT_IPP){
-+            c->idct_put= simple_idct_ipp_put;
-+            c->idct_add= simple_idct_ipp_add;
-+            c->idct    = simple_idct_ipp;
-+            c->idct_permutation_type= FF_NO_IDCT_PERM;
-+#endif
-+#ifdef HAVE_NEON
-+        } else if (idct_algo==FF_IDCT_SIMPLENEON){
-+            c->idct_put= ff_simple_idct_put_neon;
-+            c->idct_add= ff_simple_idct_add_neon;
-+            c->idct    = ff_simple_idct_neon;
-+            c->idct_permutation_type = FF_NO_IDCT_PERM;
- #endif
-+        }
-     }
-     c->put_pixels_tab[0][0] = put_pixels16_arm;
-@@ -271,7 +308,17 @@
-     c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_arm; //OK
-     c->put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels8_xy2_arm;
-+#ifdef HAVE_ARMV5TE
-+    c->prefetch = prefetch_arm;
-+#endif
-+
- #ifdef HAVE_IWMMXT
-     dsputil_init_iwmmxt(c, avctx);
- #endif
-+#ifdef HAVE_ARMVFP
-+    ff_float_init_arm_vfp(c, avctx);
-+#endif
-+#ifdef HAVE_NEON
-+    ff_dsputil_init_neon(c, avctx);
-+#endif
- }
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/dsputil_arm_s.S mythtv/libs/libavcodec/armv4l/dsputil_arm_s.S
---- mythtv.orig/libs/libavcodec/armv4l/dsputil_arm_s.S 2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/dsputil_arm_s.S      2008-07-24 19:54:00.753198000 +0200
-@@ -19,6 +19,13 @@
- @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- @
-+#include "config.h"
-+
-+#ifndef HAVE_PLD
-+.macro pld reg
-+.endm
-+#endif
-+
- .macro  ADJ_ALIGN_QUADWORD_D shift, Rd0, Rd1, Rd2, Rd3, Rn0, Rn1, Rn2, Rn3, Rn4
-         mov \Rd0, \Rn0, lsr #(\shift * 8)
-         mov \Rd1, \Rn1, lsr #(\shift * 8)
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/dsputil_iwmmxt.c mythtv/libs/libavcodec/armv4l/dsputil_iwmmxt.c
---- mythtv.orig/libs/libavcodec/armv4l/dsputil_iwmmxt.c        2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/dsputil_iwmmxt.c     2008-07-24 19:54:00.753198000 +0200
-@@ -19,10 +19,10 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#include "dsputil.h"
-+#include "libavcodec/dsputil.h"
- #define DEF(x, y) x ## _no_rnd_ ## y ##_iwmmxt
--#define SET_RND(regd)  __asm__ __volatile__ ("mov r12, #1 \n\t tbcsth " #regd ", r12":::"r12");
-+#define SET_RND(regd)  asm volatile ("mov r12, #1 \n\t tbcsth " #regd ", r12":::"r12");
- #define WAVG2B "wavg2b"
- #include "dsputil_iwmmxt_rnd.h"
- #undef DEF
-@@ -30,7 +30,7 @@
- #undef WAVG2B
- #define DEF(x, y) x ## _ ## y ##_iwmmxt
--#define SET_RND(regd)  __asm__ __volatile__ ("mov r12, #2 \n\t tbcsth " #regd ", r12":::"r12");
-+#define SET_RND(regd)  asm volatile ("mov r12, #2 \n\t tbcsth " #regd ", r12":::"r12");
- #define WAVG2B "wavg2br"
- #include "dsputil_iwmmxt_rnd.h"
- #undef DEF
-@@ -89,7 +89,7 @@
- {
-     uint8_t *pixels2 = pixels + line_size;
--    __asm__ __volatile__ (
-+    asm volatile (
-         "mov            r12, #4                 \n\t"
-         "1:                                     \n\t"
-         "pld            [%[pixels], %[line_size2]]              \n\t"
-@@ -125,7 +125,7 @@
- static void clear_blocks_iwmmxt(DCTELEM *blocks)
- {
--    __asm __volatile(
-+    asm volatile(
-                 "wzero wr0                      \n\t"
-                 "mov r1, #(128 * 6 / 32)        \n\t"
-                 "1:                             \n\t"
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/dsputil_iwmmxt_rnd.h mythtv/libs/libavcodec/armv4l/dsputil_iwmmxt_rnd.h
---- mythtv.orig/libs/libavcodec/armv4l/dsputil_iwmmxt_rnd.h    2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/dsputil_iwmmxt_rnd.h 2008-07-24 19:54:01.023198000 +0200
-@@ -19,13 +19,14 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#ifndef FFMPEG_DSPUTIL_IWMMXT_RND_H
--#define FFMPEG_DSPUTIL_IWMMXT_RND_H
-+/* This header intentionally has no multiple inclusion guards. It is meant to
-+ * be included multiple times and generates different code depending on the
-+ * value of certain #defines. */
- void DEF(put, pixels8)(uint8_t *block, const uint8_t *pixels, const int line_size, int h)
- {
-     int stride = line_size;
--    __asm__ __volatile__ (
-+    asm volatile (
-         "and r12, %[pixels], #7 \n\t"
-         "bic %[pixels], %[pixels], #7 \n\t"
-         "tmcr wcgr1, r12 \n\t"
-@@ -59,7 +60,7 @@
- void DEF(avg, pixels8)(uint8_t *block, const uint8_t *pixels, const int line_size, int h)
- {
-     int stride = line_size;
--    __asm__ __volatile__ (
-+    asm volatile (
-         "and r12, %[pixels], #7 \n\t"
-         "bic %[pixels], %[pixels], #7 \n\t"
-         "tmcr wcgr1, r12 \n\t"
-@@ -101,7 +102,7 @@
- void DEF(put, pixels16)(uint8_t *block, const uint8_t *pixels, const int line_size, int h)
- {
-     int stride = line_size;
--    __asm__ __volatile__ (
-+    asm volatile (
-         "and r12, %[pixels], #7 \n\t"
-         "bic %[pixels], %[pixels], #7 \n\t"
-         "tmcr wcgr1, r12 \n\t"
-@@ -141,7 +142,7 @@
- void DEF(avg, pixels16)(uint8_t *block, const uint8_t *pixels, const int line_size, int h)
- {
-     int stride = line_size;
--    __asm__ __volatile__ (
-+    asm volatile (
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "pld [%[block]]                 \n\t"
-@@ -200,7 +201,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "and r12, %[pixels], #7         \n\t"
-@@ -249,7 +250,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "and r12, %[pixels], #7         \n\t"
-@@ -310,7 +311,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "pld [%[block]]                 \n\t"
-@@ -371,7 +372,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "pld [%[block]]                 \n\t"
-@@ -447,7 +448,7 @@
-     int stride = line_size;
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld            [%[pixels]]                             \n\t"
-         "pld            [%[pixels], #32]                        \n\t"
-         "and            r12, %[pixels], #7                      \n\t"
-@@ -501,7 +502,7 @@
-     int stride = line_size;
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "and r12, %[pixels], #7         \n\t"
-@@ -558,7 +559,7 @@
-     int stride = line_size;
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "pld [%[pixels], #32]           \n\t"
-         "and r12, %[pixels], #7         \n\t"
-@@ -626,7 +627,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "mov r12, #2                    \n\t"
-         "pld [%[pixels], #32]           \n\t"
-@@ -720,7 +721,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[pixels]]                \n\t"
-         "mov r12, #2                    \n\t"
-         "pld [%[pixels], #32]           \n\t"
-@@ -862,7 +863,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[block]]                 \n\t"
-         "pld [%[block], #32]            \n\t"
-         "pld [%[pixels]]                \n\t"
-@@ -966,7 +967,7 @@
-     // [wr0 wr1 wr2 wr3] for previous line
-     // [wr4 wr5 wr6 wr7] for current line
-     SET_RND(wr15); // =2 for rnd  and  =1 for no_rnd version
--    __asm__ __volatile__(
-+    asm volatile(
-         "pld [%[block]]                 \n\t"
-         "pld [%[block], #32]            \n\t"
-         "pld [%[pixels]]                \n\t"
-@@ -1115,5 +1116,3 @@
-         : [line_size]"r"(line_size)
-         : "r12", "memory");
- }
--
--#endif /* FFMPEG_DSPUTIL_IWMMXT_RND_H */
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/dsputil_neon.c mythtv/libs/libavcodec/armv4l/dsputil_neon.c
---- mythtv.orig/libs/libavcodec/armv4l/dsputil_neon.c  1970-01-01 01:00:00.000000000 +0100
-+++ mythtv/libs/libavcodec/armv4l/dsputil_neon.c       2008-07-24 19:54:01.023198000 +0200
-@@ -0,0 +1,397 @@
-+/*
-+ * ARM NEON optimised DSP functions
-+ * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
-+ *
-+ * 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
-+ */
-+
-+#include <stdint.h>
-+
-+#include "libavcodec/avcodec.h"
-+#include "libavcodec/dsputil.h"
-+
-+extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-+                                        int h, int x, int y);
-+
-+#define PUT_PIXELS_16_X2(vhadd)                                 \
-+        "1:                                          \n\t"      \
-+        "vld1.64   {d0,d1,d2}, [%[p]], %[line_size]  \n\t"      \
-+        "vld1.64   {d4,d5,d6}, [%[p]], %[line_size]  \n\t"      \
-+        "pld       [%[p]]                            \n\t"      \
-+        "subs      %[h], %[h], #2                    \n\t"      \
-+        "vext.8    q1, q0, q1, #1                    \n\t"      \
-+        "vext.8    q3, q2, q3, #1                    \n\t"      \
-+         vhadd".u8 q0, q0, q1                        \n\t"      \
-+         vhadd".u8 q2, q2, q3                        \n\t"      \
-+        "vst1.64   {d0,d1}, [%[b],:64], %[line_size] \n\t"      \
-+        "vst1.64   {d4,d5}, [%[b],:64], %[line_size] \n\t"      \
-+        "bne       1b                                \n\t"
-+
-+#define PUT_PIXELS_16_Y2(vhadd)                                 \
-+        "add       %[p1], %[p0], %[line_size]         \n\t"     \
-+        "lsl       %[l2], %[line_size], #1            \n\t"     \
-+        "vld1.64   {d0,d1}, [%[p0]], %[l2]            \n\t"     \
-+        "vld1.64   {d2,d3}, [%[p1]], %[l2]            \n\t"     \
-+        "1:                                           \n\t"     \
-+        "subs      %[h], %[h], #2                     \n\t"     \
-+         vhadd".u8 q2, q0, q1                         \n\t"     \
-+        "vst1.64   {d4,d5}, [%[b],:128], %[line_size] \n\t"     \
-+        "vld1.64   {d0,d1}, [%[p0]],     %[l2]        \n\t"     \
-+         vhadd".u8 q2, q0, q1                         \n\t"     \
-+        "vst1.64   {d4,d5}, [%[b],:128], %[line_size] \n\t"     \
-+        "vld1.64   {d2,d3}, [%[p1]],     %[l2]        \n\t"     \
-+        "bne 1b                                       \n\t"
-+
-+#define PUT_PIXELS_16_XY2(vshrn, no_rnd)                        \
-+        "lsl        %[l2], %[line_size], #1              \n\t"  \
-+        "add        %[p1], %[p0], %[line_size]           \n\t"  \
-+        "vld1.64    {d0,d1,d2}, [%[p0]], %[l2]           \n\t"  \
-+        "vld1.64    {d4,d5,d6}, [%[p1]], %[l2]           \n\t"  \
-+        "pld        [%[p0]]                              \n\t"  \
-+        "pld        [%[p1]]                              \n\t"  \
-+        "vext.8     q1,  q0, q1, #1                      \n\t"  \
-+        "vext.8     q3,  q2, q3, #1                      \n\t"  \
-+        "vaddl.u8   q8,  d0, d2                          \n\t"  \
-+        "vaddl.u8   q10, d1, d3                          \n\t"  \
-+        "vaddl.u8   q9,  d4, d6                          \n\t"  \
-+        "vaddl.u8   q11, d5, d7                          \n\t"  \
-+        "1:                                              \n\t"  \
-+        "subs       %[h], %[h], #2                       \n\t"  \
-+        "vld1.64    {d0,d1,d2}, [%[p0]], %[l2]           \n\t"  \
-+        "vadd.u16   q12, q8, q9                          \n\t"  \
-+        "pld        [%[p0]]                              \n\t"  \
-+ no_rnd "vadd.u16   q12, q12, q13                        \n\t"  \
-+        "vext.8     q15, q0, q1, #1                      \n\t"  \
-+        "vadd.u16   q1, q10, q11                         \n\t"  \
-+         vshrn".u16 d28, q12, #2                         \n\t"  \
-+ no_rnd "vadd.u16   q1, q1, q13                          \n\t"  \
-+         vshrn".u16 d29, q1, #2                          \n\t"  \
-+        "vaddl.u8   q8, d0, d30                          \n\t"  \
-+        "vld1.64    {d2,d3,d4}, [%[p1]], %[l2]           \n\t"  \
-+        "vaddl.u8   q10, d1, d31                         \n\t"  \
-+        "vst1.64    {d28,d29}, [%[b],:128], %[line_size] \n\t"  \
-+        "vadd.u16   q12, q8, q9                          \n\t"  \
-+        "pld        [%[p1]]                              \n\t"  \
-+ no_rnd "vadd.u16   q12, q12, q13                        \n\t"  \
-+        "vext.8     q2, q1, q2, #1                       \n\t"  \
-+        "vadd.u16   q0, q10, q11                         \n\t"  \
-+         vshrn".u16 d30, q12, #2                         \n\t"  \
-+ no_rnd "vadd.u16   q0, q0, q13                          \n\t"  \
-+         vshrn".u16 d31, q0, #2                          \n\t"  \
-+        "vaddl.u8   q9, d2, d4                           \n\t"  \
-+        "vst1.64    {d30,d31}, [%[b],:128], %[line_size] \n\t"  \
-+        "vaddl.u8   q11, d3, d5                          \n\t"  \
-+        "bgt     1b                                      \n\t"
-+
-+#define PUT_PIXELS_8_X2(vhadd)                          \
-+        "1:                                       \n\t" \
-+        "vld1.64   {d0,d1}, [%[p]], %[line_size]  \n\t" \
-+        "vld1.64   {d2,d3}, [%[p]], %[line_size]  \n\t" \
-+        "pld       [%[p]]                         \n\t" \
-+        "subs      %[h], %[h], #2                 \n\t" \
-+        "vext.8    d1, d0, d1, #1                 \n\t" \
-+        "vext.8    d3, d2, d3, #1                 \n\t" \
-+        "vswp      d1, d2                         \n\t" \
-+         vhadd".u8 q0, q0, q1                     \n\t" \
-+        "vst1.64   {d0}, [%[b],:64], %[line_size] \n\t" \
-+        "vst1.64   {d1}, [%[b],:64], %[line_size] \n\t" \
-+        "bne       1b                             \n\t"
-+
-+#define PUT_PIXELS_8_Y2(vhadd)                          \
-+        "add       %[p1], %[p0], %[line_size]     \n\t" \
-+        "lsl       %[l2], %[line_size], #1        \n\t" \
-+        "vld1.64   {d0}, [%[p0]], %[l2]           \n\t" \
-+        "vld1.64   {d1}, [%[p1]], %[l2]           \n\t" \
-+        "1:                                       \n\t" \
-+        "subs      %[h], %[h], #2                 \n\t" \
-+         vhadd".u8 d4, d0, d1                     \n\t" \
-+        "vst1.64   {d4}, [%[b],:64], %[line_size] \n\t" \
-+        "vld1.64   {d0}, [%[p0]],    %[l2]        \n\t" \
-+         vhadd".u8 d4, d0, d1                     \n\t" \
-+        "vst1.64   {d4}, [%[b],:64], %[line_size] \n\t" \
-+        "vld1.64   {d1}, [%[p1]],     %[l2]       \n\t" \
-+        "bne 1b                                   \n\t"
-+
-+#define PUT_PIXELS8_XY2(vshrn, no_rnd)                          \
-+        "lsl        %[l2],   %[line_size], #1       \n\t"       \
-+        "add        %[p1],   %[p0], %[line_size]    \n\t"       \
-+        "vld1.64    {d0,d1}, [%[p0]], %[l2]         \n\t"       \
-+        "vld1.64    {d2,d3}, [%[p1]], %[l2]         \n\t"       \
-+        "pld        [%[p0]]                         \n\t"       \
-+        "pld        [%[p1]]                         \n\t"       \
-+        "vext.8     d4, d0, d1, #1                  \n\t"       \
-+        "vext.8     d6, d2, d3, #1                  \n\t"       \
-+        "vaddl.u8   q8, d0, d4                      \n\t"       \
-+        "vaddl.u8   q9, d2, d6                      \n\t"       \
-+        "1:                                         \n\t"       \
-+        "subs       %[h], %[h], #2                  \n\t"       \
-+        "vld1.64    {d0,d1}, [%[p0]], %[l2]         \n\t"       \
-+        "pld        [%[p0]]                         \n\t"       \
-+        "vadd.u16   q10, q8, q9                     \n\t"       \
-+        "vext.8     d4, d0, d1, #1                  \n\t"       \
-+ no_rnd "vadd.u16   q10, q10, q11                   \n\t"       \
-+        "vaddl.u8   q8, d0, d4                      \n\t"       \
-+         vshrn".u16 d5, q10, #2                     \n\t"       \
-+        "vld1.64    {d2,d3}, [%[p1]], %[l2]         \n\t"       \
-+        "vadd.u16   q10, q8, q9                     \n\t"       \
-+        "pld        [%[p1]]                         \n\t"       \
-+ no_rnd "vadd.u16   q10, q10, q11                   \n\t"       \
-+        "vst1.64    {d5}, [%[b],:64], %[line_size]  \n\t"       \
-+         vshrn".u16 d7, q10, #2                     \n\t"       \
-+        "vext.8     d6, d2, d3, #1                  \n\t"       \
-+        "vaddl.u8   q9, d2, d6                      \n\t"       \
-+        "vst1.64    {d7}, [%[b],:64], %[line_size]  \n\t"       \
-+        "bgt     1b                                 \n\t"
-+
-+static void put_pixels16_neon(uint8_t *block, const uint8_t *pixels,
-+                              int line_size, int h)
-+{
-+    asm volatile(
-+        "1:                                         \n\t"
-+        "vld1.64 {d0,d1}, [%[pixels]], %[line_size] \n\t"
-+        "vld1.64 {d2,d3}, [%[pixels]], %[line_size] \n\t"
-+        "vld1.64 {d4,d5}, [%[pixels]], %[line_size] \n\t"
-+        "vld1.64 {d6,d7}, [%[pixels]], %[line_size] \n\t"
-+        "pld     [%[pixels]]                        \n\t"
-+        "subs    %[h], %[h], #4                     \n\t"
-+        "vst1.64 {d0,d1}, [%[block],:128], %[line_size]  \n\t"
-+        "vst1.64 {d2,d3}, [%[block],:128], %[line_size]  \n\t"
-+        "vst1.64 {d4,d5}, [%[block],:128], %[line_size]  \n\t"
-+        "vst1.64 {d6,d7}, [%[block],:128], %[line_size]  \n\t"
-+        "bne     1b                                 \n\t"
-+        : [block]"+r"(block), [pixels]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "memory");
-+}
-+
-+static void put_pixels16_x2_neon(uint8_t *block, const uint8_t *pixels,
-+                                 int line_size, int h)
-+{
-+    asm volatile(
-+        PUT_PIXELS_16_X2("vrhadd")
-+        : [b]"+r"(block), [p]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "memory");
-+}
-+
-+static void put_pixels16_y2_neon(uint8_t *block, const uint8_t *pixels,
-+                                 int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS_16_Y2("vrhadd")
-+        : [b]"+r"(block), [p0]"+r"(pixels), [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "memory");
-+}
-+
-+static void put_pixels16_xy2_neon(uint8_t *block, const uint8_t *pixels,
-+                                  int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS_16_XY2("vrshrn", "@")
-+        : [b]"+r"(block),
-+          [p0]"+r"(pixels),
-+          [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7",
-+          "d28", "d29", "d30", "d31",
-+          "q8", "q9", "q10", "q11", "q12", "memory");
-+}
-+
-+static void put_pixels8_neon(uint8_t *block, const uint8_t *pixels,
-+                             int line_size, int h)
-+{
-+    asm volatile(
-+        "1:                                 \n\t"
-+        "vld1.64 {d0}, [%[p]], %[line_size] \n\t"
-+        "vld1.64 {d1}, [%[p]], %[line_size] \n\t"
-+        "vld1.64 {d2}, [%[p]], %[line_size] \n\t"
-+        "vld1.64 {d3}, [%[p]], %[line_size] \n\t"
-+        "subs    %[h], %[h], #4             \n\t"
-+        "vst1.64 {d0}, [%[b],:64], %[line_size] \n\t"
-+        "vst1.64 {d1}, [%[b],:64], %[line_size] \n\t"
-+        "vst1.64 {d2}, [%[b],:64], %[line_size] \n\t"
-+        "vst1.64 {d3}, [%[b],:64], %[line_size] \n\t"
-+        "bne     1b                         \n\t"
-+        : [b]"+r"(block), [p]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "memory");
-+}
-+
-+static void put_pixels8_x2_neon(uint8_t *block, const uint8_t *pixels,
-+                                int line_size, int h)
-+{
-+    asm volatile(
-+        PUT_PIXELS_8_X2("vrhadd")
-+        : [b]"+r"(block), [p]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "memory");
-+}
-+
-+static void put_pixels8_y2_neon(uint8_t *block, const uint8_t *pixels,
-+                                int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS_8_Y2("vrhadd")
-+        : [b]"+r"(block), [p0]"+r"(pixels), [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d4", "memory");
-+}
-+
-+static void put_pixels8_xy2_neon(uint8_t *block, const uint8_t *pixels,
-+                                 int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS8_XY2("vrshrn", "@")
-+        : [b]"+r"(block),
-+          [p0]"+r"(pixels),
-+          [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d6", "d7",
-+          "q8", "q9", "q10", "memory");
-+}
-+
-+static void put_no_rnd_pixels16_x2_neon(uint8_t *block, const uint8_t *pixels,
-+                                        int line_size, int h)
-+{
-+    asm volatile(
-+        PUT_PIXELS_16_X2("vhadd")
-+        : [b]"+r"(block), [p]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "memory");
-+}
-+
-+static void put_no_rnd_pixels16_y2_neon(uint8_t *block, const uint8_t *pixels,
-+                                        int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS_16_Y2("vhadd")
-+        : [b]"+r"(block), [p0]"+r"(pixels), [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "memory");
-+}
-+
-+static void put_no_rnd_pixels16_xy2_neon(uint8_t *block, const uint8_t *pixels,
-+                                         int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        "vmov.i16   q13, #1                         \n\t"
-+        PUT_PIXELS_16_XY2("vshrn", "")
-+        : [b]"+r"(block),
-+          [p0]"+r"(pixels),
-+          [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7",
-+          "d28", "d29", "d30", "d31",
-+          "q8", "q9", "q10", "q11", "q12", "q13", "memory");
-+}
-+
-+static void put_no_rnd_pixels8_x2_neon(uint8_t *block, const uint8_t *pixels,
-+                                       int line_size, int h)
-+{
-+    asm volatile(
-+        PUT_PIXELS_8_X2("vhadd")
-+        : [b]"+r"(block), [p]"+r"(pixels), [h]"+r"(h)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "memory");
-+}
-+
-+static void put_no_rnd_pixels8_y2_neon(uint8_t *block, const uint8_t *pixels,
-+                                       int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        PUT_PIXELS_8_Y2("vhadd")
-+        : [b]"+r"(block), [p0]"+r"(pixels), [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d4", "memory");
-+}
-+
-+static void put_no_rnd_pixels8_xy2_neon(uint8_t *block, const uint8_t *pixels,
-+                                        int line_size, int h)
-+{
-+    const uint8_t *p1;
-+    int l2;
-+
-+    asm volatile(
-+        "vmov.i16   q11, #1                         \n\t"
-+        PUT_PIXELS8_XY2("vshrn", "")
-+        : [b]"+r"(block),
-+          [p0]"+r"(pixels),
-+          [p1]"=&r"(p1), [h]"+r"(h),
-+          [l2]"=&r"(l2)
-+        : [line_size]"r"(line_size)
-+        : "d0", "d1", "d2", "d3", "d4", "d6", "d7",
-+          "q8", "q9", "q10", "q11", "memory");
-+}
-+
-+static void put_h264_qpel16_mc00_neon(uint8_t *dst, uint8_t *src, int stride)
-+{
-+    put_pixels16_neon(dst, src, stride, 16);
-+}
-+
-+void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx)
-+{
-+    c->put_pixels_tab[0][0] = put_pixels16_neon;
-+    c->put_pixels_tab[0][1] = put_pixels16_x2_neon;
-+    c->put_pixels_tab[0][2] = put_pixels16_y2_neon;
-+    c->put_pixels_tab[0][3] = put_pixels16_xy2_neon;
-+    c->put_pixels_tab[1][0] = put_pixels8_neon;
-+    c->put_pixels_tab[1][1] = put_pixels8_x2_neon;
-+    c->put_pixels_tab[1][2] = put_pixels8_y2_neon;
-+    c->put_pixels_tab[1][3] = put_pixels8_xy2_neon;
-+
-+    c->put_no_rnd_pixels_tab[0][0] = put_pixels16_neon;
-+    c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_neon;
-+    c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_neon;
-+    c->put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_neon;
-+    c->put_no_rnd_pixels_tab[1][0] = put_pixels8_neon;
-+    c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_neon;
-+    c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_neon;
-+    c->put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels8_xy2_neon;
-+
-+    c->put_h264_chroma_pixels_tab[0] = ff_put_h264_chroma_mc8_neon;
-+
-+    c->put_h264_qpel_pixels_tab[0][0] = put_h264_qpel16_mc00_neon;
-+}
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/float_arm_vfp.c mythtv/libs/libavcodec/armv4l/float_arm_vfp.c
---- mythtv.orig/libs/libavcodec/armv4l/float_arm_vfp.c 1970-01-01 01:00:00.000000000 +0100
-+++ mythtv/libs/libavcodec/armv4l/float_arm_vfp.c      2008-07-24 19:54:01.023198000 +0200
-@@ -0,0 +1,208 @@
-+/*
-+ * Copyright (c) 2008 Siarhei Siamashka <ssvb@users.sourceforge.net>
-+ *
-+ * 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
-+ */
-+
-+#include "libavcodec/dsputil.h"
-+
-+/*
-+ * VFP is a floating point coprocessor used in some ARM cores. VFP11 has 1 cycle
-+ * throughput for almost all the instructions (except for double precision
-+ * arithmetics), but rather high latency. Latency is 4 cycles for loads and 8 cycles
-+ * for arithmetic operations. Scheduling code to avoid pipeline stalls is very
-+ * important for performance. One more interesting feature is that VFP has
-+ * independent load/store and arithmetics pipelines, so it is possible to make
-+ * them work simultaneously and get more than 1 operation per cycle. Load/store
-+ * pipeline can process 2 single precision floating point values per cycle and
-+ * supports bulk loads and stores for large sets of registers. Arithmetic operations
-+ * can be done on vectors, which allows to keep the arithmetics pipeline busy,
-+ * while the processor may issue and execute other instructions. Detailed
-+ * optimization manuals can be found at http://www.arm.com
-+ */
-+
-+/**
-+ * ARM VFP optimized implementation of 'vector_fmul_c' function.
-+ * Assume that len is a positive number and is multiple of 8
-+ */
-+static void vector_fmul_vfp(float *dst, const float *src, int len)
-+{
-+    int tmp;
-+    asm volatile(
-+        "fmrx       %[tmp], fpscr\n\t"
-+        "orr        %[tmp], %[tmp], #(3 << 16)\n\t" /* set vector size to 4 */
-+        "fmxr       fpscr, %[tmp]\n\t"
-+
-+        "fldmias    %[dst_r]!, {s0-s3}\n\t"
-+        "fldmias    %[src]!, {s8-s11}\n\t"
-+        "fldmias    %[dst_r]!, {s4-s7}\n\t"
-+        "fldmias    %[src]!, {s12-s15}\n\t"
-+        "fmuls      s8, s0, s8\n\t"
-+    "1:\n\t"
-+        "subs       %[len], %[len], #16\n\t"
-+        "fmuls      s12, s4, s12\n\t"
-+        "fldmiasge  %[dst_r]!, {s16-s19}\n\t"
-+        "fldmiasge  %[src]!, {s24-s27}\n\t"
-+        "fldmiasge  %[dst_r]!, {s20-s23}\n\t"
-+        "fldmiasge  %[src]!, {s28-s31}\n\t"
-+        "fmulsge    s24, s16, s24\n\t"
-+        "fstmias    %[dst_w]!, {s8-s11}\n\t"
-+        "fstmias    %[dst_w]!, {s12-s15}\n\t"
-+        "fmulsge    s28, s20, s28\n\t"
-+        "fldmiasgt  %[dst_r]!, {s0-s3}\n\t"
-+        "fldmiasgt  %[src]!, {s8-s11}\n\t"
-+        "fldmiasgt  %[dst_r]!, {s4-s7}\n\t"
-+        "fldmiasgt  %[src]!, {s12-s15}\n\t"
-+        "fmulsge    s8, s0, s8\n\t"
-+        "fstmiasge  %[dst_w]!, {s24-s27}\n\t"
-+        "fstmiasge  %[dst_w]!, {s28-s31}\n\t"
-+        "bgt        1b\n\t"
-+
-+        "bic        %[tmp], %[tmp], #(7 << 16)\n\t" /* set vector size back to 1 */
-+        "fmxr       fpscr, %[tmp]\n\t"
-+        : [dst_w] "+&r" (dst), [dst_r] "+&r" (dst), [src] "+&r" (src), [len] "+&r" (len), [tmp] "=&r" (tmp)
-+        :
-+        : "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
-+          "s8",  "s9",  "s10", "s11", "s12", "s13", "s14", "s15",
-+          "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
-+          "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31",
-+          "cc", "memory");
-+}
-+
-+/**
-+ * ARM VFP optimized implementation of 'vector_fmul_reverse_c' function.
-+ * Assume that len is a positive number and is multiple of 8
-+ */
-+static void vector_fmul_reverse_vfp(float *dst, const float *src0, const float *src1, int len)
-+{
-+    src1 += len;
-+    asm volatile(
-+        "fldmdbs    %[src1]!, {s0-s3}\n\t"
-+        "fldmias    %[src0]!, {s8-s11}\n\t"
-+        "fldmdbs    %[src1]!, {s4-s7}\n\t"
-+        "fldmias    %[src0]!, {s12-s15}\n\t"
-+        "fmuls      s8, s3, s8\n\t"
-+        "fmuls      s9, s2, s9\n\t"
-+        "fmuls      s10, s1, s10\n\t"
-+        "fmuls      s11, s0, s11\n\t"
-+    "1:\n\t"
-+        "subs       %[len], %[len], #16\n\t"
-+        "fldmdbsge  %[src1]!, {s16-s19}\n\t"
-+        "fmuls      s12, s7, s12\n\t"
-+        "fldmiasge  %[src0]!, {s24-s27}\n\t"
-+        "fmuls      s13, s6, s13\n\t"
-+        "fldmdbsge  %[src1]!, {s20-s23}\n\t"
-+        "fmuls      s14, s5, s14\n\t"
-+        "fldmiasge  %[src0]!, {s28-s31}\n\t"
-+        "fmuls      s15, s4, s15\n\t"
-+        "fmulsge    s24, s19, s24\n\t"
-+        "fldmdbsgt  %[src1]!, {s0-s3}\n\t"
-+        "fmulsge    s25, s18, s25\n\t"
-+        "fstmias    %[dst]!, {s8-s13}\n\t"
-+        "fmulsge    s26, s17, s26\n\t"
-+        "fldmiasgt  %[src0]!, {s8-s11}\n\t"
-+        "fmulsge    s27, s16, s27\n\t"
-+        "fmulsge    s28, s23, s28\n\t"
-+        "fldmdbsgt  %[src1]!, {s4-s7}\n\t"
-+        "fmulsge    s29, s22, s29\n\t"
-+        "fstmias    %[dst]!, {s14-s15}\n\t"
-+        "fmulsge    s30, s21, s30\n\t"
-+        "fmulsge    s31, s20, s31\n\t"
-+        "fmulsge    s8, s3, s8\n\t"
-+        "fldmiasgt  %[src0]!, {s12-s15}\n\t"
-+        "fmulsge    s9, s2, s9\n\t"
-+        "fmulsge    s10, s1, s10\n\t"
-+        "fstmiasge  %[dst]!, {s24-s27}\n\t"
-+        "fmulsge    s11, s0, s11\n\t"
-+        "fstmiasge  %[dst]!, {s28-s31}\n\t"
-+        "bgt        1b\n\t"
-+
-+        : [dst] "+&r" (dst), [src0] "+&r" (src0), [src1] "+&r" (src1), [len] "+&r" (len)
-+        :
-+        : "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
-+          "s8",  "s9",  "s10", "s11", "s12", "s13", "s14", "s15",
-+          "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
-+          "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31",
-+          "cc", "memory");
-+}
-+
-+#ifdef HAVE_ARMV6
-+/**
-+ * ARM VFP optimized float to int16 conversion.
-+ * Assume that len is a positive number and is multiple of 8, destination
-+ * buffer is at least 4 bytes aligned (8 bytes alignment is better for
-+ * performance), little endian byte sex
-+ */
-+void float_to_int16_vfp(int16_t *dst, const float *src, int len)
-+{
-+    asm volatile(
-+        "fldmias    %[src]!, {s16-s23}\n\t"
-+        "ftosis     s0, s16\n\t"
-+        "ftosis     s1, s17\n\t"
-+        "ftosis     s2, s18\n\t"
-+        "ftosis     s3, s19\n\t"
-+        "ftosis     s4, s20\n\t"
-+        "ftosis     s5, s21\n\t"
-+        "ftosis     s6, s22\n\t"
-+        "ftosis     s7, s23\n\t"
-+    "1:\n\t"
-+        "subs       %[len], %[len], #8\n\t"
-+        "fmrrs      r3, r4, {s0, s1}\n\t"
-+        "fmrrs      r5, r6, {s2, s3}\n\t"
-+        "fmrrs      r7, r8, {s4, s5}\n\t"
-+        "fmrrs      ip, lr, {s6, s7}\n\t"
-+        "fldmiasgt  %[src]!, {s16-s23}\n\t"
-+        "ssat       r4, #16, r4\n\t"
-+        "ssat       r3, #16, r3\n\t"
-+        "ssat       r6, #16, r6\n\t"
-+        "ssat       r5, #16, r5\n\t"
-+        "pkhbt      r3, r3, r4, lsl #16\n\t"
-+        "pkhbt      r4, r5, r6, lsl #16\n\t"
-+        "ftosisgt   s0, s16\n\t"
-+        "ftosisgt   s1, s17\n\t"
-+        "ftosisgt   s2, s18\n\t"
-+        "ftosisgt   s3, s19\n\t"
-+        "ftosisgt   s4, s20\n\t"
-+        "ftosisgt   s5, s21\n\t"
-+        "ftosisgt   s6, s22\n\t"
-+        "ftosisgt   s7, s23\n\t"
-+        "ssat       r8, #16, r8\n\t"
-+        "ssat       r7, #16, r7\n\t"
-+        "ssat       lr, #16, lr\n\t"
-+        "ssat       ip, #16, ip\n\t"
-+        "pkhbt      r5, r7, r8, lsl #16\n\t"
-+        "pkhbt      r6, ip, lr, lsl #16\n\t"
-+        "stmia      %[dst]!, {r3-r6}\n\t"
-+        "bgt        1b\n\t"
-+
-+        : [dst] "+&r" (dst), [src] "+&r" (src), [len] "+&r" (len)
-+        :
-+        : "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
-+          "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
-+          "r3", "r4", "r5", "r6", "r7", "r8", "ip", "lr",
-+          "cc", "memory");
-+}
-+#endif
-+
-+void ff_float_init_arm_vfp(DSPContext* c, AVCodecContext *avctx)
-+{
-+    c->vector_fmul = vector_fmul_vfp;
-+    c->vector_fmul_reverse = vector_fmul_reverse_vfp;
-+#ifdef HAVE_ARMV6
-+    c->float_to_int16 = float_to_int16_vfp;
-+#endif
-+}
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/h264dsp_neon.S mythtv/libs/libavcodec/armv4l/h264dsp_neon.S
---- mythtv.orig/libs/libavcodec/armv4l/h264dsp_neon.S  1970-01-01 01:00:00.000000000 +0100
-+++ mythtv/libs/libavcodec/armv4l/h264dsp_neon.S       2008-07-24 19:54:01.033198000 +0200
-@@ -0,0 +1,148 @@
-+/*
-+ * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
-+ *
-+ * 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
-+ */
-+
-+        .fpu neon
-+
-+        .text
-+        .align
-+        .global ff_put_h264_chroma_mc8_neon
-+        .func   ff_put_h264_chroma_mc8_neon
-+/* void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-+                                    int h, int x, int y) */
-+ff_put_h264_chroma_mc8_neon:
-+        push      {r4-r7}
-+        ldrd      r4, [sp, #16]
-+
-+        pld       [r1]
-+        pld       [r1, r2]
-+
-+        muls      r7, r4, r5
-+        rsb       r6, r7, r5, lsl #3
-+        rsb       ip, r7, r4, lsl #3
-+        sub       r4, r7, r4, lsl #3
-+        sub       r4, r4, r5, lsl #3
-+        add       r4, r4, #64
-+
-+        beq       2f
-+
-+        add       r5, r1, r2
-+
-+        vdup.8    d0, r4
-+        lsl       r4, r2, #1
-+        vdup.8    d1, ip
-+        vld1.64   {d4,d5}, [r1], r4
-+        vdup.8    d2, r6
-+        vld1.64   {d6,d7}, [r5], r4
-+        vdup.8    d3, r7
-+
-+        mov       r6, #32
-+        vext.8    d5, d4, d5, #1
-+        vdup.16   q12, r6
-+        vext.8    d7, d6, d7, #1
-+1:
-+        pld       [r5]
-+        vmull.u8  q8, d4, d0
-+        vmlal.u8  q8, d5, d1
-+        vld1.64   {d4,d5}, [r1], r4
-+        vmlal.u8  q8, d6, d2
-+        vext.8    d5, d4, d5, #1
-+        vmlal.u8  q8, d7, d3
-+        vmull.u8  q9, d6, d0
-+        vadd.i16  q8, q8, q12
-+        subs      r3, r3, #2
-+        vmlal.u8  q9, d7, d1
-+        vshrn.u16 d16, q8, #6
-+        vld1.64   {d6,d7}, [r5], r4
-+        vmlal.u8  q9, d4, d2
-+        vmlal.u8  q9, d5, d3
-+        pld       [r1]
-+        vadd.i16  q9, q9, q12
-+        vst1.64   {d16}, [r0,:64], r2
-+        vshrn.u16 d17, q9, #6
-+        vext.8    d7, d6, d7, #1
-+        vst1.64   {d17}, [r0,:64], r2
-+        bgt       1b
-+
-+        pop       {r4-r7}
-+        bx        lr
-+
-+2:
-+        tst       r6, r6
-+        add       ip, ip, r6
-+        vdup.8    d0, r4
-+        vdup.8    d1, ip
-+        mov       r6, #32
-+        vdup.16   q12, r6
-+
-+        beq       4f
-+
-+        add       r5, r1, r2
-+        lsl       r4, r2, #1
-+        vld1.64   {d4}, [r1], r4
-+        vld1.64   {d6}, [r5], r4
-+3:
-+        pld       [r5]
-+        vmull.u8  q8, d4, d0
-+        vmlal.u8  q8, d6, d1
-+        vld1.64   {d4}, [r1], r4
-+        vmull.u8  q9, d6, d0
-+        vadd.i16  q8, q8, q12
-+        vmlal.u8  q9, d4, d1
-+        vshrn.u16 d16, q8, #6
-+        vadd.i16  q9, q9, q12
-+        vst1.64   {d16}, [r0,:64], r2
-+        vshrn.u16 d17, q9, #6
-+        subs      r3, r3, #2
-+        vld1.64   {d6}, [r5], r4
-+        pld       [r1]
-+        vst1.64   {d17}, [r0,:64], r2
-+        bgt       3b
-+
-+        pop       {r4-r7}
-+        bx        lr
-+
-+4:
-+        vld1.64   {d4,d5}, [r1], r2
-+        vld1.64   {d6,d7}, [r1], r2
-+        vext.8    d5, d4, d5, #1
-+        vext.8    d7, d6, d7, #1
-+5:
-+        pld       [r1]
-+        subs      r3, r3, #2
-+        vmull.u8  q8, d4, d0
-+        vmlal.u8  q8, d5, d1
-+        vld1.64   {d4,d5}, [r1], r2
-+        vmull.u8  q9, d6, d0
-+        vmlal.u8  q9, d7, d1
-+        pld       [r1]
-+        vadd.i16  q8, q8, q12
-+        vadd.i16  q9, q9, q12
-+        vext.8    d5, d4, d5, #1
-+        vshrn.u16 d16, q8, #6
-+        vld1.64   {d6,d7}, [r1], r2
-+        vshrn.u16 d17, q9, #6
-+        vst1.64   {d16}, [r0,:64], r2
-+        vext.8    d7, d6, d7, #1
-+        vst1.64   {d17}, [r0,:64], r2
-+        bgt       5b
-+
-+        pop       {r4-r7}
-+        bx        lr
-+        .endfunc
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/mpegvideo_arm.c mythtv/libs/libavcodec/armv4l/mpegvideo_arm.c
---- mythtv.orig/libs/libavcodec/armv4l/mpegvideo_arm.c 2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/mpegvideo_arm.c      2008-07-24 19:54:01.263198000 +0200
-@@ -18,9 +18,9 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#include "dsputil.h"
--#include "mpegvideo.h"
--#include "avcodec.h"
-+#include "libavcodec/avcodec.h"
-+#include "libavcodec/dsputil.h"
-+#include "libavcodec/mpegvideo.h"
- extern void MPV_common_init_iwmmxt(MpegEncContext *s);
- extern void MPV_common_init_armv5te(MpegEncContext *s);
-@@ -28,7 +28,7 @@
- void MPV_common_init_armv4l(MpegEncContext *s)
- {
-     /* IWMMXT support is a superset of armv5te, so
--     * allow optimised functions for armv5te unless
-+     * allow optimized functions for armv5te unless
-      * a better iwmmxt function exists
-      */
- #ifdef HAVE_ARMV5TE
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/mpegvideo_armv5te.c mythtv/libs/libavcodec/armv4l/mpegvideo_armv5te.c
---- mythtv.orig/libs/libavcodec/armv4l/mpegvideo_armv5te.c     2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/mpegvideo_armv5te.c  2008-07-24 19:54:01.263198000 +0200
-@@ -19,9 +19,9 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#include "dsputil.h"
--#include "mpegvideo.h"
--#include "avcodec.h"
-+#include "libavcodec/avcodec.h"
-+#include "libavcodec/dsputil.h"
-+#include "libavcodec/mpegvideo.h"
- #ifdef ENABLE_ARM_TESTS
-@@ -65,7 +65,7 @@
- ({ DCTELEM *xblock = xxblock; \
-    int xqmul = xxqmul, xqadd = xxqadd, xcount = xxcount, xtmp; \
-    int xdata1, xdata2; \
--__asm__ __volatile__( \
-+asm volatile( \
-         "subs %[count], %[count], #2       \n\t" \
-         "ble 2f                            \n\t" \
-         "ldrd r4, [%[block], #0]           \n\t" \
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/mpegvideo_iwmmxt.c mythtv/libs/libavcodec/armv4l/mpegvideo_iwmmxt.c
---- mythtv.orig/libs/libavcodec/armv4l/mpegvideo_iwmmxt.c      2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/mpegvideo_iwmmxt.c   2008-07-24 19:54:01.273198000 +0200
-@@ -18,9 +18,9 @@
-  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
--#include "dsputil.h"
--#include "mpegvideo.h"
--#include "avcodec.h"
-+#include "libavcodec/avcodec.h"
-+#include "libavcodec/dsputil.h"
-+#include "libavcodec/mpegvideo.h"
- static void dct_unquantize_h263_intra_iwmmxt(MpegEncContext *s,
-                                              DCTELEM *block, int n, int qscale)
-@@ -48,7 +48,7 @@
-     else
-         nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ];
--    __asm__ __volatile__ (
-+    asm volatile (
- /*      "movd %1, %%mm6                 \n\t" //qmul */
- /*      "packssdw %%mm6, %%mm6          \n\t" */
- /*      "packssdw %%mm6, %%mm6          \n\t" */
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/simple_idct_arm.S mythtv/libs/libavcodec/armv4l/simple_idct_arm.S
---- mythtv.orig/libs/libavcodec/armv4l/simple_idct_arm.S       2008-07-23 12:19:05.000000000 +0200
-+++ mythtv/libs/libavcodec/armv4l/simple_idct_arm.S    2008-07-24 19:54:01.503198000 +0200
-@@ -79,7 +79,7 @@
- __row_loop:
--        @@ read the row and check if it is null, almost null, or not, according to strongarm specs, it is not necessary to optimise ldr accesses (i.e. split 32bits in 2 16bits words), at least it gives more usable registers :)
-+        @@ read the row and check if it is null, almost null, or not, according to strongarm specs, it is not necessary to optimize ldr accesses (i.e. split 32bits in 2 16bits words), at least it gives more usable registers :)
-         ldr r1, [r14, #0]        @ R1=(int32)(R12)[0]=ROWr32[0] (relative row cast to a 32b pointer)
-         ldr r2, [r14, #4]        @ R2=(int32)(R12)[1]=ROWr32[1]
-         ldr r3, [r14, #8]        @ R3=ROWr32[2]
-@@ -421,7 +421,7 @@
-         @@ col[40] = ((a2 - b2) >> COL_SHIFT);
-         @@ col[48] = ((a1 - b1) >> COL_SHIFT);
-         @@ col[56] = ((a0 - b0) >> COL_SHIFT);
--        @@@@@ no optimisation here @@@@@
-+        @@@@@ no optimization here @@@@@
-         add r8, r6, r0           @ R8=a0+b0
-         add r9, r2, r1           @ R9=a1+b1
-         mov r8, r8, asr #COL_SHIFT
-diff -Nurd mythtv.orig/libs/libavcodec/armv4l/simple_idct_neon.S mythtv/libs/libavcodec/armv4l/simple_idct_neon.S
---- mythtv.orig/libs/libavcodec/armv4l/simple_idct_neon.S      1970-01-01 01:00:00.000000000 +0100
-+++ mythtv/libs/libavcodec/armv4l/simple_idct_neon.S   2008-07-24 19:54:01.503198000 +0200
-@@ -0,0 +1,388 @@
-+/*
-+ * ARM NEON IDCT
-+ *
-+ * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
-+ *
-+ * Based on Simple IDCT
-+ * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>
-+ *
-+ * 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
-+ */
-+
-+#define W1  22725  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W2  21407  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W3  19266  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W4  16383  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W5  12873  //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W6  8867   //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W7  4520   //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
-+#define W4c ((1<<(COL_SHIFT-1))/W4)
-+#define ROW_SHIFT 11
-+#define COL_SHIFT 20
-+
-+#define w1 d0[0]
-+#define w2 d0[1]
-+#define w3 d0[2]
-+#define w4 d0[3]
-+#define w5 d1[0]
-+#define w6 d1[1]
-+#define w7 d1[2]
-+#define w4c d1[3]
-+
-+        .fpu neon
-+
-+        .macro idct_col4_top
-+        vmull.s16 q7,  d6,  w2    /* q9   = W2 * col[2] */
-+        vmull.s16 q8,  d6,  w6    /* q10  = W6 * col[2] */
-+        vmull.s16 q9,  d4,  w1    /* q9  = W1 * col[1] */
-+        vadd.i32  q11, q15, q7
-+        vmull.s16 q10, d4,  w3    /* q10 = W3 * col[1] */
-+        vadd.i32  q12, q15, q8
-+        vmull.s16 q5,  d4,  w5    /* q5  = W5 * col[1] */
-+        vsub.i32  q13, q15, q8
-+        vmull.s16 q6,  d4,  w7    /* q6  = W7 * col[1] */
-+        vsub.i32  q14, q15, q7
-+
-+        vmlal.s16 q9,  d8, w3     /* q9  += W3 * col[3] */
-+        vmlsl.s16 q10, d8, w7     /* q10 -= W7 * col[3] */
-+        vmlsl.s16 q5,  d8, w1     /* q5  -= W1 * col[3] */
-+        vmlsl.s16 q6,  d8, w5     /* q6  -= W5 * col[3] */
-+        .endm
-+
-+        .macro idct_col4_mid1
-+        vmull.s16 q7,  d3,  w4    /* q7 = W4 * col[4] */
-+        vadd.i32  q11, q11, q7
-+        vsub.i32  q12, q12, q7
-+        vsub.i32  q13, q13, q7
-+        vadd.i32  q14, q14, q7
-+        .endm
-+
-+        .macro idct_col4_mid2
-+        vmlal.s16 q9,  d5, w5     /* q9  += W5 * col[5] */
-+        vmlsl.s16 q10, d5, w1     /* q10 -= W1 * col[5] */
-+        vmlal.s16 q5,  d5, w7     /* q5  += W7 * col[5] */
-+        vmlal.s16 q6,  d5, w3     /* q6  += W3 * col[5] */
-+        .endm
-+
-+        .macro idct_col4_mid3
-+        vmull.s16 q7,  d7, w6     /* q7 = W6 * col[6] */
-+        vmull.s16 q8,  d7, w2     /* q8 = W2 * col[6] */
-+        vadd.i32  q11, q11, q7
-+        vsub.i32  q12, q12, q8
-+        vadd.i32  q13, q13, q8
-+        vsub.i32  q14, q14, q7
-+        .endm
-+
-+        .macro idct_col4_mid4
-+        vmlal.s16 q9,  d9, w7
-+        vmlsl.s16 q10, d9, w5
-+        vmlal.s16 q5,  d9, w3
-+        vmlsl.s16 q6,  d9, w1
-+        .endm
-+
-+        .macro idct_col4_mid
-+        vmull.s16 q7,  d3,  w4    /* q7   = W4 * col[4] */
-+        vmlal.s16 q9,  d5,  w5    /* q9  += W5 * col[5] */
-+        vmlsl.s16 q10, d5,  w1    /* q10 -= W1 * col[5] */
-+        vadd.i32  q11, q11, q7
-+        vmull.s16 q8,  d7,  w2    /* q8   = W2 * col[6] */
-+        vsub.i32  q12, q12, q7
-+        vmlal.s16 q5,  d5,  w7    /* q5  += W7 * col[5] */
-+        vsub.i32  q13, q13, q7
-+        vmlal.s16 q6,  d5,  w3    /* q6  += W3 * col[5] */
-+        vadd.i32  q14, q14, q7
-+        vmull.s16 q7,  d7,  w6    /* q7   = W6 * col[6] */
-+        vadd.i32  q11, q11, q7
-+        vmlal.s16 q9,  d9,  w7
-+        vsub.i32  q12, q12, q8
-+        vmlsl.s16 q10, d9,  w5
-+        vadd.i32  q13, q13, q8
-+        vmlal.s16 q5,  d9,  w3
-+        vsub.i32  q14, q14, q7
-+        vmlsl.s16 q6,  d9,  w1
-+        .endm
-+
-+        .macro idct_col4_end
-+        vadd.i32 q3,  q11, q9
-+        vadd.i32 q4,  q12, q10
-+        vadd.i32 q7,  q13, q5
-+        vadd.i32 q8,  q14, q6
-+        vsub.i32 q11, q11, q9
-+        vsub.i32 q12, q12, q10
-+        vsub.i32 q13, q13, q5
-+        vsub.i32 q14, q14, q6
-+        .endm
-+
-+      .text
-+        .align
-+        .type idct_row4_neon, %function
-+        .func idct_row4_neon
-+idct_row4_neon:
-+        vld1.64 {d2,d3}, [a3,:128]!
-+        vld1.64 {d4,d5}, [a3,:128]!
-+        vld1.64 {d6,d7}, [a3,:128]!
-+        vld1.64 {d8,d9}, [a3,:128]!
-+        add a3, a3, #-64
-+
-+        vmov.i32  q15, #(1<<(ROW_SHIFT-1))
-+        vorr      d10, d3,  d5
-+        vtrn.16   q1,  q2
-+        vorr      d11, d7,  d9
-+        vtrn.16   q3,  q4
-+        vorr      d10, d10, d11
-+        vtrn.32   q1,  q3
-+        vmlal.s16 q15, d2,  w4    /* q15 += W4 * col[0] */
-+        vtrn.32   q2,  q4
-+        vmov      a4,  v1,  d10
-+
-+        idct_col4_top
-+
-+        orrs a4, a4, v1
-+        beq 1f
-+        idct_col4_mid
-+1:
-+        vadd.i32 q3,  q11, q9
-+        vadd.i32 q4,  q12, q10
-+        vshrn.i32 d2, q3,  #ROW_SHIFT
-+        vadd.i32 q7,  q13, q5
-+        vshrn.i32 d4, q4,  #ROW_SHIFT
-+        vadd.i32 q8,  q14, q6
-+        vshrn.i32 d6, q7,  #ROW_SHIFT
-+        vsub.i32 q11, q11, q9
-+        vshrn.i32 d8, q8,  #ROW_SHIFT
-+        vsub.i32 q12, q12, q10
-+        vshrn.i32 d9, q11, #ROW_SHIFT
-+        vsub.i32 q13, q13, q5
-+        vshrn.i32 d7, q12, #ROW_SHIFT
-+        vsub.i32 q14, q14, q6
-+        vshrn.i32 d5, q13, #ROW_SHIFT
-+        vshrn.i32 d3, q14, #ROW_SHIFT
-+
-+        vtrn.16   q1, q2
-+        vtrn.16   q3, q4
-+        vtrn.32   q1, q3
-+        vtrn.32   q2, q4
-+
-+        vst1.64 {d2,d3}, [a3,:128]!
-+        vst1.64 {d4,d5}, [a3,:128]!
-+        vst1.64 {d6,d7}, [a3,:128]!
-+        vst1.64 {d8,d9}, [a3,:128]!
-+
-+        mov pc, lr
-+        .endfunc
-+
-+        .align
-+        .type idct_col4_neon, %function
-+        .func idct_col4_neon
-+idct_col4_neon:
-+        mov ip, #16
-+        vld1.64 {d2}, [a3,:64], ip /* d2 = col[0] */
-+        vld1.64 {d4}, [a3,:64], ip /* d3 = col[1] */
-+        vld1.64 {d6}, [a3,:64], ip /* d4 = col[2] */
-+        vld1.64 {d8}, [a3,:64], ip /* d5 = col[3] */
-+        vld1.64 {d3}, [a3,:64], ip /* d6 = col[4] */
-+        vld1.64 {d5}, [a3,:64], ip /* d7 = col[5] */
-+        vld1.64 {d7}, [a3,:64], ip /* d8 = col[6] */
-+        vld1.64 {d9}, [a3,:64], ip /* d9 = col[7] */
-+
-+        vrev64.32 d11, d3
-+        vrev64.32 d13, d5
-+        vorr      d11, d3, d11
-+        vrev64.32 d15, d7
-+        vorr      d13, d5, d13
-+        vrev64.32 d17, d9
-+        vorr      d15, d7, d15
-+        vmov.32   v1,  d11[0]
-+        vmov.32   v2,  d13[0]
-+        vorr      d17, d9, d17
-+        vmov.32   v3,  d15[0]
-+        vmov.32   ip,  d17[0]
-+        vdup.16   d30, w4c
-+        vadd.i16  d30, d30, d2
-+        vmull.s16 q15, d30, w4 /* q15 = W4 * (col[0]+(1<<(COL_SHIFT-1))/W4) */
-+
-+        idct_col4_top
-+        tst v1, v1
-+        beq 1f
-+        idct_col4_mid1
-+1:      tst v2, v2
-+        beq 2f
-+        idct_col4_mid2
-+2:      tst v3, v3
-+        beq 3f
-+        idct_col4_mid3
-+3:      tst ip, ip
-+        beq 4f
-+        idct_col4_mid4
-+4:
-+        idct_col4_end
-+
-+        vshr.s32  q2, q3,  #COL_SHIFT
-+        vshr.s32  q3, q4,  #COL_SHIFT
-+        vmovn.i32 d2, q2
-+        vshr.s32  q4, q7,  #COL_SHIFT
-+        vmovn.i32 d3, q3
-+        vshr.s32  q5, q8,  #COL_SHIFT
-+        vmovn.i32 d4, q4
-+        vshr.s32  q6, q14, #COL_SHIFT
-+        vmovn.i32 d5, q5
-+        vshr.s32  q7, q13, #COL_SHIFT
-+        vmovn.i32 d6, q6
-+        vshr.s32  q8, q12, #COL_SHIFT
-+        vmovn.i32 d7, q7
-+        vshr.s32  q9, q11, #COL_SHIFT
-+        vmovn.i32 d8, q8
-+        vmovn.i32 d9, q9
-+
-+        mov pc, lr
-+        .endfunc
-+
-+        .macro idct_col4_st16
-+        mov ip, #16
-+        vst1.64 {d2}, [a3,:64], ip
-+        vst1.64 {d3}, [a3,:64], ip
-+        vst1.64 {d4}, [a3,:64], ip
-+        vst1.64 {d5}, [a3,:64], ip
-+        vst1.64 {d6}, [a3,:64], ip
-+        vst1.64 {d7}, [a3,:64], ip
-+        vst1.64 {d8}, [a3,:64], ip
-+        vst1.64 {d9}, [a3,:64], ip
-+        .endm
-+
-+        .align
-+        .type idct_col4_add8, %function
-+        .func idct_col4_add8
-+idct_col4_add8:
-+        vld1.32 {d10[0]}, [a1,:32], a2
-+        vld1.32 {d10[1]}, [a1,:32], a2
-+        vld1.32 {d11[0]}, [a1,:32], a2
-+        vld1.32 {d11[1]}, [a1,:32], a2
-+        vld1.32 {d12[0]}, [a1,:32], a2
-+        vld1.32 {d12[1]}, [a1,:32], a2
-+        vld1.32 {d13[0]}, [a1,:32], a2
-+        vld1.32 {d13[1]}, [a1,:32], a2
-+
-+        vaddw.u8 q1, q1, d10
-+        vaddw.u8 q2, q2, d11
-+        vaddw.u8 q3, q3, d12
-+        vaddw.u8 q4, q4, d13
-+
-+        sub a1, a1, a2, lsl #3
-+        .endfunc
-+
-+        .type idct_col4_st8, %function
-+        .func idct_col4_st8
-+idct_col4_st8:
-+        vqmovun.s16 d2, q1
-+        vqmovun.s16 d3, q2
-+        vqmovun.s16 d4, q3
-+        vqmovun.s16 d5, q4
-+
-+        vst1.32 {d2[0]}, [a1,:32], a2
-+        vst1.32 {d2[1]}, [a1,:32], a2
-+        vst1.32 {d3[0]}, [a1,:32], a2
-+        vst1.32 {d3[1]}, [a1,:32], a2
-+        vst1.32 {d4[0]}, [a1,:32], a2
-+        vst1.32 {d4[1]}, [a1,:32], a2
-+        vst1.32 {d5[0]}, [a1,:32], a2
-+        vst1.32 {d5[1]}, [a1,:32], a2
-+        mov pc, lr
-+        .endfunc
-+
-+        .align 4
-+const:  .short W1, W2, W3, W4, W5, W6, W7, W4c
-+
-+        .macro idct_start data
-+        pld [\data]
-+        pld [\data, #64]
-+        push {v1-v3, lr}
-+        vpush {d8-d15}
-+        adr a4, const
-+        vld1.64 {d0,d1}, [a4,:128]
-+        .endm
-+
-+        .macro idct_end
-+        vpop {d8-d15}
-+        pop {v1-v3, pc}
-+        .endm
-+
-+        .align
-+        .global ff_simple_idct_neon
-+        .type ff_simple_idct_neon, %function
-+        .func ff_simple_idct_neon
-+/* void ff_simple_idct_neon(DCTELEM *data); */
-+ff_simple_idct_neon:
-+        idct_start a1
-+
-+        mov a3, a1
-+        bl idct_row4_neon
-+        bl idct_row4_neon
-+        add a3, a3, #-128
-+        bl idct_col4_neon
-+        add a3, a3, #-128
-+        idct_col4_st16
-+        add a3, a3, #-120
-+        bl idct_col4_neon
-+        add a3, a3, #-128
-+        idct_col4_st16
-+
-+        idct_end
-+        .endfunc
-+
-+        .align
-+        .global ff_simple_idct_put_neon
-+        .type ff_simple_idct_put_neon, %function
-+        .func ff_simple_idct_put_neon
-+/* void ff_simple_idct_put_neon(uint8_t *dst, int line_size, DCTELEM *data); */
-+ff_simple_idct_put_neon:
-+        idct_start a3
-+
-+        bl idct_row4_neon
-+        bl idct_row4_neon
-+        add a3, a3, #-128
-+        bl idct_col4_neon
-+        bl idct_col4_st8
-+        sub a1, a1, a2, lsl #3
-+        add a1, a1, #4
-+        add a3, a3, #-120
-+        bl idct_col4_neon
-+        bl idct_col4_st8
-+
-+        idct_end
-+        .endfunc
-+
-+        .align
-+        .global ff_simple_idct_add_neon
-+        .type ff_simple_idct_add_neon, %function
-+        .func ff_simple_idct_add_neon
-+/* void ff_simple_idct_add_neon(uint8_t *dst, int line_size, DCTELEM *data); */
-+ff_simple_idct_add_neon:
-+        idct_start a3
-+
-+        bl idct_row4_neon
-+        bl idct_row4_neon
-+        add a3, a3, #-128
-+        bl idct_col4_neon
-+        bl idct_col4_add8
-+        sub a1, a1, a2, lsl #3
-+        add a1, a1, #4
-+        add a3, a3, #-120
-+        bl idct_col4_neon
-+        bl idct_col4_add8
-+
-+        idct_end
-+        .endfunc
-diff -Nurd mythtv.orig/libs/libavcodec/avcodec.h mythtv/libs/libavcodec/avcodec.h
---- mythtv.orig/libs/libavcodec/avcodec.h      2008-07-23 12:19:11.000000000 +0200
-+++ mythtv/libs/libavcodec/avcodec.h   2008-07-24 19:56:46.953198000 +0200
-@@ -1328,6 +1328,8 @@
- #define FF_IDCT_SIMPLEARMV6   17
- #define FF_IDCT_SIMPLEVIS     18
- #define FF_IDCT_WMV2          19
-+#define FF_IDCT_FAAN          20
-+#define FF_IDCT_SIMPLENEON    21
-     /**
-      * slice count
-diff -Nurd mythtv.orig/libs/libavcodec/libavcodec.pro mythtv/libs/libavcodec/libavcodec.pro
---- mythtv.orig/libs/libavcodec/libavcodec.pro 2008-07-23 12:19:10.000000000 +0200
-+++ mythtv/libs/libavcodec/libavcodec.pro      2008-07-24 19:54:01.503198000 +0200
-@@ -413,6 +413,8 @@
- contains( HAVE_ARMV6, yes )      { SOURCES += armv4l/simple_idct_armv6.S }
-+contains( HAVE_NEON, yes )      { SOURCES += armv4l/float_arm_vfp.c armv4l/simple_idct_neon.S armv4l/dsputil_neon.c armv4l/h264dsp_neon.S }
-+
- contains( HAVE_VIS, yes ) {
-     SOURCES += sparc/dsputil_vis.c
-     SOURCES += sparc/simple_idct_vis.c
-diff -Nurd mythtv.orig/libs/libavcodec/utils.c mythtv/libs/libavcodec/utils.c
---- mythtv.orig/libs/libavcodec/utils.c        2008-07-23 12:19:10.000000000 +0200
-+++ mythtv/libs/libavcodec/utils.c     2008-07-24 19:58:12.403198000 +0200
-@@ -594,6 +594,7 @@
- {"sh4", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SH4, INT_MIN, INT_MAX, V|E|D, "idct"},
- {"simplearm", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARM, INT_MIN, INT_MAX, V|E|D, "idct"},
- {"simplearmv5te", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEARMV5TE, INT_MIN, INT_MAX, V|E|D, "idct"},
-+{"simpleneon", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLENEON, INT_MIN, INT_MAX, V|E|D, "idct"},
- {"h264", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_H264, INT_MIN, INT_MAX, V|E|D, "idct"},
- {"vp3", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_VP3, INT_MIN, INT_MAX, V|E|D, "idct"},
- {"ipp", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_IPP, INT_MIN, INT_MAX, V|E|D, "idct"},
diff --git a/recipes/mythtv/mythtv-0.21/no-cortex-deadlock.patch b/recipes/mythtv/mythtv-0.21/no-cortex-deadlock.patch
deleted file mode 100644 (file)
index 4e93af1..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Tue, 29 Jul 2008 21:13:14 +0000 (+0100)
-Subject: ARM: work around Cortex-A8 erratum 451034
-X-Git-Url: http://git.mansr.com/?p=ffmpeg.mru;a=commitdiff_plain;h=c6bbb0c33f6f681b8265a43f8744735de5a9d45e
-
-ARM: work around Cortex-A8 erratum 451034
-
-On Cortex-A8 r1p0 and r1p1, executing a NEON store with an integer
-store in the store buffer, can cause a processor deadlock under
-certain conditions.
-
-A DMB instruction at the start of every NEON function ensures that
-the integer store buffer is always empty before executing any NEON
-store, thus avoiding the deadlock condition.
-
-See ARM Cortex-A8 Errata Notice (PR120-PRDC-008070) for full details.
----
-
-diff --git b/mythtv/libs/libavcodec/armv4l/dsputil_neon.c b/mythtv/libs/libavcodec/armv4l/dsputil_neon.c
-index fa0602d..4fbadfc 100644
---- b/mythtv/libs/libavcodec/armv4l/dsputil_neon.c
-+++ b/mythtv/libs/libavcodec/armv4l/dsputil_neon.c
-@@ -28,6 +28,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-                                         int h, int x, int y);
- #define PUT_PIXELS_16_X2(vhadd)                                 \
-+        "dmb                                         \n\t"      \
-         "1:                                          \n\t"      \
-         "vld1.64   {d0,d1,d2}, [%[p]], %[line_size]  \n\t"      \
-         "vld1.64   {d4,d5,d6}, [%[p]], %[line_size]  \n\t"      \
-@@ -46,6 +47,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-         "lsl       %[l2], %[line_size], #1            \n\t"     \
-         "vld1.64   {d0,d1}, [%[p0]], %[l2]            \n\t"     \
-         "vld1.64   {d2,d3}, [%[p1]], %[l2]            \n\t"     \
-+        "dmb                                          \n\t"     \
-         "1:                                           \n\t"     \
-         "subs      %[h], %[h], #2                     \n\t"     \
-          vhadd".u8 q2, q0, q1                         \n\t"     \
-@@ -69,6 +71,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-         "vaddl.u8   q10, d1, d3                          \n\t"  \
-         "vaddl.u8   q9,  d4, d6                          \n\t"  \
-         "vaddl.u8   q11, d5, d7                          \n\t"  \
-+        "dmb                                             \n\t"  \
-         "1:                                              \n\t"  \
-         "subs       %[h], %[h], #2                       \n\t"  \
-         "vld1.64    {d0,d1,d2}, [%[p0]], %[l2]           \n\t"  \
-@@ -98,6 +101,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-         "bgt     1b                                      \n\t"
- #define PUT_PIXELS_8_X2(vhadd)                          \
-+        "dmb                                      \n\t" \
-         "1:                                       \n\t" \
-         "vld1.64   {d0,d1}, [%[p]], %[line_size]  \n\t" \
-         "vld1.64   {d2,d3}, [%[p]], %[line_size]  \n\t" \
-@@ -116,6 +120,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-         "lsl       %[l2], %[line_size], #1        \n\t" \
-         "vld1.64   {d0}, [%[p0]], %[l2]           \n\t" \
-         "vld1.64   {d1}, [%[p1]], %[l2]           \n\t" \
-+        "dmb                                      \n\t" \
-         "1:                                       \n\t" \
-         "subs      %[h], %[h], #2                 \n\t" \
-          vhadd".u8 d4, d0, d1                     \n\t" \
-@@ -137,6 +142,7 @@ extern void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride,
-         "vext.8     d6, d2, d3, #1                  \n\t"       \
-         "vaddl.u8   q8, d0, d4                      \n\t"       \
-         "vaddl.u8   q9, d2, d6                      \n\t"       \
-+        "dmb                                        \n\t"       \
-         "1:                                         \n\t"       \
-         "subs       %[h], %[h], #2                  \n\t"       \
-         "vld1.64    {d0,d1}, [%[p0]], %[l2]         \n\t"       \
-@@ -161,6 +167,7 @@ static void put_pixels16_neon(uint8_t *block, const uint8_t *pixels,
-                               int line_size, int h)
- {
-     asm volatile(
-+        "dmb                                        \n\t"
-         "1:                                         \n\t"
-         "vld1.64 {d0,d1}, [%[pixels]], %[line_size] \n\t"
-         "vld1.64 {d2,d3}, [%[pixels]], %[line_size] \n\t"
-@@ -224,6 +231,7 @@ static void put_pixels8_neon(uint8_t *block, const uint8_t *pixels,
-                              int line_size, int h)
- {
-     asm volatile(
-+        "dmb                                \n\t"
-         "1:                                 \n\t"
-         "vld1.64 {d0}, [%[p]], %[line_size] \n\t"
-         "vld1.64 {d1}, [%[p]], %[line_size] \n\t"
-diff --git b/mythtv/libs/libavcodec/armv4l/h264dsp_neon.S b/mythtv/libs/libavcodec/armv4l/h264dsp_neon.S
-index a766867..8171ee2 100644
---- b/mythtv/libs/libavcodec/armv4l/h264dsp_neon.S
-+++ b/mythtv/libs/libavcodec/armv4l/h264dsp_neon.S
-@@ -40,6 +40,8 @@ ff_put_h264_chroma_mc8_neon:
-         sub       r4, r4, r5, lsl #3
-         add       r4, r4, #64
-+        dmb
-+
-         beq       2f
-         add       r5, r1, r2
-diff --git b/mythtv/libs/libavcodec/armv4l/simple_idct_neon.S b/mythtv/libs/libavcodec/armv4l/simple_idct_neon.S
-index 943e04f..abda6b2 100644
---- b/mythtv/libs/libavcodec/armv4l/simple_idct_neon.S
-+++ b/mythtv/libs/libavcodec/armv4l/simple_idct_neon.S
-@@ -307,9 +307,10 @@ idct_col4_st8:
- const:  .short W1, W2, W3, W4, W5, W6, W7, W4c
-         .macro idct_start data
-+        push {v1-v3, lr}
-         pld [\data]
-         pld [\data, #64]
--        push {v1-v3, lr}
-+        dmb
-         vpush {d8-d15}
-         adr a4, const
-         vld1.64 {d0,d1}, [a4,:128]
diff --git a/recipes/mythtv/mythtv_0.18.1.bb b/recipes/mythtv/mythtv_0.18.1.bb
deleted file mode 100644 (file)
index 2d3f55c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-require mythtv.inc
-
-inherit qmake2 qt3x11
-
-PR = "r2"
-
-SRC_URI += "file://msmpeg-underscore-pic.patch;patch=1 \
-           file://settings.pro"
-
-
-do_configure_prepend() {
-# it's not autotools anyway, so we call ./configure directly
-       find . -name "Makefile"|xargs rm -f
-       ./configure     --prefix=/usr           \
-                       --mandir=/usr/man       \
-                       --disable-mp3lame       \
-                       --enable-vorbis         \
-                       --disable-faad          \
-                       --disable-faadbin       \
-                       --disable-faac          \
-                       --disable-mingw32       \
-                       --enable-a52            \
-                       --disable-a52bin        \
-                       --enable-pp             \
-                       --enable-shared-pp      \
-                       --enable-shared         \
-                       --disable-amr_nb        \
-                       --disable-amr_nb-fixed  \
-                       --disable-sunmlib       \
-                                               \
-                       --cpu=${MYTHTV_ARCH}    \
-                       --enable-mmx            \
-                       --disable-altivec       \
-                       --enable-v4l            \
-                       --enable-audio-oss      \
-                       --disable-audio-beos    \
-                       --enable-dv1394         \
-                       --enable-network        \
-                       --enable-zlib           \
-                       --enable-simple_idct    \
-                       --disable-vhook         \
-                       --disable-mpegaudio-hp  \
-                       --enable-ffserver       \
-                       --enable-ffplay         \
-                       --enable-risky
-
-       install -m 0644 ${WORKDIR}/settings.pro ${S}/
-       sed 's!PREFIX =.*!PREFIX = ${prefix}!' < settings.pro > settings.pro.new
-       mv settings.pro.new settings.pro
-}
diff --git a/recipes/mythtv/mythtv_0.20.bb b/recipes/mythtv/mythtv_0.20.bb
deleted file mode 100644 (file)
index 467ed51..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-require mythtv.inc
-
-inherit qmake2 qt3x11
-
-DEPENDS += "openchrome"
-PR = "r1"
-
-SRC_URI += "file://configure.patch;patch=1 \
-            file://libmyth-libdir.patch;patch=1"
-
-# Seen on the mythtv web page:
-# http://www.mythtv.org/mc/fix-mythweb-in-0.20.diff;patch=1
-
-QMAKE_PROFILES = "mythtv.pro"
-
-mythlibs = "mythavutil mythavcodec mythavformat myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
-PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
-
-FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
-FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
-RDEPENDS_mythtv-frontend = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
-FILES_mythtv-bin = "${bindir}"
-FILES_mythtv-filters = "${libdir}/mythtv/filters"
-FILES_mythtv-data = "${datadir}"
-RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES_DYNAMIC = "mythtv-theme-*"
-
-python __anonymous () {
-    import bb
-
-    mythlibs = bb.data.getVar('mythlibs', d).split()
-    pv = bb.data.expand(bb.data.getVar("PV", d), d)
-
-    for m in mythlibs:
-        bb.data.setVar("FILES_lib%s%s" % (m, pv), "${libdir}/lib%s-%s.so.*" % (m, pv), d)
-        bb.data.setVar("FILES_lib%s%s-dev" % (m, pv), "${libdir}/lib%s-%s.*" % (m, pv), d)
-
-    packages = " ".join(map(lambda x: "lib%s%s lib%s%s-dev" % (x, pv, x, pv), mythlibs) + bb.data.getVar("PACKAGES", d).split())
-
-    bb.data.setVar("PACKAGES", packages, d)
-}
-do_configure_prepend() {
-# it's not autotools anyway, so we call ./configure directly
-       find . -name "Makefile"|xargs rm -f
-       ./configure     --prefix=/usr           \
-                       --mandir=/usr/man       \
-                       --cpu=${MYTHTV_ARCH}    \
-                       --enable-mmx            \
-                       --disable-altivec       \
-                       --enable-v4l            \
-                       --enable-audio-oss      \
-                       --enable-proc-opt       \
-                       --enable-xvmc           \
-                       --enable-xvmc-pro       \
-                       --enable-dvb            \
-                       --dvb-path=${STAGING_INCDIR}
-
-       sed 's!PREFIX =.*!PREFIX = ${prefix}!;/INCLUDEPATH += $${PREFIX}\/include/d' < settings.pro > settings.pro.new
-       mv settings.pro.new settings.pro
-}
-
-python populate_packages_prepend () {
-       new_packages = []
-
-       def the_hook(file, pkg, pattern, format, basename):
-               new_packages.append(pkg)
-
-       do_split_packages(d, root=bb.data.expand('${datadir}/mythtv/themes', d), file_regex='(.*)', output_pattern='mythtv-theme-%s', description='MythTV theme %s', allow_dirs=True, hook=the_hook, prepend=True)
-
-       bb.data.setVar("RDEPENDS_${PN}", "%s %s" % (bb.data.getVar("RDEPENDS_${PN}", d), " ".join(new_packages)), d)
-}
diff --git a/recipes/mythtv/mythtv_0.21.bb b/recipes/mythtv/mythtv_0.21.bb
deleted file mode 100644 (file)
index 89b9b11..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-require mythtv.inc
-
-inherit qmake qt3x11
-
-PR = "${SRCREV}+r5"
-REALPV = "0.21"
-
-SRCREV = "20763"
-SRC_URI = "svn://svn.mythtv.org/svn/branches/release-0-21-fixes;module=mythtv;proto=http"
-
-SRC_URI += " \
-            file://ffmpeg-arm-update.diff;patch=1 \
-            file://no-cortex-deadlock.patch;patch=1;pnum=2 \
-            file://configure.patch;patch=1 \
-            file://configh \
-           file://configmak \
-           "
-
-S = "${WORKDIR}/mythtv"
-
-QMAKE_PROFILES = "mythtv.pro"
-
-mythlibs = "mythavutil mythavcodec mythavformat myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
-PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
-
-FILES_${PN}-dbg += "${libdir}/mythtv/filters/.debug"
-FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
-FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
-RDEPENDS_mythtv-frontend = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
-FILES_mythtv-bin = "${bindir}/*"
-FILES_mythtv-filters = "${libdir}/mythtv/filters/*"
-FILES_mythtv-data = "${datadir}"
-RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES_DYNAMIC = "mythtv-theme-*"
-
-python __anonymous () {
-    import bb
-
-    mythlibs = bb.data.getVar('mythlibs', d).split()
-    pv = bb.data.expand(bb.data.getVar("REALPV", d), d)
-
-    for m in mythlibs:
-        bb.data.setVar("FILES_lib%s%s" % (m, pv), "${libdir}/lib%s-%s.so.*" % (m, pv), d)
-        bb.data.setVar("FILES_lib%s%s-dev" % (m, pv), "${libdir}/lib%s-%s.*" % (m, pv), d)
-
-    packages = " ".join(map(lambda x: "lib%s%s lib%s%s-dev" % (x, pv, x, pv), mythlibs) + bb.data.getVar("PACKAGES", d).split())
-
-    bb.data.setVar("PACKAGES", packages, d)
-}
-
-EXTRA_OECONF_armv5te = " --enable-armv5te "
-EXTRA_OECONF_armv6 = " --enable-armv6 "
-EXTRA_OECONF_armv7a = " --enable-armv6"
-
-#build with support for the iwmmxt instruction and pxa270fb overlay support (pxa270 and up)
-#not every iwmmxt machine has the lcd connected to pxafb, but building the module doesn't hurt
-MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', 'iwmmxt', '${MY_ARCH}',d)}"
-
-MY_TARGET_CC_ARCH := "${TARGET_CC_ARCH}"
-TARGET_CC_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', '-march=iwmmxt -mtune=iwmmxt', '${MY_TARGET_CC_ARCH}',d)}"
-
-EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'iwmmxt', '--enable-pxa --enable-iwmmxt', '',d)} "
-
-do_configure_prepend() {
-# it's not autotools anyway, so we call ./configure directly
-       find . -name "Makefile"|xargs rm -f
-
-       ./configure     --prefix=/usr           \
-                       --mandir=/usr/man       \
-                       --cpu=${MYTHTV_ARCH}    \
-                       --arch=${MYTHTV_ARCH} \
-                       --disable-altivec       \
-                       --disable-directfb      \
-                       --disable-opengl-video \
-                       --disable-strip \
-                       --enable-v4l            \
-                       --enable-audio-oss      \
-                       --enable-proc-opt       \
-                       --enable-dvb            \
-                       --enable-libmp3lame \
-                       --cross-compile \
-                       --dvb-path=${STAGING_INCDIR} \
-                       --with-bindings= \
-                       ${EXTRA_OECONF}
-
-       sed 's!PREFIX =.*!PREFIX = ${prefix}!;/INCLUDEPATH += $${PREFIX}\/include/d' < settings.pro > settings.pro.new
-       mv settings.pro.new settings.pro
-       for pro in ${S}/*/*pro ${S}/*/*/*pro ${S}/*/*/*/*pro ; do
-               sed -i -e s:opengl::g $pro
-       done
-       sed -i /.SUBDIR/d ${S}/bindings/*pro
-       cat ${WORKDIR}/configh >> ${S}/config.h
-       cat ${WORKDIR}/configmak  ${OPTSMAK} >> ${S}/config.mak
-}
-
-python populate_packages_prepend () {
-       new_packages = []
-
-       def the_hook(file, pkg, pattern, format, basename):
-               new_packages.append(pkg)
-
-       do_split_packages(d, root=bb.data.expand('${datadir}/mythtv/themes', d), file_regex='(.*)', output_pattern='mythtv-theme-%s', description='MythTV theme %s', allow_dirs=True, hook=the_hook, prepend=True)
-
-       bb.data.setVar("RDEPENDS_${PN}", "%s %s" % (bb.data.getVar("RDEPENDS_${PN}", d), " ".join(new_packages)), d)
-}