[SCM] libav/master: add additional post-0.8b2 patches

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Tue Jan 17 21:39:56 UTC 2012


The following commit has been merged in the master branch:
commit 0322d7458e8ddb1a18a5b6d3e72b87e72e3cb461
Author: Reinhard Tartler <siretart at tauware.de>
Date:   Tue Jan 17 22:30:39 2012 +0100

    add additional post-0.8b2 patches

diff --git a/debian/patches/post-0.8b2/0001-Fix-a-bunch-of-platform-name-and-other-typos.patch b/debian/patches/post-0.8b2/0001-Fix-a-bunch-of-platform-name-and-other-typos.patch
index 5326b20..be13b7e 100644
--- a/debian/patches/post-0.8b2/0001-Fix-a-bunch-of-platform-name-and-other-typos.patch
+++ b/debian/patches/post-0.8b2/0001-Fix-a-bunch-of-platform-name-and-other-typos.patch
@@ -1,7 +1,7 @@
 From 5ea20630b4cc96a6538a6a11b08698debe3a303a Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Mon, 12 Dec 2011 21:21:24 +0100
-Subject: [PATCH 01/63] Fix a bunch of platform name and other typos.
+Subject: [PATCH 01/67] Fix a bunch of platform name and other typos.
 
 ---
  Doxyfile                      |    2 +-
diff --git a/debian/patches/post-0.8b2/0002-doc-Fix-names-of-av_log-color-environment-variables.patch b/debian/patches/post-0.8b2/0002-doc-Fix-names-of-av_log-color-environment-variables.patch
index d9e0a95..27adeef 100644
--- a/debian/patches/post-0.8b2/0002-doc-Fix-names-of-av_log-color-environment-variables.patch
+++ b/debian/patches/post-0.8b2/0002-doc-Fix-names-of-av_log-color-environment-variables.patch
@@ -1,7 +1,7 @@
 From 1466a5181b516a4d33cfd0da0c8222589742df27 Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Wed, 11 Jan 2012 10:49:49 +0100
-Subject: [PATCH 02/63] doc: Fix names of av_log color environment variables.
+Subject: [PATCH 02/67] doc: Fix names of av_log color environment variables.
 
 ---
  doc/avtools-common-opts.texi |    4 ++--
diff --git a/debian/patches/post-0.8b2/0003-doc-Replace-ffmpeg-references-in-avserver-config-fil.patch b/debian/patches/post-0.8b2/0003-doc-Replace-ffmpeg-references-in-avserver-config-fil.patch
index 249ae25..2aeec4e 100644
--- a/debian/patches/post-0.8b2/0003-doc-Replace-ffmpeg-references-in-avserver-config-fil.patch
+++ b/debian/patches/post-0.8b2/0003-doc-Replace-ffmpeg-references-in-avserver-config-fil.patch
@@ -1,7 +1,7 @@
 From f1355dfcd6cf0a4d413d7b04c2c166b825d559ce Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Wed, 11 Jan 2012 10:50:35 +0100
-Subject: [PATCH 03/63] doc: Replace ffmpeg references in avserver config file
+Subject: [PATCH 03/67] doc: Replace ffmpeg references in avserver config file
  by avconv.
 
 ---
diff --git a/debian/patches/post-0.8b2/0004-avcodec-add-GSM-parser.patch b/debian/patches/post-0.8b2/0004-avcodec-add-GSM-parser.patch
index 81c57cc..211fa6c 100644
--- a/debian/patches/post-0.8b2/0004-avcodec-add-GSM-parser.patch
+++ b/debian/patches/post-0.8b2/0004-avcodec-add-GSM-parser.patch
@@ -1,7 +1,7 @@
 From 82390f57d1714fdc952c15ba91511d93f2e59bfc Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Sun, 8 Jan 2012 19:50:31 -0500
-Subject: [PATCH 04/63] avcodec: add GSM parser
+Subject: [PATCH 04/67] avcodec: add GSM parser
 
 The WAVE demuxer returns packets with many blocks per frame, which needs to be
 parsed into single blocks. This has a side-effect of fixing the timestamps.
diff --git a/debian/patches/post-0.8b2/0005-gsm-demuxer-return-packets-with-only-1-gsm-block-at-.patch b/debian/patches/post-0.8b2/0005-gsm-demuxer-return-packets-with-only-1-gsm-block-at-.patch
index dcbdc34..14567bf 100644
--- a/debian/patches/post-0.8b2/0005-gsm-demuxer-return-packets-with-only-1-gsm-block-at-.patch
+++ b/debian/patches/post-0.8b2/0005-gsm-demuxer-return-packets-with-only-1-gsm-block-at-.patch
@@ -1,7 +1,7 @@
 From 467879eb54526d187847bbbd32723500ab0ab330 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Mon, 9 Jan 2012 13:48:46 -0500
-Subject: [PATCH 05/63] gsm demuxer: return packets with only 1 gsm block at a
+Subject: [PATCH 05/67] gsm demuxer: return packets with only 1 gsm block at a
  time.
 
 fixes stream copy of raw gsm to mov.
diff --git a/debian/patches/post-0.8b2/0006-gsm-demuxer-use-generic-seeking-instead-of-a-gsm-spe.patch b/debian/patches/post-0.8b2/0006-gsm-demuxer-use-generic-seeking-instead-of-a-gsm-spe.patch
index 06c702a..e6a718b 100644
--- a/debian/patches/post-0.8b2/0006-gsm-demuxer-use-generic-seeking-instead-of-a-gsm-spe.patch
+++ b/debian/patches/post-0.8b2/0006-gsm-demuxer-use-generic-seeking-instead-of-a-gsm-spe.patch
@@ -1,7 +1,7 @@
 From f01f6a847474755ee00a86c599cda3cbadef34fe Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Mon, 9 Jan 2012 13:49:52 -0500
-Subject: [PATCH 06/63] gsm demuxer: use generic seeking instead of a
+Subject: [PATCH 06/67] gsm demuxer: use generic seeking instead of a
  gsm-specific function.
 
 Since packets all contain only a single block, the generic seek function can
diff --git a/debian/patches/post-0.8b2/0007-pcmenc-set-frame_size-to-0.patch b/debian/patches/post-0.8b2/0007-pcmenc-set-frame_size-to-0.patch
index c3583d7..af93e1c 100644
--- a/debian/patches/post-0.8b2/0007-pcmenc-set-frame_size-to-0.patch
+++ b/debian/patches/post-0.8b2/0007-pcmenc-set-frame_size-to-0.patch
@@ -1,7 +1,7 @@
 From 56f22b7e16006a4201ed4cf9d21e5ec26faea638 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Tue, 10 Jan 2012 15:17:39 -0500
-Subject: [PATCH 07/63] pcmenc: set frame_size to 0.
+Subject: [PATCH 07/67] pcmenc: set frame_size to 0.
 
 This indicates that the actual frame size is based on the buf_size passed to
 avcodec_encode_audio().
diff --git a/debian/patches/post-0.8b2/0008-fft-init-functions-with-INIT_XMM-YMM.patch b/debian/patches/post-0.8b2/0008-fft-init-functions-with-INIT_XMM-YMM.patch
index 36bba23..8510b9e 100644
--- a/debian/patches/post-0.8b2/0008-fft-init-functions-with-INIT_XMM-YMM.patch
+++ b/debian/patches/post-0.8b2/0008-fft-init-functions-with-INIT_XMM-YMM.patch
@@ -1,7 +1,7 @@
 From e7d02b04dcfb65d1873b81bd3281442ac5ddec1d Mon Sep 17 00:00:00 2001
 From: Henrik Gramner <hengar-6 at student.ltu.se>
 Date: Wed, 11 Jan 2012 17:40:34 +0000
-Subject: [PATCH 08/63] fft: init functions with INIT_XMM/YMM.
+Subject: [PATCH 08/67] fft: init functions with INIT_XMM/YMM.
 
 This is required to handle clobbering of XMM registers on Win64
 correctly. Fixes FFT and all tests depending on FFT on Win64.
diff --git a/debian/patches/post-0.8b2/0009-latmdec-Check-AudioSpecificConfig-length-before-deco.patch b/debian/patches/post-0.8b2/0009-latmdec-Check-AudioSpecificConfig-length-before-deco.patch
index 3a933e1..65d2ec5 100644
--- a/debian/patches/post-0.8b2/0009-latmdec-Check-AudioSpecificConfig-length-before-deco.patch
+++ b/debian/patches/post-0.8b2/0009-latmdec-Check-AudioSpecificConfig-length-before-deco.patch
@@ -1,7 +1,7 @@
 From b5fc571e4f730579f328ae9cf77435cb7fddc53d Mon Sep 17 00:00:00 2001
 From: Alex Converse <alex.converse at gmail.com>
 Date: Wed, 11 Jan 2012 14:03:57 -0800
-Subject: [PATCH 09/63] latmdec: Check AudioSpecificConfig length before
+Subject: [PATCH 09/67] latmdec: Check AudioSpecificConfig length before
  decoding extradata.
 
 This is different than a normal get_bits() over read because
diff --git a/debian/patches/post-0.8b2/0010-rgb2rgb-rgb12tobgr12.patch b/debian/patches/post-0.8b2/0010-rgb2rgb-rgb12tobgr12.patch
index 5f6a6be..4816eae 100644
--- a/debian/patches/post-0.8b2/0010-rgb2rgb-rgb12tobgr12.patch
+++ b/debian/patches/post-0.8b2/0010-rgb2rgb-rgb12tobgr12.patch
@@ -1,7 +1,7 @@
 From f7f3563214a4deb4bf664057a4cce0c4bf0bdb02 Mon Sep 17 00:00:00 2001
 From: Paul B Mahol <onemda at gmail.com>
 Date: Wed, 11 Jan 2012 19:19:00 +0000
-Subject: [PATCH 10/63] rgb2rgb: rgb12tobgr12()
+Subject: [PATCH 10/67] rgb2rgb: rgb12tobgr12()
 
 Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0011-vsrc_buffer-release-the-buffer-on-uninit.patch b/debian/patches/post-0.8b2/0011-vsrc_buffer-release-the-buffer-on-uninit.patch
index 3240841..8e3a154 100644
--- a/debian/patches/post-0.8b2/0011-vsrc_buffer-release-the-buffer-on-uninit.patch
+++ b/debian/patches/post-0.8b2/0011-vsrc_buffer-release-the-buffer-on-uninit.patch
@@ -1,7 +1,7 @@
 From 43fe6a29050fc34848731aa220292587f7ace5bd Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Fri, 30 Dec 2011 20:56:06 +0100
-Subject: [PATCH 11/63] vsrc_buffer: release the buffer on uninit.
+Subject: [PATCH 11/67] vsrc_buffer: release the buffer on uninit.
 
 ---
  libavfilter/vsrc_buffer.c |    9 +++++++++
diff --git a/debian/patches/post-0.8b2/0012-lavfi-move-version-macros-to-a-new-installed-header-.patch b/debian/patches/post-0.8b2/0012-lavfi-move-version-macros-to-a-new-installed-header-.patch
index 1916617..2a97941 100644
--- a/debian/patches/post-0.8b2/0012-lavfi-move-version-macros-to-a-new-installed-header-.patch
+++ b/debian/patches/post-0.8b2/0012-lavfi-move-version-macros-to-a-new-installed-header-.patch
@@ -1,7 +1,7 @@
 From 3167dc9515810bbdd86d99d773bcf84657d2e72a Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Sat, 31 Dec 2011 16:20:10 +0100
-Subject: [PATCH 12/63] lavfi: move version macros to a new installed header
+Subject: [PATCH 12/67] lavfi: move version macros to a new installed header
  version.h
 
 ---
diff --git a/debian/patches/post-0.8b2/0013-avconv-use-AVFrame.width-height-format-instead-of-co.patch b/debian/patches/post-0.8b2/0013-avconv-use-AVFrame.width-height-format-instead-of-co.patch
index 8ea641b..a6ff051 100644
--- a/debian/patches/post-0.8b2/0013-avconv-use-AVFrame.width-height-format-instead-of-co.patch
+++ b/debian/patches/post-0.8b2/0013-avconv-use-AVFrame.width-height-format-instead-of-co.patch
@@ -1,7 +1,7 @@
 From b2ce3b998b90c9ec8dcefe4b2c45fcf5b2f0a903 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Sat, 31 Dec 2011 17:15:50 +0100
-Subject: [PATCH 13/63] avconv: use AVFrame.width/height/format instead of
+Subject: [PATCH 13/67] avconv: use AVFrame.width/height/format instead of
  corresponding AVCodecContext fields
 
 ---
diff --git a/debian/patches/post-0.8b2/0014-rv34-DC-only-inverse-transform.patch b/debian/patches/post-0.8b2/0014-rv34-DC-only-inverse-transform.patch
index 36b0200..41a743e 100644
--- a/debian/patches/post-0.8b2/0014-rv34-DC-only-inverse-transform.patch
+++ b/debian/patches/post-0.8b2/0014-rv34-DC-only-inverse-transform.patch
@@ -1,7 +1,7 @@
 From 3faa303a47e0c3b59a53988e0f76018930c6cb1a Mon Sep 17 00:00:00 2001
 From: Christophe GISQUET <christophe.gisquet at gmail.com>
 Date: Sun, 1 Jan 2012 18:33:22 +0100
-Subject: [PATCH 14/63] rv34: DC-only inverse transform
+Subject: [PATCH 14/67] rv34: DC-only inverse transform
 
 When decoding coefficients, detect whether the block is DC-only, and take
 advantage of this knowledge to perform DC-only inverse transform.
