summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini32
-rw-r--r--recipes/mythtv/mythtv-0.18.1/msmpeg-underscore-pic.patch85
-rw-r--r--recipes/mythtv/mythtv-0.20/configure.patch90
-rw-r--r--recipes/mythtv/mythtv-0.20/libmyth-libdir.patch11
-rw-r--r--recipes/mythtv/mythtv-0.21/configure.patch183
-rw-r--r--recipes/mythtv/mythtv-0.21/ffmpeg-arm-update.diff1669
-rw-r--r--recipes/mythtv/mythtv-0.21/no-cortex-deadlock.patch115
-rw-r--r--recipes/mythtv/mythtv_0.18.1.bb50
-rw-r--r--recipes/mythtv/mythtv_0.20.bb73
-rw-r--r--recipes/mythtv/mythtv_0.21.bb108
10 files changed, 0 insertions, 2416 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 498e0502a5..87614166d8 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -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
index a73ca9950e..0000000000
--- a/recipes/mythtv/mythtv-0.18.1/msmpeg-underscore-pic.patch
+++ /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
index 03281eb7e5..0000000000
--- a/recipes/mythtv/mythtv-0.20/configure.patch
+++ /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
index 0ecfddcb53..0000000000
--- a/recipes/mythtv/mythtv-0.20/libmyth-libdir.patch
+++ /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
index 3b0b9a313a..0000000000
--- a/recipes/mythtv/mythtv-0.21/configure.patch
+++ /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
index d0e32eb512..0000000000
--- a/recipes/mythtv/mythtv-0.21/ffmpeg-arm-update.diff
+++ /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