OSDN Git Service

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
Simple merge