diff --git a/debian/patches/post-0.8b2/0015-indeo4-add-some-missing-static-and-const-qualifiers.patch b/debian/patches/post-0.8b2/0015-indeo4-add-some-missing-static-and-const-qualifiers.patch
index 2616e33..8b25e7b 100644
--- a/debian/patches/post-0.8b2/0015-indeo4-add-some-missing-static-and-const-qualifiers.patch
+++ b/debian/patches/post-0.8b2/0015-indeo4-add-some-missing-static-and-const-qualifiers.patch
@@ -1,7 +1,7 @@
 From 08bab32cf1dff7dc25dab4f010c42c13ba9627c7 Mon Sep 17 00:00:00 2001
 From: Kostya Shishkov <kostya.shishkov at gmail.com>
 Date: Thu, 12 Jan 2012 10:01:33 +0100
-Subject: [PATCH 15/63] indeo4: add some missing static and const qualifiers
+Subject: [PATCH 15/67] indeo4: add some missing static and const qualifiers
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
diff --git a/debian/patches/post-0.8b2/0016-riff-remove-references-to-sonic-codec-ids.patch b/debian/patches/post-0.8b2/0016-riff-remove-references-to-sonic-codec-ids.patch
index 7106848..f2b2631 100644
--- a/debian/patches/post-0.8b2/0016-riff-remove-references-to-sonic-codec-ids.patch
+++ b/debian/patches/post-0.8b2/0016-riff-remove-references-to-sonic-codec-ids.patch
@@ -1,7 +1,7 @@
 From 0fd88d398896353074fee153259dbf3530ca423f Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:12:59 +0100
-Subject: [PATCH 16/63] riff: remove references to sonic codec ids
+Subject: [PATCH 16/67] riff: remove references to sonic codec ids
 
 They are deprecated and will be purged on next major bump.
 ---
diff --git a/debian/patches/post-0.8b2/0017-mpegvideo_enc-ifdef-out-replace-references-to-deprec.patch b/debian/patches/post-0.8b2/0017-mpegvideo_enc-ifdef-out-replace-references-to-deprec.patch
index fb541c1..fe4b3fd 100644
--- a/debian/patches/post-0.8b2/0017-mpegvideo_enc-ifdef-out-replace-references-to-deprec.patch
+++ b/debian/patches/post-0.8b2/0017-mpegvideo_enc-ifdef-out-replace-references-to-deprec.patch
@@ -1,7 +1,7 @@
 From 0c71cc65266469253d531e8101a211ce8f26387c Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:25:05 +0100
-Subject: [PATCH 17/63] mpegvideo_enc: ifdef out/replace references to
+Subject: [PATCH 17/67] mpegvideo_enc: ifdef out/replace references to
  deprecated codec flags.
 
 ---
diff --git a/debian/patches/post-0.8b2/0018-nellymoserdec-SAMPLE_FMT-AV_SAMPLE_FMT.patch b/debian/patches/post-0.8b2/0018-nellymoserdec-SAMPLE_FMT-AV_SAMPLE_FMT.patch
index 67ea893..3bb39b0 100644
--- a/debian/patches/post-0.8b2/0018-nellymoserdec-SAMPLE_FMT-AV_SAMPLE_FMT.patch
+++ b/debian/patches/post-0.8b2/0018-nellymoserdec-SAMPLE_FMT-AV_SAMPLE_FMT.patch
@@ -1,7 +1,7 @@
 From d54f1e640790b9690cdb4f543f374016615ec000 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:26:11 +0100
-Subject: [PATCH 18/63] nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT
+Subject: [PATCH 18/67] nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT
 
 ---
  libavcodec/nellymoserdec.c |    2 +-
diff --git a/debian/patches/post-0.8b2/0019-lavc-ifdef-out-parse_only-AVOption.patch b/debian/patches/post-0.8b2/0019-lavc-ifdef-out-parse_only-AVOption.patch
index 36ae4e8..23c541c 100644
--- a/debian/patches/post-0.8b2/0019-lavc-ifdef-out-parse_only-AVOption.patch
+++ b/debian/patches/post-0.8b2/0019-lavc-ifdef-out-parse_only-AVOption.patch
@@ -1,7 +1,7 @@
 From a29c25a9b27456367c7550364d5ba5d7e3798323 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:28:15 +0100
-Subject: [PATCH 19/63] lavc: ifdef out parse_only AVOption
+Subject: [PATCH 19/67] lavc: ifdef out parse_only AVOption
 
 ---
  libavcodec/options.c |    2 ++
diff --git a/debian/patches/post-0.8b2/0020-lavc-replace-some-remaining-FF_I_TYPE-with-AV_PICTUR.patch b/debian/patches/post-0.8b2/0020-lavc-replace-some-remaining-FF_I_TYPE-with-AV_PICTUR.patch
index 422ba7f..8ea97fa 100644
--- a/debian/patches/post-0.8b2/0020-lavc-replace-some-remaining-FF_I_TYPE-with-AV_PICTUR.patch
+++ b/debian/patches/post-0.8b2/0020-lavc-replace-some-remaining-FF_I_TYPE-with-AV_PICTUR.patch
@@ -1,7 +1,7 @@
 From f3d02a8b280e189bb59db0f194d224bffd4db573 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:29:43 +0100
-Subject: [PATCH 20/63] lavc: replace some remaining FF_I_TYPE with
+Subject: [PATCH 20/67] lavc: replace some remaining FF_I_TYPE with
  AV_PICTURE_TYPE_I
 
 ---
diff --git a/debian/patches/post-0.8b2/0021-avserver-remove-code-using-deprecated-CODEC_CAP_PARS.patch b/debian/patches/post-0.8b2/0021-avserver-remove-code-using-deprecated-CODEC_CAP_PARS.patch
index 388e9ae..119c601 100644
--- a/debian/patches/post-0.8b2/0021-avserver-remove-code-using-deprecated-CODEC_CAP_PARS.patch
+++ b/debian/patches/post-0.8b2/0021-avserver-remove-code-using-deprecated-CODEC_CAP_PARS.patch
@@ -1,7 +1,7 @@
 From e01a29a461ec15aad745fa89e510a92918d872aa Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:33:16 +0100
-Subject: [PATCH 21/63] avserver: remove code using deprecated
+Subject: [PATCH 21/67] avserver: remove code using deprecated
  CODEC_CAP_PARSE_ONLY.
 
 ---
diff --git a/debian/patches/post-0.8b2/0022-lavf-undeprecate-read_seek.patch b/debian/patches/post-0.8b2/0022-lavf-undeprecate-read_seek.patch
index 6c596dc..af75068 100644
--- a/debian/patches/post-0.8b2/0022-lavf-undeprecate-read_seek.patch
+++ b/debian/patches/post-0.8b2/0022-lavf-undeprecate-read_seek.patch
@@ -1,7 +1,7 @@
 From e5c708151e3dbf09c9564051c432b1b83a1674d0 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:36:11 +0100
-Subject: [PATCH 22/63] lavf: undeprecate read_seek().
+Subject: [PATCH 22/67] lavf: undeprecate read_seek().
 
 The "new seeking API" was never finished and nobody is working on it.
 ---
diff --git a/debian/patches/post-0.8b2/0023-ffmenc-remove-references-to-deprecated-AVFormatConte.patch b/debian/patches/post-0.8b2/0023-ffmenc-remove-references-to-deprecated-AVFormatConte.patch
index 8a79346..18bc599 100644
--- a/debian/patches/post-0.8b2/0023-ffmenc-remove-references-to-deprecated-AVFormatConte.patch
+++ b/debian/patches/post-0.8b2/0023-ffmenc-remove-references-to-deprecated-AVFormatConte.patch
@@ -1,7 +1,7 @@
 From 44bcab5883fcfdc9e9b1cc5315e994fd33391deb Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:38:13 +0100
-Subject: [PATCH 23/63] ffmenc: remove references to deprecated
+Subject: [PATCH 23/67] ffmenc: remove references to deprecated
  AVFormatContext.timestamp.
 
 ---
diff --git a/debian/patches/post-0.8b2/0024-avprobe-use-avio_size-instead-of-deprecated-AVFormat.patch b/debian/patches/post-0.8b2/0024-avprobe-use-avio_size-instead-of-deprecated-AVFormat.patch
index 9baea20..8fc244f 100644
--- a/debian/patches/post-0.8b2/0024-avprobe-use-avio_size-instead-of-deprecated-AVFormat.patch
+++ b/debian/patches/post-0.8b2/0024-avprobe-use-avio_size-instead-of-deprecated-AVFormat.patch
@@ -1,7 +1,7 @@
 From 136ee32da3c728fb4e3490393efb947cc7c4e898 Mon Sep 17 00:00:00 2001
 From: Anton Khirnov <anton at khirnov.net>
 Date: Thu, 12 Jan 2012 09:45:13 +0100
-Subject: [PATCH 24/63] avprobe: use avio_size() instead of deprecated
+Subject: [PATCH 24/67] avprobe: use avio_size() instead of deprecated
  AVFormatContext.file_size.
 
 ---
diff --git a/debian/patches/post-0.8b2/0025-rv34-NEON-optimised-dc-only-inverse-transform.patch b/debian/patches/post-0.8b2/0025-rv34-NEON-optimised-dc-only-inverse-transform.patch
index 86954ed..56f785f 100644
--- a/debian/patches/post-0.8b2/0025-rv34-NEON-optimised-dc-only-inverse-transform.patch
+++ b/debian/patches/post-0.8b2/0025-rv34-NEON-optimised-dc-only-inverse-transform.patch
@@ -1,7 +1,7 @@
 From e1e369049e3d2f88eed6ed38eb3dd704681c7f1a Mon Sep 17 00:00:00 2001
 From: Janne Grunau <janne-libav at jannau.net>
 Date: Thu, 12 Jan 2012 17:21:48 +0100
-Subject: [PATCH 25/63] rv34: NEON optimised dc only inverse transform
+Subject: [PATCH 25/67] rv34: NEON optimised dc only inverse transform
 
 30-50% faster than the C implementation, 0.5% overall speedup on
 bourne.rmvb.
diff --git a/debian/patches/post-0.8b2/0026-rv34-fix-and-optimise-frame-dependency-checking.patch b/debian/patches/post-0.8b2/0026-rv34-fix-and-optimise-frame-dependency-checking.patch
index cbb898f..f1bf1b2 100644
--- a/debian/patches/post-0.8b2/0026-rv34-fix-and-optimise-frame-dependency-checking.patch
+++ b/debian/patches/post-0.8b2/0026-rv34-fix-and-optimise-frame-dependency-checking.patch
@@ -1,7 +1,7 @@
 From 3547f8e8f8418af0c578eba0de62ecba08e460c2 Mon Sep 17 00:00:00 2001
 From: Janne Grunau <janne-libav at jannau.net>
 Date: Wed, 11 Jan 2012 20:10:23 +0100
-Subject: [PATCH 26/63] rv34: fix and optimise frame dependency checking
+Subject: [PATCH 26/67] rv34: fix and optimise frame dependency checking
 
 The sporadic threading errors during fate-rv30 were caused by calling
 ff_thread_await_progress with mb row -1 as argument. That returns
diff --git a/debian/patches/post-0.8b2/0027-avio-Fix-the-value-of-the-deprecated-URL_FLAG_NONBLO.patch b/debian/patches/post-0.8b2/0027-avio-Fix-the-value-of-the-deprecated-URL_FLAG_NONBLO.patch
index 4516349..a103c0d 100644
--- a/debian/patches/post-0.8b2/0027-avio-Fix-the-value-of-the-deprecated-URL_FLAG_NONBLO.patch
+++ b/debian/patches/post-0.8b2/0027-avio-Fix-the-value-of-the-deprecated-URL_FLAG_NONBLO.patch
@@ -1,7 +1,7 @@
 From 6b9e4eea839b9f75dc4cad628c923d5c70d704d1 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
 Date: Thu, 12 Jan 2012 17:06:04 +0200
-Subject: [PATCH 27/63] avio: Fix the value of the deprecated
+Subject: [PATCH 27/67] avio: Fix the value of the deprecated
  URL_FLAG_NONBLOCK
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
diff --git a/debian/patches/post-0.8b2/0028-ARM-rv34-fix-asm-syntax-in-dc-transform-functions.patch b/debian/patches/post-0.8b2/0028-ARM-rv34-fix-asm-syntax-in-dc-transform-functions.patch
index ebc2d9d..8993591 100644
--- a/debian/patches/post-0.8b2/0028-ARM-rv34-fix-asm-syntax-in-dc-transform-functions.patch
+++ b/debian/patches/post-0.8b2/0028-ARM-rv34-fix-asm-syntax-in-dc-transform-functions.patch
@@ -1,7 +1,7 @@
 From 81dc6a2a3cefc1f1bbbc249052b3374e524d1ea0 Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans at mansr.com>
 Date: Thu, 12 Jan 2012 19:37:31 +0000
-Subject: [PATCH 28/63] ARM: rv34: fix asm syntax in dc transform functions
+Subject: [PATCH 28/67] ARM: rv34: fix asm syntax in dc transform functions
 
 Signed-off-by: Mans Rullgard <mans at mansr.com>
 Signed-off-by: Janne Grunau <janne-libav at jannau.net>
diff --git a/debian/patches/post-0.8b2/0029-utils-Check-for-extradata-size-overflows.patch b/debian/patches/post-0.8b2/0029-utils-Check-for-extradata-size-overflows.patch
index 19c3067..ce0fb08 100644
--- a/debian/patches/post-0.8b2/0029-utils-Check-for-extradata-size-overflows.patch
+++ b/debian/patches/post-0.8b2/0029-utils-Check-for-extradata-size-overflows.patch
@@ -1,7 +1,7 @@
 From 4df30f71147b7bedd4457bcfa0e4efe01085af9f Mon Sep 17 00:00:00 2001
 From: Alex Converse <alex.converse at gmail.com>
 Date: Thu, 12 Jan 2012 11:12:24 -0800
