Merge commit '5ff998a233d759d0de83ea6f95c383d03d25d88e'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 5 Nov 2012 21:51:20 +0000 (22:51 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 5 Nov 2012 21:51:20 +0000 (22:51 +0100)
* commit '5ff998a233d759d0de83ea6f95c383d03d25d88e':
  flacenc: use uint64_t for bit counts
  flacenc: remove wasted trailing 0 bits
  lavu: add av_ctz() for trailing zero bit count
  flacenc: use a separate buffer for byte-swapping for MD5 checksum on big-endian
  fate: aac: Place LATM tests and general AAC tests in different groups
  build: The A64 muxer depends on rawenc.o for ff_raw_write_packet()

Conflicts:
doc/APIchanges
libavutil/version.h
tests/fate/aac.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
doc/APIchanges
libavcodec/flacenc.c
libavformat/Makefile
libavutil/Makefile
libavutil/intmath.c
libavutil/intmath.h
libavutil/version.h
tests/fate/aac.mak

diff --cc doc/APIchanges
@@@ -15,101 -13,9 +15,104 @@@ libavutil:     2012-10-2
  
  API changes, most recent first:
  
 +2012-11-02 - xxxxxxx - lavu 52.4.100 - opt.h
 +  Add av_opt_get_key_value().
 +
 +2012-11-03 - xxxxxxx - lavu 52.3.100 - opt.h
 +  Add AV_OPT_TYPE_SAMPLE_FMT value to AVOptionType enum.
 +
 +2012-10-21 - xxxxxxx - lavc  54.68.100 - avcodec.h
 +                       lavfi  3.20.100 - avfilter.h
 +  Add AV_PKT_DATA_STRINGS_METADATA side data type, used to transmit key/value
 +  strings between AVPacket and AVFrame, and add metadata field to
 +  AVCodecContext (which shall not be accessed by users; see AVFrame metadata
 +  instead).
 +
 +2012-09-27 - a70b493 - lavd 54.3.100 - version.h
 +  Add LIBAVDEVICE_IDENT symbol.
 +
 +2012-09-27 - a70b493 - lavfi 3.18.100 - version.h
 +  Add LIBAVFILTER_IDENT symbol.
 +
 +2012-09-27 - a70b493 - libswr 0.16.100 - version.h
 +  Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
 +  and LIBSWRESAMPLE_IDENT symbols.
 +
 +2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
 +  Add av_small_strptime() time parsing function.
 +
 +  Can be used as a stripped-down replacement for strptime(), on
 +  systems which do not support it.
 +
 +2012-08-25 - 2626cc4 - lavf 54.28.100
 +  Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead
 +  of AV_CODEC_ID_TEXT.
 +
 +2012-08-13 - 5c0d8bc - lavfi 3.8.100 - avfilter.h
 +  Add avfilter_get_class() function, and priv_class field to AVFilter
 +  struct.
 +
 +2012-08-12 - a25346e - lavu 51.69.100 - opt.h
 +  Add AV_OPT_FLAG_FILTERING_PARAM symbol in opt.h.
 +
 +2012-07-31 - 23fc4dd - lavc 54.46.100
 +  Add channels field to AVFrame.
 +
 +2012-07-30 - f893904 - lavu 51.66.100
 +  Add av_get_channel_description()
 +  and av_get_standard_channel_layout() functions.
 +
 +2012-07-21 - 016a472 - lavc 54.43.100
 +  Add decode_error_flags field to AVFrame.
 +
 +2012-07-20 - b062936 - lavf 54.18.100
 +  Add avformat_match_stream_specifier() function.
 +
 +2012-07-14 - f49ec1b - lavc 54.38.100 - avcodec.h
 +  Add metadata to AVFrame, and the accessor functions
 +  av_frame_get_metadata() and av_frame_set_metadata().
 +
 +2012-07-10 - 0e003d8 - lavc 54.33.100
 +  Add av_fast_padded_mallocz().
 +
 +2012-07-10 - 21d5609 - lavfi 3.2.0 - avfilter.h
 +  Add init_opaque() callback to AVFilter struct.
 +
 +2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
 +  Add functions to libavutil/imgutils.h:
 +  av_image_get_buffer_size()
 +  av_image_fill_arrays()
 +  av_image_copy_to_buffer()
 +
 +2012-06-24 - c41899a - lavu 51.62.100 - version.h
 +  version moved from avutil.h to version.h
 +
 +2012-04-11 - 359abb1 - lavu 51.58.100 - error.h
 +  Add av_make_error_string() and av_err2str() utilities to
 +  libavutil/error.h.
 +
 +2012-06-05 - 62b39d4 - lavc 54.24.100
 +  Add pkt_duration field to AVFrame.
 +
 +2012-05-24 - f2ee065 - lavu 51.54.100
 +  Move AVPALETTE_SIZE and AVPALETTE_COUNT macros from
 +  libavcodec/avcodec.h to libavutil/pixfmt.h.
 +
 +2012-05-14 - 94a9ac1 - lavf 54.5.100
 +  Add av_guess_sample_aspect_ratio() function.
 +
 +2012-04-20 - 65fa7bc - lavfi 2.70.100
 +  Add avfilter_unref_bufferp() to avfilter.h.
 +
 +2012-04-13 - 162e400 - lavfi 2.68.100
 +  Install libavfilter/asrc_abuffer.h public header.
 +
 +2012-03-26 - a67d9cf - lavfi 2.66.100
 +  Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
 +
+ 2012-xx-xx - xxxxxxx - lavu 52.1.0 - intmath.h
+   Add av_ctz() for trailing zero bit count
  2012-10-18 - xxxxxxx - lavu 51.45.0 - error.h
    Add AVERROR_EXPERIMENTAL
  
@@@ -19,8 -19,8 +19,9 @@@
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
 +#include "libavutil/avassert.h"
  #include "libavutil/crc.h"
+ #include "libavutil/intmath.h"
  #include "libavutil/md5.h"
  #include "libavutil/opt.h"
  #include "avcodec.h"
@@@ -593,11 -580,11 +603,11 @@@ static uint64_t calc_rice_params(RiceCo
      int opt_porder;
      RiceContext tmp_rc;
      uint32_t *udata;
-     uint32_t sums[MAX_PARTITION_ORDER+1][MAX_PARTITIONS];
+     uint64_t sums[MAX_PARTITION_ORDER+1][MAX_PARTITIONS];
  
 -    assert(pmin >= 0 && pmin <= MAX_PARTITION_ORDER);
 -    assert(pmax >= 0 && pmax <= MAX_PARTITION_ORDER);
 -    assert(pmin <= pmax);
 +    av_assert1(pmin >= 0 && pmin <= MAX_PARTITION_ORDER);
 +    av_assert1(pmax >= 0 && pmax <= MAX_PARTITION_ORDER);
 +    av_assert1(pmin <= pmax);
  
      udata = av_malloc(n * sizeof(uint32_t));
      for (i = 0; i < n; i++)
@@@ -1247,13 -1278,19 +1301,17 @@@ static int flac_encode_frame(AVCodecCon
  
      /* fallback to verbatim mode if the compressed frame is larger than it
         would be if encoded uncompressed. */
-     if (frame_bytes > s->max_framesize) {
+     if (frame_bytes < 0 || frame_bytes > s->max_framesize) {
          s->frame.verbatim_only = 1;
          frame_bytes = encode_frame(s);
+         if (frame_bytes < 0) {
+             av_log(avctx, AV_LOG_ERROR, "Bad frame count\n");
+             return frame_bytes;
+         }
      }
  
 -    if ((ret = ff_alloc_packet(avpkt, frame_bytes))) {
 -        av_log(avctx, AV_LOG_ERROR, "Error getting output packet\n");
 +    if ((ret = ff_alloc_packet2(avctx, avpkt, frame_bytes)))
          return ret;
 -    }
  
      out_bytes = write_frame(s, avpkt);
  
Simple merge
Simple merge
index 0000000,8db425c..1f725c7
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,39 +1,39 @@@
 - * This file is part of Libav.
+ /*
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav is distributed in the hope that it will be useful,
++ * 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.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * 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 FFmpeg; if not, write to the Free Software
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ #include "intmath.h"
+ /* undef these to get the function prototypes from common.h */
+ #undef av_log2
+ #undef av_log2_16bit
+ #include "common.h"
+ int av_log2(unsigned v)
+ {
+     return ff_log2(v);
+ }
+ int av_log2_16bit(unsigned v)
+ {
+     return ff_log2_16bit(v);
+ }
+ int av_ctz(int v)
+ {
+     return ff_ctz(v);
+ }
Simple merge
@@@ -74,9 -36,9 +74,9 @@@
   * @{
   */
  
 -#define LIBAVUTIL_VERSION_MAJOR 52
 -#define LIBAVUTIL_VERSION_MINOR  1
 -#define LIBAVUTIL_VERSION_MICRO  0
 +#define LIBAVUTIL_VERSION_MAJOR  52
- #define LIBAVUTIL_VERSION_MINOR   4
++#define LIBAVUTIL_VERSION_MINOR   5
 +#define LIBAVUTIL_VERSION_MICRO 100
  
  #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                 LIBAVUTIL_VERSION_MINOR, \
@@@ -71,25 -71,12 +71,29 @@@ FATE_AAC_CT = sbr_bc-ps_i.3gp  
  
  FATE_AAC += $(FATE_AAC_CT:%=fate-aac-ct-%)
  
- FATE_SAMPLES_FFMPEG += $(FATE_AAC) $(FATE_AAC_ENCODE)
- fate-aac: $(FATE_AAC) $(FATE_AAC_ENCODE)
 +FATE_AAC_ENCODE += fate-aac-aref-encode
 +fate-aac-aref-encode: ./tests/data/asynth-44100-2.wav
 +fate-aac-aref-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -strict -2 -c:a aac -b:a 512k
 +fate-aac-aref-encode: CMP = stddev
 +fate-aac-aref-encode: REF = ./tests/data/asynth-44100-2.wav
 +fate-aac-aref-encode: CMP_SHIFT = -4096
 +fate-aac-aref-encode: CMP_TARGET = 1862
 +fate-aac-aref-encode: SIZE_TOLERANCE = 2464
 +
 +FATE_AAC_ENCODE += fate-aac-ln-encode
 +fate-aac-ln-encode: CMD = enc_dec_pcm adts wav s16le $(REF) -strict -2 -c:a aac -b:a 512k
 +fate-aac-ln-encode: CMP = stddev
 +fate-aac-ln-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
 +fate-aac-ln-encode: CMP_SHIFT = -4096
 +fate-aac-ln-encode: CMP_TARGET = 65
 +fate-aac-ln-encode: SIZE_TOLERANCE = 3560
 +
+ FATE_AAC_ALL = $(FATE_AAC) $(FATE_AAC_LATM)
  
- $(FATE_AAC): CMP = oneoff
- $(FATE_AAC): FUZZ = 2
+ $(FATE_AAC_ALL): CMP  = oneoff
+ $(FATE_AAC_ALL): FUZZ = 2
 -FATE_SAMPLES_AVCONV += $(FATE_AAC_ALL)
++FATE_SAMPLES_FFMPEG += $(FATE_AAC_ALL) $(FATE_AAC_ENCODE)
 -fate-aac: $(FATE_AAC_ALL)
++fate-aac: $(FATE_AAC_ALL) $(FATE_AAC_ENCODE)
+ fate-aac-latm: $(FATE_AAC_LATM)