[FFmpeg-devel] [PATCH] h264: integrate clear_blocks calls with IDCT.
Michael Niedermayer
michaelni at gmx.at
Sat Feb 9 22:39:23 CET 2013
On Sat, Feb 09, 2013 at 10:35:44PM +0100, Michael Niedermayer wrote:
> On Sat, Feb 09, 2013 at 10:23:35AM -0800, Ronald S. Bultje wrote:
> > From: "Ronald S. Bultje" <rsbultje at gmail.com>
> >
> > In case of no-transform, integrate it with put_pixels4/8(). Intra PCM
> > is changed to not use h->mb anymore (saves a memcpy). The one during
> > update_thread_context() init is removed by removing the memcpy() that
> > clobbered it in the first place. Together, this makes the H264 decoder
> > almost-independent of dsputil.
> >
> > (PPC and Arm assembly not yet ported. Will port if the rest is OK'ed.)
> > ---
> > libavcodec/get_bits.h | 3 +-
> > libavcodec/h264.c | 7 ++-
> > libavcodec/h264.h | 1 +
> > libavcodec/h264_cabac.c | 4 +-
> > libavcodec/h264_cavlc.c | 10 ++--
> > libavcodec/h264_mb_template.c | 20 +++----
> > libavcodec/h264idct_template.c | 16 ++++--
> > libavcodec/h264pred.h | 8 +--
> > libavcodec/h264pred_template.c | 28 ++++++----
> > libavcodec/svq3.c | 2 +
> > libavcodec/x86/h264_idct.asm | 108 ++++++++++++++++++++++++++++---------
> > libavcodec/x86/h264_idct_10bit.asm | 53 ++++++++++++++++--
> > 12 files changed, 185 insertions(+), 75 deletions(-)
> >
>
> This fails h264-lossless too:
> --- ./tests/ref/fate/h264-lossless 2013-02-09 22:21:42.881124947 +0100
> +++ tests/data/fate/h264-lossless 2013-02-09 22:24:40.705128693 +0100
> @@ -1,11 +1,11 @@
> #tb 0: 83333/5000000
> -0, 0, 0, 1, 460800, 0x7731dd2f
> -0, 2, 2, 1, 460800, 0x944b8c64
> -0, 3, 3, 1, 460800, 0xbe833041
> -0, 4, 4, 1, 460800, 0xbe95d96a
> -0, 5, 5, 1, 460800, 0xfe7ea5e6
> -0, 6, 6, 1, 460800, 0x381743c7
> -0, 7, 7, 1, 460800, 0x63fcc2e9
> -0, 8, 8, 1, 460800, 0x79574960
> -0, 9, 9, 1, 460800, 0xdab9e18a
> -0, 10, 10, 1, 460800, 0xd88e8fe8
> +0, 0, 0, 1, 460800, 0xa40e9b4e
> +0, 2, 2, 1, 460800, 0x3ac9f364
> +0, 3, 3, 1, 460800, 0x38e73edf
> +0, 4, 4, 1, 460800, 0x97bb08b0
> +0, 5, 5, 1, 460800, 0xd16f4b6d
> +0, 6, 6, 1, 460800, 0x00f724f4
> +0, 7, 7, 1, 460800, 0x8b0d742b
> +0, 8, 8, 1, 460800, 0xddda09dc
> +0, 9, 9, 1, 460800, 0x7b7e80b5
> +0, 10, 10, 1, 460800, 0xb3243355
can be reproduced with: (possibly not a minimal configure line)
make distclean ; ./configure --disable-optimizations --enable-gpl --cc='ccache gcc' --samples=... && make -j12 fate-h264-lossless
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130209/40a7612b/attachment.asc>
More information about the ffmpeg-devel
mailing list