-Subject: [PATCH 29/63] utils: Check for extradata size overflows.
+Subject: [PATCH 29/67] utils: Check for extradata size overflows.
 
 ---
  libavcodec/internal.h |    7 +++++++
diff --git a/debian/patches/post-0.8b2/0030-cabac-Remove-ff_h264_lps_state-array.patch b/debian/patches/post-0.8b2/0030-cabac-Remove-ff_h264_lps_state-array.patch
index c281100..e1d42aa 100644
--- a/debian/patches/post-0.8b2/0030-cabac-Remove-ff_h264_lps_state-array.patch
+++ b/debian/patches/post-0.8b2/0030-cabac-Remove-ff_h264_lps_state-array.patch
@@ -1,7 +1,7 @@
 From 64d779f2f7607070a87b0a70edeba5e51834ce85 Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Thu, 12 Jan 2012 21:11:27 +0100
-Subject: [PATCH 30/63] cabac: Remove ff_h264_lps_state array.
+Subject: [PATCH 30/67] cabac: Remove ff_h264_lps_state array.
 
 It was only ever used in the cabac test program, but never initialized.
 ---
diff --git a/debian/patches/post-0.8b2/0031-cabac-Mark-ff_h264_mps_state-array-as-static-it-is-o.patch b/debian/patches/post-0.8b2/0031-cabac-Mark-ff_h264_mps_state-array-as-static-it-is-o.patch
index 87be293..cf660ff 100644
--- a/debian/patches/post-0.8b2/0031-cabac-Mark-ff_h264_mps_state-array-as-static-it-is-o.patch
+++ b/debian/patches/post-0.8b2/0031-cabac-Mark-ff_h264_mps_state-array-as-static-it-is-o.patch
@@ -1,7 +1,7 @@
 From 0a60780c7fe72e2f9cc41efc152b3807954b7820 Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Thu, 12 Jan 2012 21:35:34 +0100
-Subject: [PATCH 31/63] cabac: Mark ff_h264_mps_state array as static, it is
+Subject: [PATCH 31/67] cabac: Mark ff_h264_mps_state array as static, it is
  only used within cabac.c.
 
 ---
diff --git a/debian/patches/post-0.8b2/0032-cabac-split-cabac.h-into-declarations-and-function-d.patch b/debian/patches/post-0.8b2/0032-cabac-split-cabac.h-into-declarations-and-function-d.patch
index 9baaeb8..a61d1a8 100644
--- a/debian/patches/post-0.8b2/0032-cabac-split-cabac.h-into-declarations-and-function-d.patch
+++ b/debian/patches/post-0.8b2/0032-cabac-split-cabac.h-into-declarations-and-function-d.patch
@@ -1,7 +1,7 @@
 From 55b9ef18e4a139fc24a3b695cb3c176f3ced09b8 Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Thu, 12 Jan 2012 21:56:02 +0100
-Subject: [PATCH 32/63] cabac: split cabac.h into declarations and function
+Subject: [PATCH 32/67] cabac: split cabac.h into declarations and function
  definitions
 
 This fixes standalone compilation of some decoders with --disable-optimizations.
diff --git a/debian/patches/post-0.8b2/0033-swscale-fix-invalid-conversions-and-memory-problems.patch b/debian/patches/post-0.8b2/0033-swscale-fix-invalid-conversions-and-memory-problems.patch
index 4187f46..b61e2ca 100644
--- a/debian/patches/post-0.8b2/0033-swscale-fix-invalid-conversions-and-memory-problems.patch
+++ b/debian/patches/post-0.8b2/0033-swscale-fix-invalid-conversions-and-memory-problems.patch
@@ -1,7 +1,7 @@
 From e7843db3df0224cafcc1af9da103a3a7286ae2ba Mon Sep 17 00:00:00 2001
 From: "Ronald S. Bultje" <rsbultje at gmail.com>
 Date: Thu, 12 Jan 2012 15:37:58 -0800
