Merge commit '7a1d6ddd2c6b2d66fbc1afa584cf506930a26453'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Sep 2014 01:55:23 +0000 (03:55 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Sep 2014 02:09:38 +0000 (04:09 +0200)
* commit '7a1d6ddd2c6b2d66fbc1afa584cf506930a26453':
  xvid: Add C IDCT

Conflicts:
libavcodec/dct-test.c
libavcodec/xvididct.c

See: 298b3b6c1f8f66b9bc6de53a7b51d3de745d946b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/Makefile
libavcodec/dct-test.c
libavcodec/x86/xvididct_init.c
libavcodec/xvididct.c
libavcodec/xvididct.h
tests/ref/fate/xvid-idct

@@@ -325,8 -273,7 +325,8 @@@ OBJS-$(CONFIG_MPEG1VIDEO_DECODER)      
  OBJS-$(CONFIG_MPEG1VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
  OBJS-$(CONFIG_MPEG2VIDEO_DECODER)      += mpeg12dec.o mpeg12.o mpeg12data.o
  OBJS-$(CONFIG_MPEG2VIDEO_ENCODER)      += mpeg12enc.o mpeg12.o
- OBJS-$(CONFIG_MPEG4_DECODER)           += xvididct.o xvid_c_idct.o
+ OBJS-$(CONFIG_MPEG4_DECODER)           += xvididct.o
 +OBJS-$(CONFIG_MPL2_DECODER)            += mpl2dec.o ass.o
  OBJS-$(CONFIG_MSMPEG4V1_DECODER)       += msmpeg4dec.o msmpeg4.o msmpeg4data.o
  OBJS-$(CONFIG_MSMPEG4V2_DECODER)       += msmpeg4dec.o msmpeg4.o msmpeg4data.o
  OBJS-$(CONFIG_MSMPEG4V2_ENCODER)       += msmpeg4enc.o msmpeg4.o msmpeg4data.o
@@@ -80,7 -68,9 +81,10 @@@ static const struct algo idct_tab[] = 
      { "REF-DBL",     ff_ref_idct,          FF_IDCT_PERM_NONE },
      { "INT",         ff_j_rev_dct,         FF_IDCT_PERM_LIBMPEG2 },
      { "SIMPLE-C",    ff_simple_idct_8,     FF_IDCT_PERM_NONE },
 +    { "PR-C",        ff_prores_idct_wrap,  FF_IDCT_PERM_NONE, 0, 1 },
+ #if CONFIG_MPEG4_DECODER
+     { "XVID",        ff_xvid_idct,         FF_IDCT_PERM_NONE, 0, 1 },
+ #endif /* CONFIG_MPEG4_DECODER */
  };
  
  #if ARCH_ARM
Simple merge
@@@ -1,7 -1,11 +1,11 @@@
  /*
 - * This file is part of Libav.
+  * Xvid MPEG-4 IDCT
+  *
+  * Copyright (C) 2006-2011 Xvid Solutions GmbH
+  *
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * 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.
@@@ -38,15 -334,12 +334,15 @@@ av_cold void ff_xvid_idct_init(IDCTDSPC
  {
      const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8;
  
 -    if (!high_bit_depth &&
 -        (avctx->idct_algo == FF_IDCT_AUTO ||
 -         avctx->idct_algo == FF_IDCT_XVID)) {
 +    if (high_bit_depth || avctx->lowres ||
 +        !(avctx->idct_algo == FF_IDCT_AUTO ||
 +          avctx->idct_algo == FF_IDCT_XVID))
 +        return;
 +
 +    if (avctx->idct_algo == FF_IDCT_XVID) {
-         c->idct_put  = idct_xvid_put;
-         c->idct_add  = idct_xvid_add;
-         c->idct      = ff_idct_xvid;
+         c->idct_put  = xvid_idct_put;
+         c->idct_add  = xvid_idct_add;
+         c->idct      = ff_xvid_idct;
          c->perm_type = FF_IDCT_PERM_NONE;
      }
  
Simple merge
index 0000000,c3cafa3..2fc93ee
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,21 +1,25 @@@
 -0,          1,          1,        1,   622080, 8fe318df973b5d7669e6d28ebf03b229
 -0,          2,          2,        1,   622080, 3568d92074e0298a2027f990004fe1a6
 -0,          3,          3,        1,   622080, 4781afb6ba38318738e26a98ace4061b
 -0,          4,          4,        1,   622080, bd29a005b8392005ef30211f185ca049
 -0,          5,          5,        1,   622080, fc50b441ee9256883edba5a584000d66
 -0,          6,          6,        1,   622080, 5fce9fb7e66c9d0773ff9c7482cb8307
 -0,          7,          7,        1,   622080, 2e0ad7b1ba39e60cdd7a65ed1ed57c30
 -0,          8,          8,        1,   622080, b91cfdb91751dabd6691d3c34221b636
 -0,          9,          9,        1,   622080, f65507bc00043e8fe345c542f0861a64
 -0,         10,         10,        1,   622080, 2e4ee4ea4ec761c2298acced17f63f35
 -0,         11,         11,        1,   622080, e7945bd07296205d1549c8edf843af48
 -0,         12,         12,        1,   622080, 52fed0ec02c57a138de7dc0e0c804de8
 -0,         13,         13,        1,   622080, 3ee2848d0d70795e14765127111a677c
 -0,         14,         14,        1,   622080, 42cb0929406b10b95817ffaa2da47335
 -0,         15,         15,        1,   622080, 523986866b6cf729e130ea43feacb0a2
 -0,         16,         16,        1,   622080, 5d1e4becddf728e93bbcb428de1f02ae
 -0,         17,         17,        1,   622080, 0a1453df21e4547447ec8f27a0d4d5ec
 -0,         18,         18,        1,   622080, d3495686e769df299b1732326fa3f17e
 -0,         19,         19,        1,   622080, 602e9020397b1e82b58b1ff6b9733d21
 -0,         20,         20,        1,   622080, 759bd3f739a3b99309efa5c1a697e34d
++#format: frame checksums
++#version: 1
++#hash: MD5
+ #tb 0: 1/25
++#stream#, dts,        pts, duration,     size, hash
++0,          0,          0,        1,   622080, 8fe318df973b5d7669e6d28ebf03b229
++0,          1,          1,        1,   622080, 3568d92074e0298a2027f990004fe1a6
++0,          2,          2,        1,   622080, 4781afb6ba38318738e26a98ace4061b
++0,          3,          3,        1,   622080, bd29a005b8392005ef30211f185ca049
++0,          4,          4,        1,   622080, fc50b441ee9256883edba5a584000d66
++0,          5,          5,        1,   622080, 5fce9fb7e66c9d0773ff9c7482cb8307
++0,          6,          6,        1,   622080, 2e0ad7b1ba39e60cdd7a65ed1ed57c30
++0,          7,          7,        1,   622080, b91cfdb91751dabd6691d3c34221b636
++0,          8,          8,        1,   622080, f65507bc00043e8fe345c542f0861a64
++0,          9,          9,        1,   622080, 2e4ee4ea4ec761c2298acced17f63f35
++0,         10,         10,        1,   622080, e7945bd07296205d1549c8edf843af48
++0,         11,         11,        1,   622080, 52fed0ec02c57a138de7dc0e0c804de8
++0,         12,         12,        1,   622080, 3ee2848d0d70795e14765127111a677c
++0,         13,         13,        1,   622080, 42cb0929406b10b95817ffaa2da47335
++0,         14,         14,        1,   622080, 523986866b6cf729e130ea43feacb0a2
++0,         15,         15,        1,   622080, 5d1e4becddf728e93bbcb428de1f02ae
++0,         16,         16,        1,   622080, 0a1453df21e4547447ec8f27a0d4d5ec
++0,         17,         17,        1,   622080, d3495686e769df299b1732326fa3f17e
++0,         18,         18,        1,   622080, 602e9020397b1e82b58b1ff6b9733d21
++0,         21,         21,        1,   622080, 759bd3f739a3b99309efa5c1a697e34d