Merge commit '213e606752d16f51337e94431962fb5d7749c07e'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 5 Sep 2014 17:24:49 +0000 (19:24 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 5 Sep 2014 17:24:49 +0000 (19:24 +0200)
* commit '213e606752d16f51337e94431962fb5d7749c07e':
  Replace av_unused attributes by block structures

Conflicts:
libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/faanidct.c
libavcodec/h264_loopfilter.c
libavcodec/rangecoder.h

diff --combined libavcodec/faanidct.c
@@@ -2,20 -2,20 +2,20 @@@
   * Floating point AAN IDCT
   * Copyright (c) 2008 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * 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.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  #include "faanidct.h"
@@@ -49,7 -49,6 +49,6 @@@ B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*
  
  static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){
      int i;
-     FLOAT av_unused tmp0;
      FLOAT s04, d04, s17, d17, s26, d26, s53, d53;
      FLOAT os07, os16, os25, os34;
      FLOAT od07, od16, od25, od34;
          od25= (s17 - s53)*(2*A4);
  
  #if 0 //these 2 are equivalent
-         tmp0= (d17 + d53)*(2*A2);
-         od34=  d17*( 2*B6) - tmp0;
-         od16=  d53*(-2*B2) + tmp0;
+         {
+             FLOAT tmp0;
+             tmp0 = (d17 + d53) *  (2 * A2);
+             od34 =  d17        *  (2 * B6) - tmp0;
+             od16 =  d53        * (-2 * B2) + tmp0;
+         }
  #else
          od34=  d17*(2*(B6-A2)) - d53*(2*A2);
          od16=  d53*(2*(A2-B2)) + d17*(2*A2);
@@@ -2,20 -2,20 +2,20 @@@
   * H.26L/H.264/AVC/JVT/14496-10/... loop filter
   * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * 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.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -34,6 -34,8 +34,6 @@@
  #include "mpegutils.h"
  #include "rectangle.h"
  
 -#include <assert.h>
 -
  /* Deblocking filter (p153) */
  static const uint8_t alpha_table[52*3] = {
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
@@@ -241,7 -243,7 +241,7 @@@ static av_always_inline void h264_filte
                                                            unsigned int uvlinesize,
                                                            int pixel_shift)
  {
 -    int chroma = !(CONFIG_GRAY && (h->flags&CODEC_FLAG_GRAY));
 +    int chroma = CHROMA(h) && !(CONFIG_GRAY && (h->flags&CODEC_FLAG_GRAY));
      int chroma444 = CHROMA444(h);
      int chroma422 = CHROMA422(h);
  
  }
  
  void ff_h264_filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize) {
 -    assert(!FRAME_MBAFF(h));
 +    av_assert2(!FRAME_MBAFF(h));
      if(!h->h264dsp.h264_loop_filter_strength || h->pps.chroma_qp_diff) {
          ff_h264_filter_mb(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize);
          return;
@@@ -578,9 -580,7 +578,9 @@@ static av_always_inline void filter_mb_
              // value in IPCM macroblocks.
              if(bS[0]+bS[1]+bS[2]+bS[3]){
                  qp = (h->cur_pic.qscale_table[mb_xy] + h->cur_pic.qscale_table[mbm_xy] + 1) >> 1;
 +                //tprintf(h->avctx, "filter mb:%d/%d dir:%d edge:%d, QPy:%d, QPc:%d, QPcn:%d\n", mb_x, mb_y, dir, edge, qp, h->chroma_qp[0], h->cur_pic.qscale_table[mbn_xy]);
                  tprintf(h->avctx, "filter mb:%d/%d dir:%d edge:%d, QPy:%d ls:%d uvls:%d", mb_x, mb_y, dir, edge, qp, linesize, uvlinesize);
 +                //{ int i; for (i = 0; i < 4; i++) tprintf(h->avctx, " bS[%d]:%d", i, bS[i]); tprintf(h->avctx, "\n"); }
                  chroma_qp_avg[0] = (h->chroma_qp[0] + get_chroma_qp(h, 0, h->cur_pic.qscale_table[mbm_xy]) + 1) >> 1;
                  chroma_qp_avg[1] = (h->chroma_qp[1] + get_chroma_qp(h, 1, h->cur_pic.qscale_table[mbm_xy]) + 1) >> 1;
                  if( dir == 0 ) {
          // Do not use s->qscale as luma quantizer because it has not the same
          // value in IPCM macroblocks.
          qp = h->cur_pic.qscale_table[mb_xy];
 +        //tprintf(h->avctx, "filter mb:%d/%d dir:%d edge:%d, QPy:%d, QPc:%d, QPcn:%d\n", mb_x, mb_y, dir, edge, qp, h->chroma_qp[0], h->cur_pic.qscale_table[mbn_xy]);
          tprintf(h->avctx, "filter mb:%d/%d dir:%d edge:%d, QPy:%d ls:%d uvls:%d", mb_x, mb_y, dir, edge, qp, linesize, uvlinesize);
 +        //{ int i; for (i = 0; i < 4; i++) tprintf(h->avctx, " bS[%d]:%d", i, bS[i]); tprintf(h->avctx, "\n"); }
          if( dir == 0 ) {
              filter_mb_edgev( &img_y[4*edge << h->pixel_shift], linesize, bS, qp, a, b, h, 0 );
              if (chroma) {
@@@ -706,8 -704,7 +706,7 @@@ void ff_h264_filter_mb( H264Context *h
      const int mb_type = h->cur_pic.mb_type[mb_xy];
      const int mvy_limit = IS_INTERLACED(mb_type) ? 2 : 4;
      int first_vertical_edge_done = 0;
-     av_unused int dir;
 -    int chroma = !(CONFIG_GRAY && (h->flags&CODEC_FLAG_GRAY));
 +    int chroma = CHROMA(h) && !(CONFIG_GRAY && (h->flags&CODEC_FLAG_GRAY));
      int qp_bd_offset = 6 * (h->sps.bit_depth_luma - 8);
      int a = 52 + h->slice_alpha_c0_offset - qp_bd_offset;
      int b = 52 + h->slice_beta_offset - qp_bd_offset;
      }
  
  #if CONFIG_SMALL
-     for( dir = 0; dir < 2; dir++ )
-         filter_mb_dir(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize, mb_xy, mb_type, mvy_limit, dir ? 0 : first_vertical_edge_done, a, b, chroma, dir);
+     {
+         int dir;
+         for (dir = 0; dir < 2; dir++)
+             filter_mb_dir(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize,
+                           uvlinesize, mb_xy, mb_type, mvy_limit,
+                           dir ? 0 : first_vertical_edge_done, a, b,
+                           chroma, dir);
+     }
  #else
      filter_mb_dir(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize, mb_xy, mb_type, mvy_limit, first_vertical_edge_done, a, b, chroma, 0);
      filter_mb_dir(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize, mb_xy, mb_type, mvy_limit, 0,                        a, b, chroma, 1);
diff --combined libavcodec/rangecoder.h
@@@ -2,20 -2,20 +2,20 @@@
   * Range coder
   * Copyright (c) 2004 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * 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.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -28,9 -28,9 +28,9 @@@
  #define AVCODEC_RANGECODER_H
  
  #include <stdint.h>
 -#include <assert.h>
  
  #include "libavutil/common.h"
 +#include "libavutil/avassert.h"
  
  typedef struct RangeCoder {
      int low;
@@@ -86,9 -86,9 +86,9 @@@ static inline void put_rac(RangeCoder *
  {
      int range1 = (c->range * (*state)) >> 8;
  
 -    assert(*state);
 -    assert(range1 < c->range);
 -    assert(range1 > 0);
 +    av_assert2(*state);
 +    av_assert2(range1 < c->range);
 +    av_assert2(range1 > 0);
      if (!bit) {
          c->range -= range1;
          *state    = c->zero_state[*state];
@@@ -115,7 -115,6 +115,6 @@@ static inline void refill(RangeCoder *c
  static inline int get_rac(RangeCoder *c, uint8_t *const state)
  {
      int range1 = (c->range * (*state)) >> 8;
-     int av_unused one_mask;
  
      c->range -= range1;
  #if 1
          return 1;
      }
  #else
-     one_mask = (c->range - c->low - 1) >> 31;
+     {
+         int one_mask one_mask = (c->range - c->low - 1) >> 31;
  
-     c->low   -= c->range & one_mask;
-     c->range += (range1 - c->range) & one_mask;
-     *state = c->zero_state[(*state) + (256 & one_mask)];
+         c->low   -=           c->range  & one_mask;
+         c->range += (range1 - c->range) & one_mask;
  
+         *state = c->zero_state[(*state) + (256 & one_mask)];
+     }
      refill(c);
  
      return one_mask & 1;