-Subject: [PATCH 33/63] swscale: fix invalid conversions and memory problems.
+Subject: [PATCH 33/67] swscale: fix invalid conversions and memory problems.
 
 Fixes problems where rgbToRgbWrapper() is called even though it doesn't
 support this particular conversion (e.g. converting from RGB444 to
diff --git a/debian/patches/post-0.8b2/0034-swscale-test-fix-stack-overread.patch b/debian/patches/post-0.8b2/0034-swscale-test-fix-stack-overread.patch
index c186961..b58a8c9 100644
--- a/debian/patches/post-0.8b2/0034-swscale-test-fix-stack-overread.patch
+++ b/debian/patches/post-0.8b2/0034-swscale-test-fix-stack-overread.patch
@@ -1,7 +1,7 @@
 From 06b0246da07e7c9d95476b35275a63cd6dbc300c Mon Sep 17 00:00:00 2001
 From: "Ronald S. Bultje" <rsbultje at gmail.com>
 Date: Thu, 12 Jan 2012 15:38:37 -0800
-Subject: [PATCH 34/63] swscale-test: fix stack overread.
+Subject: [PATCH 34/67] swscale-test: fix stack overread.
 
 Fixes problems in swscale-test where it gives a 3-member array to a
 function expecting a 4-member array.
diff --git a/debian/patches/post-0.8b2/0035-rgb2rgb-rgb12to15.patch b/debian/patches/post-0.8b2/0035-rgb2rgb-rgb12to15.patch
index e47c003..235400c 100644
--- a/debian/patches/post-0.8b2/0035-rgb2rgb-rgb12to15.patch
+++ b/debian/patches/post-0.8b2/0035-rgb2rgb-rgb12to15.patch
@@ -1,7 +1,7 @@
 From 0cc1a86dc34b020d857f946e47edf9e425274330 Mon Sep 17 00:00:00 2001
 From: Paul B Mahol <onemda at gmail.com>
 Date: Thu, 12 Jan 2012 20:28:47 +0000
-Subject: [PATCH 35/63] rgb2rgb: rgb12to15()
+Subject: [PATCH 35/67] rgb2rgb: rgb12to15()
 
 Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0036-ARM-4-byte-align-start-of-all-asm-functions.patch b/debian/patches/post-0.8b2/0036-ARM-4-byte-align-start-of-all-asm-functions.patch
index 2cbb9ae..d3f8a6d 100644
--- a/debian/patches/post-0.8b2/0036-ARM-4-byte-align-start-of-all-asm-functions.patch
+++ b/debian/patches/post-0.8b2/0036-ARM-4-byte-align-start-of-all-asm-functions.patch
@@ -1,7 +1,7 @@
 From 5c5e1ea3cdccc5af0b2d3de15a9c3739c30ec88c Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans at mansr.com>
 Date: Fri, 13 Jan 2012 18:56:36 +0000
-Subject: [PATCH 36/63] ARM: 4-byte align start of all asm functions
+Subject: [PATCH 36/67] ARM: 4-byte align start of all asm functions
 
 Due to apprent bugs in the GNU assembler and/or linker, relocations
 can be incorrectly processed if the alignment of a Thumb instruction
diff --git a/debian/patches/post-0.8b2/0037-ARM-fix-Thumb-mode-simple_idct_arm.patch b/debian/patches/post-0.8b2/0037-ARM-fix-Thumb-mode-simple_idct_arm.patch
index 8a8ed3c..206a9d8 100644
--- a/debian/patches/post-0.8b2/0037-ARM-fix-Thumb-mode-simple_idct_arm.patch
+++ b/debian/patches/post-0.8b2/0037-ARM-fix-Thumb-mode-simple_idct_arm.patch
@@ -1,7 +1,7 @@
 From 71b3a63e9c87057a1cc1431ac1edd6854e1e4e44 Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans at mansr.com>
 Date: Fri, 13 Jan 2012 19:03:14 +0000
-Subject: [PATCH 37/63] ARM: fix Thumb-mode simple_idct_arm
+Subject: [PATCH 37/67] ARM: fix Thumb-mode simple_idct_arm
 
 The alignment directive must obviously precede the label.
 This was never noticed in ARM mode since the location is
diff --git a/debian/patches/post-0.8b2/0038-FATE-add-tests-for-targa.patch b/debian/patches/post-0.8b2/0038-FATE-add-tests-for-targa.patch
index a9c36cc..c3f9e8b 100644
--- a/debian/patches/post-0.8b2/0038-FATE-add-tests-for-targa.patch
+++ b/debian/patches/post-0.8b2/0038-FATE-add-tests-for-targa.patch
@@ -1,7 +1,7 @@
 From 68d6012c723bb520daac5336dcb046c0a5dd3826 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Wed, 11 Jan 2012 20:06:46 -0500
-Subject: [PATCH 38/63] FATE: add tests for targa
+Subject: [PATCH 38/67] FATE: add tests for targa
 
 Based on a patch by Oana Stratulat <oanaandreeastratulat at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0039-FATE-fix-targa-tests-on-big-endian-systems.patch b/debian/patches/post-0.8b2/0039-FATE-fix-targa-tests-on-big-endian-systems.patch
index 47848ac..6a50648 100644
--- a/debian/patches/post-0.8b2/0039-FATE-fix-targa-tests-on-big-endian-systems.patch
+++ b/debian/patches/post-0.8b2/0039-FATE-fix-targa-tests-on-big-endian-systems.patch
@@ -1,7 +1,7 @@
 From e1a7af6f290489812ed47359eaff0edac2f5df95 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Fri, 13 Jan 2012 16:14:48 -0500
-Subject: [PATCH 39/63] FATE: fix targa tests on big-endian systems
+Subject: [PATCH 39/67] FATE: fix targa tests on big-endian systems
 
 ---
  tests/fate/image.mak |    8 ++++----
diff --git a/debian/patches/post-0.8b2/0040-targa-add-support-for-rgb555-palette.patch b/debian/patches/post-0.8b2/0040-targa-add-support-for-rgb555-palette.patch
index 0e3f459..e28385f 100644
--- a/debian/patches/post-0.8b2/0040-targa-add-support-for-rgb555-palette.patch
+++ b/debian/patches/post-0.8b2/0040-targa-add-support-for-rgb555-palette.patch
@@ -1,7 +1,7 @@
 From faaebcdf6bd67880f50e7ec180f24870e7bd8cef Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Mon, 2 Jan 2012 15:17:12 -0500
-Subject: [PATCH 40/63] targa: add support for rgb555 palette
+Subject: [PATCH 40/67] targa: add support for rgb555 palette
 
 ---
  libavcodec/targa.c |   39 +++++++++++++++++++++++++++++----------
diff --git a/debian/patches/post-0.8b2/0041-FATE-enable-the-2-remaining-targa-conformance-suite-.patch b/debian/patches/post-0.8b2/0041-FATE-enable-the-2-remaining-targa-conformance-suite-.patch
index bc6d6a9..462644f 100644
--- a/debian/patches/post-0.8b2/0041-FATE-enable-the-2-remaining-targa-conformance-suite-.patch
+++ b/debian/patches/post-0.8b2/0041-FATE-enable-the-2-remaining-targa-conformance-suite-.patch
@@ -1,7 +1,7 @@
 From 9c2f9b0e2dd5bd570e571890bdfb6e77190c4c55 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Fri, 13 Jan 2012 16:41:15 -0500
-Subject: [PATCH 41/63] FATE: enable the 2 remaining targa conformance suite
+Subject: [PATCH 41/67] FATE: enable the 2 remaining targa conformance suite
  tests
 
 ---
diff --git a/debian/patches/post-0.8b2/0042-fate-add-missing-reference-files-for-targa-tests-in-.patch b/debian/patches/post-0.8b2/0042-fate-add-missing-reference-files-for-targa-tests-in-.patch
index daceaa3..63010ab 100644
--- a/debian/patches/post-0.8b2/0042-fate-add-missing-reference-files-for-targa-tests-in-.patch
+++ b/debian/patches/post-0.8b2/0042-fate-add-missing-reference-files-for-targa-tests-in-.patch
@@ -1,7 +1,7 @@
 From 502bf3b462e40ae64d088c3246ef48fa618e4572 Mon Sep 17 00:00:00 2001
 From: Janne Grunau <janne-libav at jannau.net>
 Date: Fri, 13 Jan 2012 23:52:59 +0100
-Subject: [PATCH 42/63] fate: add missing reference files for targa tests in
+Subject: [PATCH 42/67] fate: add missing reference files for targa tests in
  9c2f9b0e2
 
 Fixes fate-targa-conformance-CCM8 and fate-targa-conformance-UCM8.
diff --git a/debian/patches/post-0.8b2/0043-FATE-convert-output-to-rgba-for-the-targa-tests-whic.patch b/debian/patches/post-0.8b2/0043-FATE-convert-output-to-rgba-for-the-targa-tests-whic.patch
index 8f3e873..1eb804c 100644
--- a/debian/patches/post-0.8b2/0043-FATE-convert-output-to-rgba-for-the-targa-tests-whic.patch
+++ b/debian/patches/post-0.8b2/0043-FATE-convert-output-to-rgba-for-the-targa-tests-whic.patch
@@ -1,7 +1,7 @@
 From 4c82c6d9932bfdb1a9eb288d566ded9d40ca5e24 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Fri, 13 Jan 2012 18:40:12 -0500
-Subject: [PATCH 43/63] FATE: convert output to rgba for the targa tests which
+Subject: [PATCH 43/67] FATE: convert output to rgba for the targa tests which
  currently output pal8
 
 fixes the tests on big-endian systems
diff --git a/debian/patches/post-0.8b2/0044-libx264-Don-t-leave-max_b_frames-as-1-if-the-user-di.patch b/debian/patches/post-0.8b2/0044-libx264-Don-t-leave-max_b_frames-as-1-if-the-user-di.patch
index 7ccec84..0d5eae6 100644
--- a/debian/patches/post-0.8b2/0044-libx264-Don-t-leave-max_b_frames-as-1-if-the-user-di.patch
+++ b/debian/patches/post-0.8b2/0044-libx264-Don-t-leave-max_b_frames-as-1-if-the-user-di.patch
@@ -1,7 +1,7 @@
 From 57facb73ab940b1117c22ef9b70a6e5ec237112d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
 Date: Fri, 13 Jan 2012 23:41:16 +0200
-Subject: [PATCH 44/63] libx264: Don't leave max_b_frames as -1 if the user
+Subject: [PATCH 44/67] libx264: Don't leave max_b_frames as -1 if the user
  didn't set it
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
diff --git a/debian/patches/post-0.8b2/0045-swscale-change-yuv2yuvX-code-to-use-cpuflag.patch b/debian/patches/post-0.8b2/0045-swscale-change-yuv2yuvX-code-to-use-cpuflag.patch
index fb791c7..2b5ebc3 100644
--- a/debian/patches/post-0.8b2/0045-swscale-change-yuv2yuvX-code-to-use-cpuflag.patch
+++ b/debian/patches/post-0.8b2/0045-swscale-change-yuv2yuvX-code-to-use-cpuflag.patch
@@ -1,7 +1,7 @@
 From 3c172a41065dd3fe1d11af9f0eb16d789d08daf2 Mon Sep 17 00:00:00 2001
 From: "Ronald S. Bultje" <rsbultje at gmail.com>
 Date: Fri, 13 Jan 2012 11:21:15 -0800
-Subject: [PATCH 45/63] swscale: change yuv2yuvX code to use cpuflag().
+Subject: [PATCH 45/67] swscale: change yuv2yuvX code to use cpuflag().
 
 ---
  libswscale/x86/output.asm |  117 ++++++++++++++++++++++-----------------------
diff --git a/debian/patches/post-0.8b2/0046-configure-provide-libavfilter-version.h-header-to-ge.patch b/debian/patches/post-0.8b2/0046-configure-provide-libavfilter-version.h-header-to-ge.patch
index aa083ff..269adfb 100644
--- a/debian/patches/post-0.8b2/0046-configure-provide-libavfilter-version.h-header-to-ge.patch
+++ b/debian/patches/post-0.8b2/0046-configure-provide-libavfilter-version.h-header-to-ge.patch
@@ -1,7 +1,7 @@
 From b5c2b5af6a2f5baade1d0688703b3e46fa2f6cf2 Mon Sep 17 00:00:00 2001
 From: Stefano Sabatini <stefasab at gmail.com>
 Date: Fri, 13 Jan 2012 16:23:55 +0100
-Subject: [PATCH 46/63] configure: provide libavfilter/version.h header to
+Subject: [PATCH 46/67] configure: provide libavfilter/version.h header to
  get_version()
 
 Fix libavfilter library version numbers generation, which was broken in
diff --git a/debian/patches/post-0.8b2/0047-cosmetics-Move-static-and-inline-attributes-to-more-.patch b/debian/patches/post-0.8b2/0047-cosmetics-Move-static-and-inline-attributes-to-more-.patch
index ab3a144..e0362b0 100644
--- a/debian/patches/post-0.8b2/0047-cosmetics-Move-static-and-inline-attributes-to-more-.patch
+++ b/debian/patches/post-0.8b2/0047-cosmetics-Move-static-and-inline-attributes-to-more-.patch
@@ -1,7 +1,7 @@
 From e44c11e9fa505da3c54738ae2d21123338a28ca6 Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Fri, 13 Jan 2012 16:35:54 +0100
-Subject: [PATCH 47/63] cosmetics: Move static and inline attributes to more
+Subject: [PATCH 47/67] cosmetics: Move static and inline attributes to more
  standard places.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
diff --git a/debian/patches/post-0.8b2/0048-sgidec-Use-bytestream2-functions-to-prevent-buffer-o.patch b/debian/patches/post-0.8b2/0048-sgidec-Use-bytestream2-functions-to-prevent-buffer-o.patch
index 2d994de..8372c54 100644
--- a/debian/patches/post-0.8b2/0048-sgidec-Use-bytestream2-functions-to-prevent-buffer-o.patch
+++ b/debian/patches/post-0.8b2/0048-sgidec-Use-bytestream2-functions-to-prevent-buffer-o.patch
@@ -1,7 +1,7 @@
 From 4cd0bdae9a62d1f0366e60603222762af31e5289 Mon Sep 17 00:00:00 2001
 From: Aneesh Dogra <lionaneesh at gmail.com>
 Date: Fri, 13 Jan 2012 23:05:57 +0530
-Subject: [PATCH 48/63] sgidec: Use bytestream2 functions to prevent buffer
+Subject: [PATCH 48/67] sgidec: Use bytestream2 functions to prevent buffer
  overreads.
 
 The patch also adds several bytestream macros to deal with native endian.
diff --git a/debian/patches/post-0.8b2/0049-vb-Use-bytestream2-functions.patch b/debian/patches/post-0.8b2/0049-vb-Use-bytestream2-functions.patch
index 2e94bba..7561d6a 100644
--- a/debian/patches/post-0.8b2/0049-vb-Use-bytestream2-functions.patch
+++ b/debian/patches/post-0.8b2/0049-vb-Use-bytestream2-functions.patch
@@ -1,7 +1,7 @@
 From 4fccc7c46c52e6ba6801ef90b9ac386330876655 Mon Sep 17 00:00:00 2001
 From: Laurentiu Ion <ionlaurentiucristian at gmail.com>
 Date: Sat, 14 Jan 2012 21:04:59 +0200
-Subject: [PATCH 49/63] vb: Use bytestream2 functions
+Subject: [PATCH 49/67] vb: Use bytestream2 functions
 
 Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0050-wavpack-fix-clipping-for-32-bit-lossy-mode.patch b/debian/patches/post-0.8b2/0050-wavpack-fix-clipping-for-32-bit-lossy-mode.patch
index b1fece1..d5a5f52 100644
--- a/debian/patches/post-0.8b2/0050-wavpack-fix-clipping-for-32-bit-lossy-mode.patch
+++ b/debian/patches/post-0.8b2/0050-wavpack-fix-clipping-for-32-bit-lossy-mode.patch
@@ -1,7 +1,7 @@
 From e6e7bfc11e93fe3499c576fa9466cb2e913b5965 Mon Sep 17 00:00:00 2001
 From: Kostya Shishkov <kostya.shishkov at gmail.com>
 Date: Sun, 15 Jan 2012 14:23:28 +0100
-Subject: [PATCH 50/63] wavpack: fix clipping for 32-bit lossy mode
+Subject: [PATCH 50/67] wavpack: fix clipping for 32-bit lossy mode
 
 Reference decoder clips data before shifting it to final range and also
 forces 32-bit lossy mode to be actually 24-bit lossy mode in order to be
diff --git a/debian/patches/post-0.8b2/0051-lavc-Relax-API-strictness-in-avcodec_decode_audio3-w.patch b/debian/patches/post-0.8b2/0051-lavc-Relax-API-strictness-in-avcodec_decode_audio3-w.patch
index b8a3f23..b98285a 100644
--- a/debian/patches/post-0.8b2/0051-lavc-Relax-API-strictness-in-avcodec_decode_audio3-w.patch
+++ b/debian/patches/post-0.8b2/0051-lavc-Relax-API-strictness-in-avcodec_decode_audio3-w.patch
@@ -1,7 +1,7 @@
 From e2ff436ef64589de8486517352e17f513886e15b Mon Sep 17 00:00:00 2001
 From: Reinhard Tartler <siretart at tauware.de>
 Date: Sun, 15 Jan 2012 20:32:11 +0100
-Subject: [PATCH 51/63] lavc: Relax API strictness in avcodec_decode_audio3
+Subject: [PATCH 51/67] lavc: Relax API strictness in avcodec_decode_audio3
  with a custom get_buffer()
 
 Do not fail audio decoding with avcodec_decode_audio3 if user has set a
diff --git a/debian/patches/post-0.8b2/0052-mov-mxfdec-Employ-more-meaningful-return-values.patch b/debian/patches/post-0.8b2/0052-mov-mxfdec-Employ-more-meaningful-return-values.patch
index aa14c3e..29f441f 100644
--- a/debian/patches/post-0.8b2/0052-mov-mxfdec-Employ-more-meaningful-return-values.patch
+++ b/debian/patches/post-0.8b2/0052-mov-mxfdec-Employ-more-meaningful-return-values.patch
@@ -1,7 +1,7 @@
 From bcd5d979aa377a16d7fa6b9993e269003281af5c Mon Sep 17 00:00:00 2001
 From: Daniel Huang <dtvrij74 at gmail.com>
 Date: Sat, 14 Jan 2012 15:25:12 -0600
-Subject: [PATCH 52/63] mov, mxfdec: Employ more meaningful return values.
+Subject: [PATCH 52/67] mov, mxfdec: Employ more meaningful return values.
 
 Signed-off-by: Diego Biurrun <diego at biurrun.de>
 ---
diff --git a/debian/patches/post-0.8b2/0053-fate-split-ADPCM-and-DPCM-test-references-into-separ.patch b/debian/patches/post-0.8b2/0053-fate-split-ADPCM-and-DPCM-test-references-into-separ.patch
index 97c2acd..341c9aa 100644
--- a/debian/patches/post-0.8b2/0053-fate-split-ADPCM-and-DPCM-test-references-into-separ.patch
+++ b/debian/patches/post-0.8b2/0053-fate-split-ADPCM-and-DPCM-test-references-into-separ.patch
@@ -1,7 +1,7 @@
 From 2df5f59ad0710a0d85114b73bd6a5094c26d08bc Mon Sep 17 00:00:00 2001
 From: Diego Biurrun <diego at biurrun.de>
 Date: Fri, 13 Jan 2012 00:58:22 +0100
-Subject: [PATCH 53/63] fate: split ADPCM and DPCM test references into
+Subject: [PATCH 53/67] fate: split ADPCM and DPCM test references into
  separate files.
 
 ---
diff --git a/debian/patches/post-0.8b2/0054-rv34-Inter-intra-MB-code-split.patch b/debian/patches/post-0.8b2/0054-rv34-Inter-intra-MB-code-split.patch
index 30a7521..06cd7fe 100644
--- a/debian/patches/post-0.8b2/0054-rv34-Inter-intra-MB-code-split.patch
+++ b/debian/patches/post-0.8b2/0054-rv34-Inter-intra-MB-code-split.patch
@@ -1,7 +1,7 @@
 From 3eeb7557637e8e48fbc64e844a94775edb496906 Mon Sep 17 00:00:00 2001
 From: Christophe GISQUET <christophe.gisquet at gmail.com>
 Date: Mon, 2 Jan 2012 20:53:54 +0100
-Subject: [PATCH 54/63] rv34: Inter/intra MB code split
+Subject: [PATCH 54/67] rv34: Inter/intra MB code split
 
 Split inter/intra macroblock handling code. This will allow further
 optimizations such as performing inverse transform and block reconstruction
diff --git a/debian/patches/post-0.8b2/0055-rv34-Intra-16x16-handling.patch b/debian/patches/post-0.8b2/0055-rv34-Intra-16x16-handling.patch
index 5097d21..61e3fd4 100644
--- a/debian/patches/post-0.8b2/0055-rv34-Intra-16x16-handling.patch
+++ b/debian/patches/post-0.8b2/0055-rv34-Intra-16x16-handling.patch
@@ -1,7 +1,7 @@
 From d78062386e425deafe9a08d109cff70b7a2de22c Mon Sep 17 00:00:00 2001
 From: Christophe GISQUET <christophe.gisquet at gmail.com>
 Date: Tue, 3 Jan 2012 00:22:11 +0100
-Subject: [PATCH 55/63] rv34: Intra 16x16 handling
+Subject: [PATCH 55/67] rv34: Intra 16x16 handling
 
 Extract processing of intra 16x16 blocks from intra macroblock
 processing.
diff --git a/debian/patches/post-0.8b2/0056-avcodec-add-a-public-function-avcodec_fill_audio_fra.patch b/debian/patches/post-0.8b2/0056-avcodec-add-a-public-function-avcodec_fill_audio_fra.patch
index a6641b2..6b5c24b 100644
--- a/debian/patches/post-0.8b2/0056-avcodec-add-a-public-function-avcodec_fill_audio_fra.patch
+++ b/debian/patches/post-0.8b2/0056-avcodec-add-a-public-function-avcodec_fill_audio_fra.patch
@@ -1,7 +1,7 @@
 From 5ee5fa021f32e0506bed6ebd183c807d5162bc72 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Thu, 15 Dec 2011 17:56:06 -0500
-Subject: [PATCH 56/63] avcodec: add a public function,
+Subject: [PATCH 56/67] avcodec: add a public function,
  avcodec_fill_audio_frame().
 
 This is a convenience function for the user to fill audio AVFrame information.
diff --git a/debian/patches/post-0.8b2/0057-avcodec-Add-avcodec_encode_audio2-as-replacement-for.patch b/debian/patches/post-0.8b2/0057-avcodec-Add-avcodec_encode_audio2-as-replacement-for.patch
index 0668d2e..d96b658 100644
--- a/debian/patches/post-0.8b2/0057-avcodec-Add-avcodec_encode_audio2-as-replacement-for.patch
+++ b/debian/patches/post-0.8b2/0057-avcodec-Add-avcodec_encode_audio2-as-replacement-for.patch
@@ -1,7 +1,7 @@
 From b2c75b6e6320b1a399d76913f9d98c56f386f98b Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Sun, 18 Dec 2011 13:20:15 -0500
-Subject: [PATCH 57/63] avcodec: Add avcodec_encode_audio2() as replacement
+Subject: [PATCH 57/67] avcodec: Add avcodec_encode_audio2() as replacement
  for avcodec_encode_audio()
 
 This allows audio encoders to optionally take an AVFrame as input and write
diff --git a/debian/patches/post-0.8b2/0058-avcodec-bump-minor-version-and-add-APIChanges-for-th.patch b/debian/patches/post-0.8b2/0058-avcodec-bump-minor-version-and-add-APIChanges-for-th.patch
index 126b8aa..073f866 100644
--- a/debian/patches/post-0.8b2/0058-avcodec-bump-minor-version-and-add-APIChanges-for-th.patch
+++ b/debian/patches/post-0.8b2/0058-avcodec-bump-minor-version-and-add-APIChanges-for-th.patch
@@ -1,7 +1,7 @@
 From a6ccae3f4c17831d1e158c6cfeecbcf92f750b03 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Sun, 18 Dec 2011 19:47:38 -0500
-Subject: [PATCH 58/63] avcodec: bump minor version and add APIChanges for the
+Subject: [PATCH 58/67] avcodec: bump minor version and add APIChanges for the
  new audio encoding API
 
 ---
diff --git a/debian/patches/post-0.8b2/0059-pcmenc-use-AVCodec.encode2.patch b/debian/patches/post-0.8b2/0059-pcmenc-use-AVCodec.encode2.patch
index ec23705..4c2b72f 100644
--- a/debian/patches/post-0.8b2/0059-pcmenc-use-AVCodec.encode2.patch
+++ b/debian/patches/post-0.8b2/0059-pcmenc-use-AVCodec.encode2.patch
@@ -1,7 +1,7 @@
 From 05f95443cac79eba959d7a1a919d77e8f401ea6f Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Sun, 8 Jan 2012 17:37:16 -0500
-Subject: [PATCH 59/63] pcmenc: use AVCodec.encode2()
+Subject: [PATCH 59/67] pcmenc: use AVCodec.encode2()
 
 ---
  libavcodec/pcm.c |   27 +++++++++++++++++----------
diff --git a/debian/patches/post-0.8b2/0060-avconv-use-avcodec_encode_audio2.patch b/debian/patches/post-0.8b2/0060-avconv-use-avcodec_encode_audio2.patch
index e7a9042..d98575b 100644
--- a/debian/patches/post-0.8b2/0060-avconv-use-avcodec_encode_audio2.patch
+++ b/debian/patches/post-0.8b2/0060-avconv-use-avcodec_encode_audio2.patch
@@ -1,7 +1,7 @@
 From ee458cb1fa3faa006785d725fb3e386174793000 Mon Sep 17 00:00:00 2001
 From: Justin Ruggles <justin.ruggles at gmail.com>
 Date: Sat, 31 Dec 2011 09:36:25 -0500
-Subject: [PATCH 60/63] avconv: use avcodec_encode_audio2()
+Subject: [PATCH 60/67] avconv: use avcodec_encode_audio2()
 
 ---
  avconv.c |  205 ++++++++++++++++++++++++++++++++------------------------------
diff --git a/debian/patches/post-0.8b2/0061-pictordec-Use-bytestream2-functions.patch b/debian/patches/post-0.8b2/0061-pictordec-Use-bytestream2-functions.patch
index 33633fe..70f72cb 100644
--- a/debian/patches/post-0.8b2/0061-pictordec-Use-bytestream2-functions.patch
+++ b/debian/patches/post-0.8b2/0061-pictordec-Use-bytestream2-functions.patch
@@ -1,7 +1,7 @@
 From d859191322d8596b6d4219269db96456267f0d04 Mon Sep 17 00:00:00 2001
 From: Laurentiu Ion <ionlaurentiucristian at gmail.com>
 Date: Mon, 16 Jan 2012 04:47:07 +0200
-Subject: [PATCH 61/63] pictordec: Use bytestream2 functions
+Subject: [PATCH 61/67] pictordec: Use bytestream2 functions
 
 Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0062-avformat-split-out-common-SMJPEG-code.patch b/debian/patches/post-0.8b2/0062-avformat-split-out-common-SMJPEG-code.patch
index 2538ac5..135c66b 100644
--- a/debian/patches/post-0.8b2/0062-avformat-split-out-common-SMJPEG-code.patch
+++ b/debian/patches/post-0.8b2/0062-avformat-split-out-common-SMJPEG-code.patch
@@ -1,7 +1,7 @@
 From 68b94f8bc3a54735c360c6e72a3698fed8aba10b Mon Sep 17 00:00:00 2001
 From: Paul B Mahol <onemda at gmail.com>
 Date: Sat, 14 Jan 2012 16:47:07 +0000
-Subject: [PATCH 62/63] avformat: split out common SMJPEG code
+Subject: [PATCH 62/67] avformat: split out common SMJPEG code
 
 This is a preparation for adding SMJPEG muxer.
 
diff --git a/debian/patches/post-0.8b2/0063-add-SMJPEG-muxer.patch b/debian/patches/post-0.8b2/0063-add-SMJPEG-muxer.patch
index 76cd074..2931c3c 100644
--- a/debian/patches/post-0.8b2/0063-add-SMJPEG-muxer.patch
+++ b/debian/patches/post-0.8b2/0063-add-SMJPEG-muxer.patch
@@ -1,7 +1,7 @@
 From ffa0923eee7707acf07a0847b6bac89b86e227dc Mon Sep 17 00:00:00 2001
 From: Paul B Mahol <onemda at gmail.com>
 Date: Sat, 14 Jan 2012 19:29:59 +0000
-Subject: [PATCH 63/63] add SMJPEG muxer
+Subject: [PATCH 63/67] add SMJPEG muxer
 
 Signed-off-by: Kostya Shishkov <kostya.shishkov at gmail.com>
 ---
diff --git a/debian/patches/post-0.8b2/0064-rv34-1-pass-inter-MB-reconstruction.patch b/debian/patches/post-0.8b2/0064-rv34-1-pass-inter-MB-reconstruction.patch
new file mode 100644
index 0000000..45f90fe
--- /dev/null
+++ b/debian/patches/post-0.8b2/0064-rv34-1-pass-inter-MB-reconstruction.patch
@@ -0,0 +1,698 @@
+From 9ba9c3402499d90e54f8aa111b62c278206d11af Mon Sep 17 00:00:00 2001
+From: Christophe GISQUET <christophe.gisquet at gmail.com>
+Date: Tue, 3 Jan 2012 20:38:29 +0100
+Subject: [PATCH 64/67] rv34: 1-pass inter MB reconstruction
+
+Implement 1-pass inverse transform and reconstruction for inter blocks.
+---
+ libavcodec/arm/rv34dsp_init_neon.c |    8 +-
+ libavcodec/arm/rv34dsp_neon.S      |   59 ++--------
+ libavcodec/rv34.c                  |  227 +++++++++++++++---------------------
+ libavcodec/rv34dsp.c               |   62 +++--------
+ libavcodec/rv34dsp.h               |    7 +-
+ libavcodec/x86/rv34dsp.asm         |    4 +-
+ libavcodec/x86/rv34dsp_init.c      |    3 +-
+ 7 files changed, 130 insertions(+), 240 deletions(-)
+
+diff --git a/libavcodec/arm/rv34dsp_init_neon.c b/libavcodec/arm/rv34dsp_init_neon.c
+index 16bda46..3984d43 100644
+--- a/libavcodec/arm/rv34dsp_init_neon.c
++++ b/libavcodec/arm/rv34dsp_init_neon.c
+@@ -23,16 +23,12 @@
+ #include "libavcodec/avcodec.h"
+ #include "libavcodec/rv34dsp.h"
+ 
+-void ff_rv34_inv_transform_neon(DCTELEM *block);
+ void ff_rv34_inv_transform_noround_neon(DCTELEM *block);
+ 
+-void ff_rv34_inv_transform_dc_neon(DCTELEM *block);
+ void ff_rv34_inv_transform_noround_dc_neon(DCTELEM *block);
+ 
+ void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
+ {
+-    c->rv34_inv_transform_tab[0]    = ff_rv34_inv_transform_neon;
+-    c->rv34_inv_transform_tab[1]    = ff_rv34_inv_transform_noround_neon;
+-    c->rv34_inv_transform_dc_tab[0] = ff_rv34_inv_transform_dc_neon;
+-    c->rv34_inv_transform_dc_tab[1] = ff_rv34_inv_transform_noround_dc_neon;
++    c->rv34_inv_transform    = ff_rv34_inv_transform_noround_neon;
++    c->rv34_inv_transform_dc = ff_rv34_inv_transform_noround_dc_neon;
+ }
+diff --git a/libavcodec/arm/rv34dsp_neon.S b/libavcodec/arm/rv34dsp_neon.S
+index 1e8d4b4..a156412 100644
+--- a/libavcodec/arm/rv34dsp_neon.S
++++ b/libavcodec/arm/rv34dsp_neon.S
+@@ -21,11 +21,7 @@
+ #include "asm.S"
+ 
+ .macro rv34_inv_transform
+-        mov             r1,  #16
+-        vld1.16         {d28}, [r0,:64], r1     @ block[i+8*0]
+-        vld1.16         {d29}, [r0,:64], r1     @ block[i+8*1]
+-        vld1.16         {d30}, [r0,:64], r1     @ block[i+8*2]
+-        vld1.16         {d31}, [r0,:64], r1     @ block[i+8*3]
++        vld1.16         {q14-q15}, [r0,:128]
+         vmov.s16        d0,  #13
+         vshll.s16       q12, d29, #3
+         vshll.s16       q13, d29, #4
+@@ -35,12 +31,12 @@
+         vmlal.s16       q10, d30, d0
+         vmull.s16       q11, d28, d0
+         vmlsl.s16       q11, d30, d0
+-        vsubw.s16       q12, q12, d29   @ z2 = block[i+8*1]*7
+-        vaddw.s16       q13, q13, d29   @ z3 = block[i+8*1]*17
++        vsubw.s16       q12, q12, d29   @ z2 = block[i+4*1]*7
++        vaddw.s16       q13, q13, d29   @ z3 = block[i+4*1]*17
+         vsubw.s16       q9,  q9,  d31
+         vaddw.s16       q1,  q1,  d31
+-        vadd.s32        q13, q13, q9    @ z3 = 17*block[i+8*1] +  7*block[i+8*3]
+-        vsub.s32        q12, q12, q1    @ z2 = 7*block[i+8*1]  - 17*block[i+8*3]
++        vadd.s32        q13, q13, q9    @ z3 = 17*block[i+4*1] +  7*block[i+4*3]
++        vsub.s32        q12, q12, q1    @ z2 = 7*block[i+4*1]  - 17*block[i+4*3]
+         vadd.s32        q1,  q10, q13   @ z0 + z3
+         vadd.s32        q2,  q11, q12   @ z1 + z2
+         vsub.s32        q8,  q10, q13   @ z0 - z3
+@@ -70,24 +66,8 @@
+         vsub.s32        q15, q14, q9    @ z0 - z3
+ .endm
+ 
+-/* void ff_rv34_inv_transform_neon(DCTELEM *block); */
+-function ff_rv34_inv_transform_neon, export=1
+-        mov             r2,  r0
+-        rv34_inv_transform
+-        vrshrn.s32      d1,  q2,  #10   @ (z1 + z2) >> 10
+-        vrshrn.s32      d0,  q1,  #10   @ (z0 + z3) >> 10
+-        vrshrn.s32      d2,  q3,  #10   @ (z1 - z2) >> 10
+-        vrshrn.s32      d3,  q15, #10   @ (z0 - z3) >> 10
+-        vst4.16         {d0[0], d1[0], d2[0], d3[0]}, [r2,:64], r1
+-        vst4.16         {d0[1], d1[1], d2[1], d3[1]}, [r2,:64], r1
+-        vst4.16         {d0[2], d1[2], d2[2], d3[2]}, [r2,:64], r1
+-        vst4.16         {d0[3], d1[3], d2[3], d3[3]}, [r2,:64], r1
+-        bx              lr
+-endfunc
+-
+ /* void rv34_inv_transform_noround_neon(DCTELEM *block); */
+ function ff_rv34_inv_transform_noround_neon, export=1
+-        mov             r2,  r0
+         rv34_inv_transform
+         vshl.s32        q11, q2,  #1
+         vshl.s32        q10, q1,  #1
+@@ -101,38 +81,23 @@ function ff_rv34_inv_transform_noround_neon, export=1
+         vshrn.s32       d1,  q11, #11   @ (z1 + z2)*3 >> 11
+         vshrn.s32       d2,  q12, #11   @ (z1 - z2)*3 >> 11
+         vshrn.s32       d3,  q13, #11   @ (z0 - z3)*3 >> 11
+-        vst4.16         {d0[0], d1[0], d2[0], d3[0]}, [r2,:64], r1
+-        vst4.16         {d0[1], d1[1], d2[1], d3[1]}, [r2,:64], r1
+-        vst4.16         {d0[2], d1[2], d2[2], d3[2]}, [r2,:64], r1
+-        vst4.16         {d0[3], d1[3], d2[3], d3[3]}, [r2,:64], r1
++        vst4.16         {d0[0], d1[0], d2[0], d3[0]}, [r0,:64]!
++        vst4.16         {d0[1], d1[1], d2[1], d3[1]}, [r0,:64]!
++        vst4.16         {d0[2], d1[2], d2[2], d3[2]}, [r0,:64]!
++        vst4.16         {d0[3], d1[3], d2[3], d3[3]}, [r0,:64]!
+         bx              lr
+ endfunc
+ 
+-/* void rv34_inv_transform_dc_c(DCTELEM *block) */
+-function ff_rv34_inv_transform_dc_neon, export=1
+-        vld1.16         {d28[]}, [r0,:16]       @ block[0]
+-        vmov.i16        d4,  #169
+-        mov             r1,  #16
+-        vmull.s16       q3,  d28, d4
+-        vrshrn.s32      d0,  q3,  #10
+-        vst1.16         {d0}, [r0,:64], r1
+-        vst1.16         {d0}, [r0,:64], r1
+-        vst1.16         {d0}, [r0,:64], r1
+-        vst1.16         {d0}, [r0,:64], r1
+-        bx              lr
+-endfunc
+ 
+ /* void rv34_inv_transform_dc_noround_c(DCTELEM *block) */
+ function ff_rv34_inv_transform_noround_dc_neon, export=1
+         vld1.16         {d28[]}, [r0,:16]       @ block[0]
+         vmov.i16        d4,  #251
+         vorr.s16        d4,  #256               @ 13^2 * 3
+-        mov             r1,  #16
+         vmull.s16       q3,  d28, d4
+         vshrn.s32       d0,  q3,  #11
+-        vst1.64         {d0}, [r0,:64], r1
+-        vst1.64         {d0}, [r0,:64], r1
+-        vst1.64         {d0}, [r0,:64], r1
+-        vst1.64         {d0}, [r0,:64], r1
++        vmov.i16        d1,  d0
++        vst1.64         {q0}, [r0,:128]!
++        vst1.64         {q0}, [r0,:128]!
+         bx              lr
+ endfunc
+diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
+index 478c93a..e6af079 100644
+--- a/libavcodec/rv34.c
++++ b/libavcodec/rv34.c
+@@ -240,15 +240,15 @@ static inline void decode_subblock(DCTELEM *dst, int code, const int is_block2,
+ {
+     int flags = modulo_three_table[code];
+ 
+-    decode_coeff(    dst+0, (flags >> 6)    , 3, gb, vlc, q);
++    decode_coeff(    dst+0*4+0, (flags >> 6)    , 3, gb, vlc, q);
+     if(is_block2){
+-        decode_coeff(dst+8, (flags >> 4) & 3, 2, gb, vlc, q);
+-        decode_coeff(dst+1, (flags >> 2) & 3, 2, gb, vlc, q);
++        decode_coeff(dst+1*4+0, (flags >> 4) & 3, 2, gb, vlc, q);
++        decode_coeff(dst+0*4+1, (flags >> 2) & 3, 2, gb, vlc, q);
+     }else{
+-        decode_coeff(dst+1, (flags >> 4) & 3, 2, gb, vlc, q);
+-        decode_coeff(dst+8, (flags >> 2) & 3, 2, gb, vlc, q);
++        decode_coeff(dst+0*4+1, (flags >> 4) & 3, 2, gb, vlc, q);
++        decode_coeff(dst+1*4+0, (flags >> 2) & 3, 2, gb, vlc, q);
+     }
+-    decode_coeff(    dst+9, (flags >> 0) & 3, 2, gb, vlc, q);
++    decode_coeff(    dst+1*4+1, (flags >> 0) & 3, 2, gb, vlc, q);
+ }
+ 
+ /**
+@@ -265,15 +265,15 @@ static inline void decode_subblock3(DCTELEM *dst, int code, const int is_block2,
+ {
+     int flags = modulo_three_table[code];
+ 
+-    decode_coeff(    dst+0, (flags >> 6)    , 3, gb, vlc, q_dc);
++    decode_coeff(    dst+0*4+0, (flags >> 6)    , 3, gb, vlc, q_dc);
+     if(is_block2){
+-        decode_coeff(dst+8, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
+-        decode_coeff(dst+1, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
++        decode_coeff(dst+1*4+0, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
++        decode_coeff(dst+0*4+1, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
+     }else{
+-        decode_coeff(dst+1, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
+-        decode_coeff(dst+8, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
++        decode_coeff(dst+0*4+1, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
++        decode_coeff(dst+1*4+0, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
+     }
+-    decode_coeff(    dst+9, (flags >> 0) & 3, 2, gb, vlc, q_ac2);
++    decode_coeff(    dst+1*4+1, (flags >> 0) & 3, 2, gb, vlc, q_ac2);
+ }
+ 
+ /**
+@@ -308,15 +308,15 @@ static inline int rv34_decode_block(DCTELEM *dst, GetBitContext *gb, RV34VLC *rv
+ 
+     if(pattern & 4){
+         code = get_vlc2(gb, rvlc->second_pattern[sc].table, 9, 2);
+-        decode_subblock(dst + 2, code, 0, gb, &rvlc->coefficient, q_ac2);
++        decode_subblock(dst + 4*0+2, code, 0, gb, &rvlc->coefficient, q_ac2);
+     }
+     if(pattern & 2){ // Looks like coefficients 1 and 2 are swapped for this block
+         code = get_vlc2(gb, rvlc->second_pattern[sc].table, 9, 2);
+-        decode_subblock(dst + 8*2, code, 1, gb, &rvlc->coefficient, q_ac2);
++        decode_subblock(dst + 4*2+0, code, 1, gb, &rvlc->coefficient, q_ac2);
+     }
+     if(pattern & 1){
+         code = get_vlc2(gb, rvlc->third_pattern[sc].table, 9, 2);
+-        decode_subblock(dst + 8*2+2, code, 0, gb, &rvlc->coefficient, q_ac2);
++        decode_subblock(dst + 4*2+2, code, 0, gb, &rvlc->coefficient, q_ac2);
+     }
+     return has_ac || pattern;
+ }
+@@ -998,11 +998,26 @@ static inline int adjust_pred16(int itype, int up, int left)
+     return itype;
+ }
+ 
++static inline void rv34_process_block(RV34DecContext *r,
++                                      uint8_t *pdst, int stride,
++                                      int fc, int sc, int q_dc, int q_ac)
++{
++    MpegEncContext *s = &r->s;
++    DCTELEM *ptr = s->block[0];
++    int has_ac = rv34_decode_block(ptr, &s->gb, r->cur_vlcs,
++                                   fc, sc, q_dc, q_ac, q_ac);
++    if(has_ac){
++        r->rdsp.rv34_idct_add(pdst, stride, ptr);
++    }else{
++        r->rdsp.rv34_idct_dc_add(pdst, stride, ptr[0]);
++        ptr[0] = 0;
++    }
++}
++
+ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+ {
+-    LOCAL_ALIGNED_16(DCTELEM, block16, [64]);
++    LOCAL_ALIGNED_16(DCTELEM, block16, [16]);
+     MpegEncContext *s    = &r->s;
+-    DSPContext     *dsp  = &s->dsp;
+     GetBitContext  *gb   = &s->gb;
+     int             q_dc = rv34_qscale_tab[ r->luma_dc_quant_i[s->qscale] ],
+                     q_ac = rv34_qscale_tab[s->qscale];
+@@ -1011,7 +1026,7 @@ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+     int       avail[6*8] = {0};
+     int i, j, itype, has_ac;
+ 
+-    memset(block16, 0, 64 * sizeof(*block16));
++    memset(block16, 0, 16 * sizeof(*block16));
+ 
+     // Set neighbour information.
+     if(r->avail_cache[1])
+@@ -1029,18 +1044,17 @@ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+ 
+     has_ac = rv34_decode_block(block16, gb, r->cur_vlcs, 3, 0, q_dc, q_dc, q_ac);
+     if(has_ac)
+-        r->rdsp.rv34_inv_transform_tab[1](block16);
++        r->rdsp.rv34_inv_transform(block16);
+     else
+-        r->rdsp.rv34_inv_transform_dc_tab[1](block16);
++        r->rdsp.rv34_inv_transform_dc(block16);
+ 
+     itype = ittrans16[intra_types[0]];
+     itype = adjust_pred16(itype, r->avail_cache[6-4], r->avail_cache[6-1]);
+     r->h.pred16x16[itype](dst, s->linesize);
+ 
+-    dsp->clear_block(ptr);
+     for(j = 0; j < 4; j++){
+         for(i = 0; i < 4; i++, cbp >>= 1){
+-            int dc = block16[i + j*8];
++            int dc = block16[i + j*4];
+ 
+             if(cbp & 1){
+                 has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->luma_vlc, 0, q_ac, q_ac, q_ac);
+@@ -1050,7 +1064,6 @@ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+             if(has_ac){
+                 ptr[0] = dc;
+                 r->rdsp.rv34_idct_add(dst+4*i, s->linesize, ptr);
+-                dsp->clear_block(ptr);
+             }else
+                 r->rdsp.rv34_idct_dc_add(dst+4*i, s->linesize, dc);
+         }
+@@ -1073,14 +1086,8 @@ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+             if(!(cbp & 1)) continue;
+             pdst   = dst + (i&1)*4 + (i&2)*2*s->uvlinesize;
+ 
+-            has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->chroma_vlc, 1, q_dc, q_ac, q_ac);
+-            if(has_ac){
+-                r->rdsp.rv34_idct_add(pdst, s->uvlinesize, ptr);
+-                dsp->clear_block(ptr);
+-            }else{
+-                r->rdsp.rv34_idct_dc_add(pdst, s->uvlinesize, ptr[0]);
+-                ptr[0] = 0;
+-            }
++            rv34_process_block(r, pdst, s->uvlinesize,
++                               r->chroma_vlc, 1, q_dc, q_ac);
+         }
+     }
+ }
+@@ -1088,14 +1095,10 @@ static void rv34_output_i16x16(RV34DecContext *r, int8_t *intra_types, int cbp)
+ static void rv34_output_intra(RV34DecContext *r, int8_t *intra_types, int cbp)
+ {
+     MpegEncContext *s   = &r->s;
+-    DSPContext     *dsp = &s->dsp;
+-    GetBitContext  *gb  = &s->gb;
+-    DCTELEM        *ptr = s->block[0];
+     uint8_t        *dst = s->dest[0];
+     int      avail[6*8] = {0};
+     int i, j, k;
+-    int idx, has_ac;
+-    int q_ac, q_dc;
++    int idx, q_ac, q_dc;
+ 
+     // Set neighbour information.
+     if(r->avail_cache[1])
+@@ -1119,14 +1122,8 @@ static void rv34_output_intra(RV34DecContext *r, int8_t *intra_types, int cbp)
+             avail[idx] = 1;
+             if(!(cbp & 1)) continue;
+ 
+-            has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->luma_vlc, 0, q_ac, q_ac, q_ac);
+-            if(has_ac){
+-                r->rdsp.rv34_idct_add(dst, s->linesize, ptr);
+-                dsp->clear_block(ptr);
+-            }else{
+-                r->rdsp.rv34_idct_dc_add(dst, s->linesize, ptr[0]);
+-                ptr[0] = 0;
+-            }
++            rv34_process_block(r, dst, s->linesize,
++                               r->luma_vlc, 0, q_ac, q_ac);
+         }
+         dst += s->linesize * 4 - 4*4;
+         intra_types += r->intra_types_stride;
+@@ -1150,15 +1147,8 @@ static void rv34_output_intra(RV34DecContext *r, int8_t *intra_types, int cbp)
+ 
+                 if(!(cbp&1)) continue;
+ 
+-                has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->chroma_vlc, 1, q_dc, q_ac, q_ac);
+-                if(has_ac){
+-                    r->rdsp.rv34_idct_add(dst + 4*i, s->uvlinesize, ptr);
+-                    dsp->clear_block(ptr);
+-                }
+-                else {
+-                    r->rdsp.rv34_idct_dc_add(dst + 4*i, s->uvlinesize, ptr[0]);
+-                    ptr[0] = 0;
+-                }
++                rv34_process_block(r, dst + 4*i, s->uvlinesize,
++                                   r->chroma_vlc, 1, q_dc, q_ac);
+             }
+ 
+             dst += 4*s->uvlinesize;
+@@ -1166,33 +1156,6 @@ static void rv34_output_intra(RV34DecContext *r, int8_t *intra_types, int cbp)
+     }
+ }
+ 
+-/**
+- * mask for retrieving all bits in coded block pattern
+- * corresponding to one 8x8 block
+- */
+-#define LUMA_CBP_BLOCK_MASK 0x33
+-
+-#define U_CBP_MASK 0x0F0000
+-#define V_CBP_MASK 0xF00000
+-
+-/** @} */ // recons group
+-
+-
+-static void rv34_apply_differences(RV34DecContext *r, int cbp)
+-{
+-    static const int shifts[4] = { 0, 2, 8, 10 };
+-    MpegEncContext *s = &r->s;
+-    int i;
+-
+-    for(i = 0; i < 4; i++)
+-        if((cbp & (LUMA_CBP_BLOCK_MASK << shifts[i])) || r->block_type == RV34_MB_P_MIX16x16)
+-            s->dsp.add_pixels_clamped(s->block[i], s->dest[0] + (i & 1)*8 + (i&2)*4*s->linesize, s->linesize);
+-    if(cbp & U_CBP_MASK)
+-        s->dsp.add_pixels_clamped(s->block[4], s->dest[1], s->uvlinesize);
+-    if(cbp & V_CBP_MASK)
+-        s->dsp.add_pixels_clamped(s->block[5], s->dest[2], s->uvlinesize);
+-}
+-
+ static int is_mv_diff_gt_3(int16_t (*motion_val)[2], int step)
+ {
+     int d;
+@@ -1237,14 +1200,15 @@ static int rv34_set_deblock_coef(RV34DecContext *r)
+ 
+ static int rv34_decode_inter_macroblock(RV34DecContext *r, int8_t *intra_types)
+ {
+-    MpegEncContext *s = &r->s;
+-    GetBitContext *gb = &s->gb;
++    MpegEncContext *s   = &r->s;
++    GetBitContext  *gb  = &s->gb;
++    uint8_t        *dst = s->dest[0];
++    DCTELEM        *ptr = s->block[0];
++    int          mb_pos = s->mb_x + s->mb_y * s->mb_stride;
+     int cbp, cbp2;
+     int q_dc, q_ac, has_ac;
+-    int i, blknum, blkoff;
+-    LOCAL_ALIGNED_16(DCTELEM, block16, [64]);
++    int i, j;
+     int dist;
+-    int mb_pos = s->mb_x + s->mb_y * s->mb_stride;
+ 
+     // Calculate which neighbours are available. Maybe it's worth optimizing too.
+     memset(r->avail_cache, 0, sizeof(r->avail_cache));
+@@ -1278,64 +1242,66 @@ static int rv34_decode_inter_macroblock(RV34DecContext *r, int8_t *intra_types)
+     }
+ 
+     if(r->is16){
+-        int luma_dc_quant = r->block_type == RV34_MB_P_MIX16x16
+-                          ? r->luma_dc_quant_p[s->qscale]
+-                          : r->luma_dc_quant_i[s->qscale];
+-        q_dc = rv34_qscale_tab[luma_dc_quant];
++        // Only for RV34_MB_P_MIX16x16
++        LOCAL_ALIGNED_16(DCTELEM, block16, [16]);
++        memset(block16, 0, 16 * sizeof(*block16));
++        q_dc = rv34_qscale_tab[ r->luma_dc_quant_p[s->qscale] ];
+         q_ac = rv34_qscale_tab[s->qscale];
+-        s->dsp.clear_block(block16);
+         if (rv34_decode_block(block16, gb, r->cur_vlcs, 3, 0, q_dc, q_dc, q_ac))
+-            r->rdsp.rv34_inv_transform_tab[1](block16);
++            r->rdsp.rv34_inv_transform(block16);
+         else
+-            r->rdsp.rv34_inv_transform_dc_tab[1](block16);
++            r->rdsp.rv34_inv_transform_dc(block16);
+ 
+         q_ac = rv34_qscale_tab[s->qscale];
+-        for(i = 0; i < 16; i++, cbp >>= 1){
+-            DCTELEM *ptr;
+-            blknum = ((i & 2) >> 1) + ((i & 8) >> 2);
+-            blkoff = ((i & 1) << 2) + ((i & 4) << 3);
+-            ptr    = s->block[blknum] + blkoff;
+-            if(cbp & 1)
+-                has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->luma_vlc, 0, q_ac, q_ac, q_ac);
+-            else
+-                has_ac = 0;
+-            ptr[0] = block16[(i & 3) | ((i & 0xC) << 1)];
+-            if(has_ac)
+-                r->rdsp.rv34_inv_transform_tab[0](ptr);
+-            else
+-                r->rdsp.rv34_inv_transform_dc_tab[0](ptr);
++
++        for(j = 0; j < 4; j++){
++            for(i = 0; i < 4; i++, cbp >>= 1){
++                int      dc   = block16[i + j*4];
++
++                if(cbp & 1){
++                    has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->luma_vlc, 0, q_ac, q_ac, q_ac);
++                }else
++                    has_ac = 0;
++
++                if(has_ac){
++                    ptr[0] = dc;
++                    r->rdsp.rv34_idct_add(dst+4*i, s->linesize, ptr);
++                }else
++                    r->rdsp.rv34_idct_dc_add(dst+4*i, s->linesize, dc);
++            }
++
++            dst += 4*s->linesize;
+         }
++
++        r->cur_vlcs = choose_vlc_set(r->si.quant, r->si.vlc_set, 1);
+     }else{
+         q_ac = rv34_qscale_tab[s->qscale];
+-        for(i = 0; i < 16; i++, cbp >>= 1){
+-            DCTELEM *ptr;
+-            if(!(cbp & 1)) continue;
+-            blknum = ((i & 2) >> 1) + ((i & 8) >> 2);
+-            blkoff = ((i & 1) << 2) + ((i & 4) << 3);
+-            ptr    = s->block[blknum] + blkoff;
+-            has_ac = rv34_decode_block(ptr, gb, r->cur_vlcs, r->luma_vlc, 0, q_ac, q_ac, q_ac);
+-            if(has_ac)
+-                r->rdsp.rv34_inv_transform_tab[0](ptr);
+-            else
+-                r->rdsp.rv34_inv_transform_dc_tab[0](ptr);
++
++        for(j = 0; j < 4; j++){
++            for(i = 0; i < 4; i++, cbp >>= 1){
++                if(!(cbp & 1)) continue;
++
++                rv34_process_block(r, dst + 4*i, s->linesize,
++                                   r->luma_vlc, 0, q_ac, q_ac);
++            }
++            dst += 4*s->linesize;
+         }
+     }
+-    if(r->block_type == RV34_MB_P_MIX16x16)
+-        r->cur_vlcs = choose_vlc_set(r->si.quant, r->si.vlc_set, 1);
++
+     q_dc = rv34_qscale_tab[rv34_chroma_quant[1][s->qscale]];
+     q_ac = rv34_qscale_tab[rv34_chroma_quant[0][s->qscale]];
+-    for(; i < 24; i++, cbp >>= 1){
+-        DCTELEM *ptr;
+-        if(!(cbp & 1)) continue;
+-        blknum = ((i & 4) >> 2) + 4;
+-        blkoff = ((i & 1) << 2) + ((i & 2) << 4);
+-        ptr    = s->block[blknum] + blkoff;
+-        if (rv34_decode_block(ptr, gb, r->cur_vlcs, r->chroma_vlc, 1, q_dc, q_ac, q_ac))
+-            r->rdsp.rv34_inv_transform_tab[0](ptr);
+-        else
+-            r->rdsp.rv34_inv_transform_dc_tab[0](ptr);
++
++    for(j = 1; j < 3; j++){
++        dst = s->dest[j];
++        for(i = 0; i < 4; i++, cbp >>= 1){
++            uint8_t *pdst;
++            if(!(cbp & 1)) continue;
++            pdst = dst + (i&1)*4 + (i&2)*2*s->uvlinesize;
++
++            rv34_process_block(r, pdst, s->uvlinesize,
++                               r->chroma_vlc, 1, q_dc, q_ac);
++        }
+     }
+-    rv34_apply_differences(r, cbp2);
+ 
+     return 0;
+ }
+@@ -1487,7 +1453,6 @@ static int rv34_decode_slice(RV34DecContext *r, int end, const uint8_t* buf, int
+     ff_init_block_index(s);
+     while(!check_slice_end(r, s)) {
+         ff_update_block_index(s);
+-        s->dsp.clear_blocks(s->block[0]);
+ 
+         if(r->si.type)
+             res = rv34_decode_inter_macroblock(r, r->intra_types + s->mb_x * 4 + 4);
+diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c
+index 91c455a..e225177 100644
+--- a/libavcodec/rv34dsp.c
++++ b/libavcodec/rv34dsp.c
+@@ -32,15 +32,15 @@
+  * @{
+  */
+ 
+-static av_always_inline void rv34_row_transform(int temp[16], const DCTELEM *block)
++static av_always_inline void rv34_row_transform(int temp[16], DCTELEM *block)
+ {
+     int i;
+ 
+     for(i = 0; i < 4; i++){
+-        const int z0 = 13*(block[i+8*0] +    block[i+8*2]);
+-        const int z1 = 13*(block[i+8*0] -    block[i+8*2]);
+-        const int z2 =  7* block[i+8*1] - 17*block[i+8*3];
+-        const int z3 = 17* block[i+8*1] +  7*block[i+8*3];
++        const int z0 = 13*(block[i+4*0] +    block[i+4*2]);
++        const int z1 = 13*(block[i+4*0] -    block[i+4*2]);
++        const int z2 =  7* block[i+4*1] - 17*block[i+4*3];
++        const int z3 = 17* block[i+4*1] +  7*block[i+4*3];
+ 
+         temp[4*i+0] = z0 + z3;
+         temp[4*i+1] = z1 + z2;
+@@ -50,38 +50,16 @@ static av_always_inline void rv34_row_transform(int temp[16], const DCTELEM *blo
+ }
+ 
+ /**
+- * Real Video 3.0/4.0 inverse transform
+- * Code is almost the same as in SVQ3, only scaling is different.
+- */
+-static void rv34_inv_transform_c(DCTELEM *block){
+-    int temp[16];
+-    int i;
+-
+-    rv34_row_transform(temp, block);
+-
+-    for(i = 0; i < 4; i++){
+-        const int z0 = 13*(temp[4*0+i] +    temp[4*2+i]) + 0x200;
+-        const int z1 = 13*(temp[4*0+i] -    temp[4*2+i]) + 0x200;
+-        const int z2 =  7* temp[4*1+i] - 17*temp[4*3+i];
+-        const int z3 = 17* temp[4*1+i] +  7*temp[4*3+i];
+-
+-        block[i*8+0] = (z0 + z3) >> 10;
+-        block[i*8+1] = (z1 + z2) >> 10;
+-        block[i*8+2] = (z1 - z2) >> 10;
+-        block[i*8+3] = (z0 - z3) >> 10;
+-    }
+-}
+-
+-/**
+  * Real Video 3.0/4.0 inverse transform + sample reconstruction
+  * Code is almost the same as in SVQ3, only scaling is different.
+  */
+-static void rv34_idct_add_c(uint8_t *dst, int stride, const DCTELEM *block){
++static void rv34_idct_add_c(uint8_t *dst, int stride, DCTELEM *block){
+     int      temp[16];
+     uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
+     int      i;
+ 
+     rv34_row_transform(temp, block);
++    memset(block, 0, 16*sizeof(DCTELEM));
+ 
+     for(i = 0; i < 4; i++){
+         const int z0 = 13*(temp[4*0+i] +    temp[4*2+i]) + 0x200;
+@@ -116,10 +94,10 @@ static void rv34_inv_transform_noround_c(DCTELEM *block){
+         const int z2 =  7* temp[4*1+i] - 17*temp[4*3+i];
+         const int z3 = 17* temp[4*1+i] +  7*temp[4*3+i];
+ 
+-        block[i*8+0] = ((z0 + z3) * 3) >> 11;
+-        block[i*8+1] = ((z1 + z2) * 3) >> 11;
+-        block[i*8+2] = ((z1 - z2) * 3) >> 11;
+-        block[i*8+3] = ((z0 - z3) * 3) >> 11;
++        block[i*4+0] = ((z0 + z3) * 3) >> 11;
++        block[i*4+1] = ((z1 + z2) * 3) >> 11;
++        block[i*4+2] = ((z1 - z2) * 3) >> 11;
++        block[i*4+3] = ((z0 - z3) * 3) >> 11;
+     }
+ }
+ 
+@@ -139,22 +117,12 @@ static void rv34_idct_dc_add_c(uint8_t *dst, int stride, int dc)
+     }
+ }
+ 
+-static void rv34_inv_transform_dc_c(DCTELEM *block)
+-{
+-    DCTELEM dc = (13 * 13 * block[0] + 0x200) >> 10;
+-    int i, j;
+-
+-    for (i = 0; i < 4; i++, block += 8)
+-        for (j = 0; j < 4; j++)
+-            block[j] = dc;
+-}
+-
+ static void rv34_inv_transform_dc_noround_c(DCTELEM *block)
+ {
+     DCTELEM dc = (13 * 13 * 3 * block[0]) >> 11;
+     int i, j;
+ 
+-    for (i = 0; i < 4; i++, block += 8)
++    for (i = 0; i < 4; i++, block += 4)
+         for (j = 0; j < 4; j++)
+             block[j] = dc;
+ }
+@@ -163,10 +131,8 @@ static void rv34_inv_transform_dc_noround_c(DCTELEM *block)
+ 
+ 
+ av_cold void ff_rv34dsp_init(RV34DSPContext *c, DSPContext* dsp) {
+-    c->rv34_inv_transform_tab[0] = rv34_inv_transform_c;
+-    c->rv34_inv_transform_tab[1] = rv34_inv_transform_noround_c;
+-    c->rv34_inv_transform_dc_tab[0]  = rv34_inv_transform_dc_c;
+-    c->rv34_inv_transform_dc_tab[1]  = rv34_inv_transform_dc_noround_c;
++    c->rv34_inv_transform    = rv34_inv_transform_noround_c;
++    c->rv34_inv_transform_dc = rv34_inv_transform_dc_noround_c;
+ 
+     c->rv34_idct_add    = rv34_idct_add_c;
+     c->rv34_idct_dc_add = rv34_idct_dc_add_c;
+diff --git a/libavcodec/rv34dsp.h b/libavcodec/rv34dsp.h
+index 2e9e58e..fe8fcaa 100644
+--- a/libavcodec/rv34dsp.h
++++ b/libavcodec/rv34dsp.h
+@@ -36,8 +36,7 @@ typedef void (*rv40_weight_func)(uint8_t *dst/*align width (8 or 16)*/,
+ 
+ typedef void (*rv34_inv_transform_func)(DCTELEM *block);
+ 
+-typedef void (*rv34_idct_add_func)(uint8_t *dst, int stride,
+-                                   const DCTELEM *block);
++typedef void (*rv34_idct_add_func)(uint8_t *dst, int stride, DCTELEM *block);
+ typedef void (*rv34_idct_dc_add_func)(uint8_t *dst, int stride,
+                                       int   dc);
+ 
+@@ -60,8 +59,8 @@ typedef struct RV34DSPContext {
+     h264_chroma_mc_func put_chroma_pixels_tab[3];
+     h264_chroma_mc_func avg_chroma_pixels_tab[3];
+     rv40_weight_func rv40_weight_pixels_tab[2];
+-    rv34_inv_transform_func rv34_inv_transform_tab[2];
+-    void (*rv34_inv_transform_dc_tab[2])(DCTELEM *block);
++    rv34_inv_transform_func rv34_inv_transform;
++    rv34_inv_transform_func rv34_inv_transform_dc;
+     rv34_idct_add_func rv34_idct_add;
+     rv34_idct_dc_add_func rv34_idct_dc_add;
+     rv40_weak_loop_filter_func rv40_weak_loop_filter[2];
+diff --git a/libavcodec/x86/rv34dsp.asm b/libavcodec/x86/rv34dsp.asm
+index c8eeebb..2d2f6e1 100644
+--- a/libavcodec/x86/rv34dsp.asm
++++ b/libavcodec/x86/rv34dsp.asm
+@@ -42,9 +42,9 @@ cglobal rv34_idct_%1_mmx2, 1, 2, 0
+     movd    m0, r1
+     pshufw  m0, m0, 0
+     movq    [r0+ 0], m0
++    movq    [r0+ 8], m0
+     movq    [r0+16], m0
+-    movq    [r0+32], m0
+-    movq    [r0+48], m0
++    movq    [r0+24], m0
+     REP_RET
+ %endmacro
+ 
+diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c
+index c10ae4e..f3d2e17 100644
+--- a/libavcodec/x86/rv34dsp_init.c
++++ b/libavcodec/x86/rv34dsp_init.c
+@@ -37,8 +37,7 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c, DSPContext *dsp)
+     if (mm_flags & AV_CPU_FLAG_MMX)
+         c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx;
+     if (mm_flags & AV_CPU_FLAG_MMX2) {
+-        c->rv34_inv_transform_dc_tab[0] = ff_rv34_idct_dc_mmx2;
+-        c->rv34_inv_transform_dc_tab[1] = ff_rv34_idct_dc_noround_mmx2;
++        c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmx2;
+     }
+     if (mm_flags & AV_CPU_FLAG_SSE4)
+         c->rv34_idct_dc_add = ff_rv34_idct_dc_add_sse4;
+-- 
+1.7.5.4
+
diff --git a/debian/patches/post-0.8b2/0065-rv34-add-NEON-rv34_idct_add.patch b/debian/patches/post-0.8b2/0065-rv34-add-NEON-rv34_idct_add.patch
new file mode 100644
index 0000000..ae46b6e
--- /dev/null
+++ b/debian/patches/post-0.8b2/0065-rv34-add-NEON-rv34_idct_add.patch
@@ -0,0 +1,123 @@
+From 9e12002f114d7e0b0ef69519518cdc0391e5e198 Mon Sep 17 00:00:00 2001
+From: Janne Grunau <janne-libav at jannau.net>
+Date: Sun, 15 Jan 2012 19:16:02 +0100
+Subject: [PATCH 65/67] rv34: add NEON rv34_idct_add
+
+Overall almost 4% faster, idct_add down from 350 to 85 cycles, idct_dc_add
+down from 83 to 30 cycles.
+
+squash: rv34 idct rearrange partial register loads
+---
+ libavcodec/arm/rv34dsp_init_neon.c |    6 ++++
+ libavcodec/arm/rv34dsp_neon.S      |   59 ++++++++++++++++++++++++++++++++++--
+ 2 files changed, 62 insertions(+), 3 deletions(-)
+
+diff --git a/libavcodec/arm/rv34dsp_init_neon.c b/libavcodec/arm/rv34dsp_init_neon.c
+index 3984d43..744818c 100644
+--- a/libavcodec/arm/rv34dsp_init_neon.c
++++ b/libavcodec/arm/rv34dsp_init_neon.c
+@@ -27,8 +27,14 @@ void ff_rv34_inv_transform_noround_neon(DCTELEM *block);
+ 
+ void ff_rv34_inv_transform_noround_dc_neon(DCTELEM *block);
+ 
++void ff_rv34_idct_add_neon(uint8_t *dst, int stride, DCTELEM *block);
++void ff_rv34_idct_dc_add_neon(uint8_t *dst, int stride, int dc);
++
+ void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
+ {
+     c->rv34_inv_transform    = ff_rv34_inv_transform_noround_neon;
+     c->rv34_inv_transform_dc = ff_rv34_inv_transform_noround_dc_neon;
++
++    c->rv34_idct_add    = ff_rv34_idct_add_neon;
++    c->rv34_idct_dc_add = ff_rv34_idct_dc_add_neon;
+ }
+diff --git a/libavcodec/arm/rv34dsp_neon.S b/libavcodec/arm/rv34dsp_neon.S
+index a156412..15a015d 100644
+--- a/libavcodec/arm/rv34dsp_neon.S
++++ b/libavcodec/arm/rv34dsp_neon.S
+@@ -19,9 +19,10 @@
+  */
+ 
+ #include "asm.S"
++#include "neon.S"
+ 
+-.macro rv34_inv_transform
+-        vld1.16         {q14-q15}, [r0,:128]
++.macro rv34_inv_transform    r0
++        vld1.16         {q14-q15}, [\r0,:128]
+         vmov.s16        d0,  #13
+         vshll.s16       q12, d29, #3
+         vshll.s16       q13, d29, #4
+@@ -66,9 +67,39 @@
+         vsub.s32        q15, q14, q9    @ z0 - z3
+ .endm
+ 
++/* void rv34_idct_add_c(uint8_t *dst, int stride, DCTELEM *block) */
++function ff_rv34_idct_add_neon, export=1
++        mov             r3,  r0
++        rv34_inv_transform   r2
++        vmov.i16        q12, #0
++        vrshrn.s32      d16, q1,  #10   @ (z0 + z3) >> 10
++        vrshrn.s32      d17, q2,  #10   @ (z1 + z2) >> 10
++        vrshrn.s32      d18, q3,  #10   @ (z1 - z2) >> 10
++        vrshrn.s32      d19, q15, #10   @ (z0 - z3) >> 10
++        vld1.32         {d28[]},  [r0,:32], r1
++        vld1.32         {d29[]},  [r0,:32], r1
++        vtrn.32         q8,  q9
++        vld1.32         {d28[1]}, [r0,:32], r1
++        vld1.32         {d29[1]}, [r0,:32], r1
++        vst1.16         {q12}, [r2,:128]!       @ memset(block,    0, 16)
++        vst1.16         {q12}, [r2,:128]        @ memset(block+16, 0, 16)
++        vtrn.16         d16, d17
++        vtrn.32         d28, d29
++        vtrn.16         d18, d19
++        vaddw.u8        q0,   q8,  d28
++        vaddw.u8        q1,   q9,  d29
++        vqmovun.s16     d28,  q0
++        vqmovun.s16     d29,  q1
++        vst1.32         {d28[0]}, [r3,:32], r1
++        vst1.32         {d28[1]}, [r3,:32], r1
++        vst1.32         {d29[0]}, [r3,:32], r1
++        vst1.32         {d29[1]}, [r3,:32], r1
++        bx              lr
++endfunc
++
+ /* void rv34_inv_transform_noround_neon(DCTELEM *block); */
+ function ff_rv34_inv_transform_noround_neon, export=1
+-        rv34_inv_transform
++        rv34_inv_transform   r0
+         vshl.s32        q11, q2,  #1
+         vshl.s32        q10, q1,  #1
+         vshl.s32        q12, q3,  #1
+@@ -88,6 +119,28 @@ function ff_rv34_inv_transform_noround_neon, export=1
+         bx              lr
+ endfunc
+ 
++/* void ff_rv34_idct_dc_add_neon(uint8_t *dst, int stride, int dc) */
++function ff_rv34_idct_dc_add_neon, export=1
++        mov             r3,  r0
++        vld1.32         {d28[]},  [r0,:32], r1
++        vld1.32         {d29[]},  [r0,:32], r1
++        vdup.16         d0,  r2
++        vmov.s16        d1,  #169
++        vld1.32         {d28[1]}, [r0,:32], r1
++        vmull.s16       q1,  d0,  d1    @ dc * 13 * 13
++        vld1.32         {d29[1]}, [r0,:32], r1
++        vrshrn.s32      d0,  q1,  #10   @ (dc * 13 * 13 + 0x200) >> 10
++        vmov            d1,  d0
++        vaddw.u8        q2,  q0,  d28
++        vaddw.u8        q3,  q0,  d29
++        vqmovun.s16     d28, q2
++        vqmovun.s16     d29, q3
++        vst1.32         {d28[0]}, [r3,:32], r1
++        vst1.32         {d29[0]}, [r3,:32], r1
++        vst1.32         {d28[1]}, [r3,:32], r1
++        vst1.32         {d29[1]}, [r3,:32], r1
++        bx              lr
++endfunc
+ 
+ /* void rv34_inv_transform_dc_noround_c(DCTELEM *block) */
+ function ff_rv34_inv_transform_noround_dc_neon, export=1
+-- 
+1.7.5.4
+
diff --git a/debian/patches/post-0.8b2/0066-avconv-fix-frames-for-video-encoders-with-delay.patch b/debian/patches/post-0.8b2/0066-avconv-fix-frames-for-video-encoders-with-delay.patch
new file mode 100644
index 0000000..00aee05
--- /dev/null
+++ b/debian/patches/post-0.8b2/0066-avconv-fix-frames-for-video-encoders-with-delay.patch
@@ -0,0 +1,61 @@
+From 999328479305e317d9fdaeae791a60d299986073 Mon Sep 17 00:00:00 2001
+From: Anton Khirnov <anton at khirnov.net>
+Date: Mon, 2 Jan 2012 09:22:41 +0100
+Subject: [PATCH 66/67] avconv: fix -frames for video encoders with delay.
+
+Frames must be counted when they are passed to the encoder, not when
+they come out.
+
+Fixes Bug 202.
+---
+ avconv.c |   20 +++++++++++++++++++-
+ 1 files changed, 19 insertions(+), 1 deletions(-)
+
+diff --git a/avconv.c b/avconv.c
+index 2246851..e2cc4b0 100644
+--- a/avconv.c
++++ b/avconv.c
+@@ -875,6 +875,19 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
+     AVCodecContext          *avctx = ost->st->codec;
+     int ret;
+ 
++    /*
++     * Audio encoders may split the packets --  #frames in != #packets out.
++     * But there is no reordering, so we can limit the number of output packets
++     * by simply dropping them here.
++     * Counting encoded video frames needs to be done separately because of
++     * reordering, see do_video_out()
++     */
++    if (!(avctx->codec_type == AVMEDIA_TYPE_VIDEO && avctx->codec)) {
++        if (ost->frame_number >= ost->max_frames)
++            return;
++        ost->frame_number++;
++    }
++
+     while (bsfc) {
+         AVPacket new_pkt = *pkt;
+         int a = av_bitstream_filter_filter(bsfc, avctx, NULL,
+@@ -902,7 +915,6 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
+         print_error("av_interleaved_write_frame()", ret);
+         exit_program(1);
+     }
+-    ost->frame_number++;
+ }
+ 
+ static void generate_silence(uint8_t* buf, enum AVSampleFormat sample_fmt, size_t size)
+@@ -1450,6 +1462,12 @@ static void do_video_out(AVFormatContext *s,
+             }
+         }
+         ost->sync_opts++;
++        /*
++         * For video, number of frames in == number of packets out.
++         * But there may be reordering, so we can't throw away frames on encoder
++         * flush, we need to limit them here, before they go into encoder.
++         */
++        ost->frame_number++;
+     }
+ }
+ 
+-- 
+1.7.5.4
+
diff --git a/debian/patches/post-0.8b2/0067-tta-cast-output-data-pointer-to-the-correct-type.patch b/debian/patches/post-0.8b2/0067-tta-cast-output-data-pointer-to-the-correct-type.patch
new file mode 100644
index 0000000..63dc805
--- /dev/null
+++ b/debian/patches/post-0.8b2/0067-tta-cast-output-data-pointer-to-the-correct-type.patch
@@ -0,0 +1,26 @@
+From 01ed1c390d8376ba5fac278ceee044bb03a58804 Mon Sep 17 00:00:00 2001
+From: Justin Ruggles <justin.ruggles at gmail.com>
+Date: Sat, 7 Jan 2012 10:25:32 -0500
+Subject: [PATCH 67/67] tta: cast output data pointer to the correct type
+
+fixes "warning: assignment from incompatible pointer type"
+---
+ libavcodec/tta.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/libavcodec/tta.c b/libavcodec/tta.c
+index bc83bfd..4656ce1 100644
+--- a/libavcodec/tta.c
++++ b/libavcodec/tta.c
+@@ -314,7 +314,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data,
+ 
+     // decode directly to output buffer for 24-bit sample format
+     if (s->bps == 3)
+-        s->decode_buffer = s->frame.data[0];
++        s->decode_buffer = (int32_t *)s->frame.data[0];
+ 
+     // init per channel states
+     for (i = 0; i < s->channels; i++) {
+-- 
+1.7.5.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 3096900..3b7e3e9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -65,3 +65,7 @@ post-0.8b2/0060-avconv-use-avcodec_encode_audio2.patch
 post-0.8b2/0061-pictordec-Use-bytestream2-functions.patch
 post-0.8b2/0062-avformat-split-out-common-SMJPEG-code.patch
 post-0.8b2/0063-add-SMJPEG-muxer.patch
+post-0.8b2/0064-rv34-1-pass-inter-MB-reconstruction.patch
+post-0.8b2/0065-rv34-add-NEON-rv34_idct_add.patch
+post-0.8b2/0066-avconv-fix-frames-for-video-encoders-with-delay.patch
+post-0.8b2/0067-tta-cast-output-data-pointer-to-the-correct-type.patch

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list