Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Oct 2013 08:44:42 +0000 (10:44 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Oct 2013 08:44:42 +0000 (10:44 +0200)
* qatar/master:
  golomb: reduce scope of a few variables

Conflicts:
libavcodec/golomb.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/golomb.h

diff --combined libavcodec/golomb.h
@@@ -3,20 -3,20 +3,20 @@@
   * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
   * Copyright (c) 2004 Alex Beregszaszi
   *
 - * 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
   */
  
@@@ -53,7 -53,6 +53,6 @@@ extern const uint8_t ff_interleaved_dir
  static inline int get_ue_golomb(GetBitContext *gb)
  {
      unsigned int buf;
-     int log;
  
      OPEN_READER(re, gb);
      UPDATE_CACHE(re, gb);
  
          return ff_ue_golomb_vlc_code[buf];
      } else {
-         log = 2 * av_log2(buf) - 31;
+         int log = 2 * av_log2(buf) - 31;
 -        buf >>= log;
 -        buf--;
          LAST_SKIP_BITS(re, gb, 32 - log);
          CLOSE_READER(re, gb);
 +        if (CONFIG_FTRAPV && log < 0) {
 +            av_log(0, AV_LOG_ERROR, "Invalid UE golomb code\n");
 +            return AVERROR_INVALIDDATA;
 +        }
 +        buf >>= log;
 +        buf--;
  
          return buf;
      }
@@@ -143,7 -138,7 +142,7 @@@ static inline unsigned svq3_get_ue_golo
              ret = (ret << 4) | ff_interleaved_dirac_golomb_vlc_code[buf];
              UPDATE_CACHE(re, gb);
              buf = GET_CACHE(re, gb);
 -        } while (HAVE_BITS_REMAINING(re, gb));
 +        } while (ret<0x8000000U && HAVE_BITS_REMAINING(re, gb));
  
          CLOSE_READER(re, gb);
          return ret - 1;
   */
  static inline int get_te0_golomb(GetBitContext *gb, int range)
  {
 -    assert(range >= 1);
 +    av_assert2(range >= 1);
  
      if (range == 1)
          return 0;
   */
  static inline int get_te_golomb(GetBitContext *gb, int range)
  {
 -    assert(range >= 1);
 +    av_assert2(range >= 1);
  
      if (range == 2)
          return get_bits1(gb) ^ 1;
  static inline int get_se_golomb(GetBitContext *gb)
  {
      unsigned int buf;
-     int log;
  
      OPEN_READER(re, gb);
      UPDATE_CACHE(re, gb);
  
          return ff_se_golomb_vlc_code[buf];
      } else {
-         log = av_log2(buf);
 -        int log = 2 * av_log2(buf) - 31;
++        int log = av_log2(buf);
 +        LAST_SKIP_BITS(re, gb, 31 - log);
 +        UPDATE_CACHE(re, gb);
 +        buf = GET_CACHE(re, gb);
 +
          buf >>= log;
  
          LAST_SKIP_BITS(re, gb, 32 - log);
  static inline int svq3_get_se_golomb(GetBitContext *gb)
  {
      unsigned int buf;
-     int log;
  
      OPEN_READER(re, gb);
      UPDATE_CACHE(re, gb);
  
          return ff_interleaved_se_golomb_vlc_code[buf];
      } else {
+         int log;
          LAST_SKIP_BITS(re, gb, 8);
          UPDATE_CACHE(re, gb);
          buf |= 1 | (GET_CACHE(re, gb) >> 8);
  
  static inline int dirac_get_se_golomb(GetBitContext *gb)
  {
-     uint32_t buf;
-     uint32_t ret;
-     ret = svq3_get_ue_golomb(gb);
+     uint32_t ret = svq3_get_ue_golomb(gb);
  
      if (ret) {
+         uint32_t buf;
          OPEN_READER(re, gb);
          UPDATE_CACHE(re, gb);
          buf = SHOW_SBITS(re, gb, 1);
@@@ -328,9 -316,7 +324,9 @@@ static inline int get_ur_golomb_jpegls(
          return buf;
      } else {
          int i;
 -        for (i = 0; i < limit && SHOW_UBITS(re, gb, 1) == 0 && HAVE_BITS_REMAINING(re, gb); i++) {
 +        for (i = 0; i < limit && SHOW_UBITS(re, gb, 1) == 0; i++) {
 +            if (gb->size_in_bits <= re_index)
 +                return -1;
              LAST_SKIP_BITS(re, gb, 1);
              UPDATE_CACHE(re, gb);
          }
@@@ -469,9 -455,7 +465,7 @@@ static inline int get_te(GetBitContext 
   */
  static inline void set_ue_golomb(PutBitContext *pb, int i)
  {
-     int e;
 -    assert(i >= 0);
 +    av_assert2(i >= 0);
  
  #if 0
      if (i = 0) {
      if (i < 256)
          put_bits(pb, ff_ue_golomb_len[i], i + 1);
      else {
-         e = av_log2(i + 1);
+         int e = av_log2(i + 1);
          put_bits(pb, 2 * e + 1, i + 1);
      }
  }
   */
  static inline void set_te_golomb(PutBitContext *pb, int i, int range)
  {
 -    assert(range >= 1);
 -    assert(i <= range);
 +    av_assert2(range >= 1);
 +    av_assert2(i <= range);
  
      if (range == 2)
          put_bits(pb, 1, i ^ 1);
@@@ -530,7 -514,7 +524,7 @@@ static inline void set_ur_golomb(PutBit
  {
      int e;
  
 -    assert(i >= 0);
 +    av_assert2(i >= 0);
  
      e = i >> k;
      if (e < limit)
@@@ -547,7 -531,7 +541,7 @@@ static inline void set_ur_golomb_jpegls
  {
      int e;
  
 -    assert(i >= 0);
 +    av_assert2(i >= 0);
  
      e = (i >> k) + 1;
      if (e < limit) {