Merge remote-tracking branch 'qatar/release/0.7' into release/0.8
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Jul 2011 22:14:04 +0000 (00:14 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Jul 2011 22:14:04 +0000 (00:14 +0200)
* qatar/release/0.7: (65 commits)
  riff: Add mpgv MPEG-2 fourcc
  Update Changelog
  matroskadec: fix integer underflow if header length < probe length.
  ffmpeg: fix operation with --disable-avfilter
  vf_libopencv: replace opencv/cxtypes.h #include by opencv/cxcore.h
  build: Create mlib optimization directories during out-of-tree builds.
  changelog: misc typo and wording fixes (cherry picked from commit b047941d7da470ba0dcedb1fd0aa828075265ffc)
  doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support. (cherry picked from commit 5ccbf80963c1cc54aed97b1c81b1657ab91baf6a)
  matroskadec: matroska_read_seek after after EBML_STOP leads to failure.
  Update RELEASE file
  update Changelog
  mt: proper locking around release_buffer calls.
  vp8/mt: flush worker thread, not application thread context, on seek.
  docs: Mention the upstream bugzilla url about the dlltool vs MSVC issue
  docs: Use proper markup for a literal command line option
  docs: Don't recommend adding --enable-memalign-hack
  docs: Remove needless configure options
  oggdec: prevent heap corruption.
  oggdec: Abort Ogg header parsing when encountering a data packet.
  Add LGPL license boilerplate to files lacking it.
  ...

Conflicts:
Changelog
configure
doc/developer.texi
libavcodec/libvpxenc.c
libavcodec/rawdec.c
libavfilter/x86/gradfun.c
libavformat/Makefile
libavformat/isom.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
52 files changed:
1  2 
Changelog
Doxyfile
Makefile
configure
doc/developer.texi
doc/general.texi
ffmpeg.c
libavcodec/aac.h
libavcodec/ac3.h
libavcodec/ac3dec.h
libavcodec/amrnbdec.c
libavcodec/apedec.c
libavcodec/ass.h
libavcodec/avcodec.h
libavcodec/cook.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264idct_template.c
libavcodec/libvorbis.c
libavcodec/libvpxenc.c
libavcodec/libxvidff.c
libavcodec/motion_est_template.c
libavcodec/pthread.c
libavcodec/qcelpdata.h
libavcodec/rv34.c
libavcodec/rv40data.h
libavcodec/sbr.h
libavcodec/tableprint.h
libavcodec/utils.c
libavcodec/vc1.c
libavcodec/vc1dec.c
libavcodec/vp8.c
libavcodec/wmavoice.c
libavfilter/x86/gradfun.c
libavformat/avformat.h
libavformat/avio.h
libavformat/internal.h
libavformat/isom.c
libavformat/matroskadec.c
libavformat/oggdec.c
libavformat/riff.c
libavformat/rtmppkt.h
libavformat/rtsp.c
libavformat/rtsp.h
libavformat/utils.c
libavformat/wv.c
libavutil/dict.h
libavutil/file.h
libavutil/imgutils.h
libavutil/lfg.h
libavutil/lzo.h
libswscale/swscale.h

diff --cc Changelog
+++ b/Changelog
@@@ -2,40 -2,42 +2,54 @@@ Entries are sorted chronologically fro
  releases are sorted from youngest to oldest.
  
  
+ version 0.7.1:
+ - added various additional FOURCC codec identifiers
+ - H.264 4:4:4 fixes
+ - build system and compilation fixes
+ - Doxygen and general documentation corrections and improvements
+ - fixed segfault in ffprobe
+ - behavioral fix in av_open_input_stream()
+ - Licensing clarification for LGPL'ed vf_gradfun
+ - bugfixes while seeking in multithreaded decoding
+ - support newer versions of OpenCV
+ - ffmpeg: fix operation with --disable-avfilter
+ - fixed integer underflow in matroska decoder
  version 0.7:
  
 +- many many things we forgot because we rather write code than changelogs
 +- libmpcodecs video filter support (3 times as many filters than before)
 +- mpeg2 aspect ratio dection fixed
 +- libxvid aspect pickiness fixed
 +- Frame multithreaded decoding
  - E-AC-3 audio encoder
  - ac3enc: add channel coupling support
- - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
- - H264/MPEG frame-level multi-threading
- - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
+ - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
+ - H.264/MPEG frame-level multithreading
+ - av_metadata_* functions renamed to av_dict_* and moved to libavutil
  - 4:4:4 H.264 decoding support
  - 10-bit H.264 optimizations for x86
- - Bump libswscale for recently reported ABI break
 +- lut, lutrgb, and lutyuv filters added
 +- buffersink libavfilter sink added
+ - bump libswscale for recently reported ABI break
  
  
  version 0.7_beta2:
  
- - VP8 frame-multithreading
+ - VP8 frame-level multithreading
  - NEON optimizations for VP8
- - Lots of deprecated API cruft removed
- - fft and imdct optimizations for AVX (Sandy Bridge) processors
+ - removed a lot of deprecated API cruft
+ - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
 +- showinfo filter added
  - DPX image encoder
  - SMPTE 302M AES3 audio decoder
 -- ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
 +- Apple Core Audio Format muxer
  - 9bit and 10bit per sample support in the H.264 decoder
 +- 9bit and 10bit FFV1 encoding / decoding
 +- split filter added
 +- select filter added
 +- sdl output device added
  
  
  version 0.7_beta1:
diff --cc Doxyfile
Simple merge
diff --cc Makefile
+++ b/Makefile
@@@ -176,9 -170,9 +176,9 @@@ testclean
        $(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
  
  clean:: testclean
 -      $(RM) $(ALLPROGS)
 +      $(RM) $(ALLPROGS) $(ALLPROGS_G)
        $(RM) $(CLEANSUFFIXES)
-       $(RM) doc/*.html doc/*.pod doc/*.1
+       $(RM) doc/*.html doc/*.pod doc/*.1 doc/*.d doc/*~
        $(RM) $(TOOLS)
        $(RM) $(CLEANSUFFIXES:%=tools/%)
  
diff --cc configure
+++ b/configure
@@@ -3203,7 -3141,7 +3204,8 @@@ if enabled sparc; the
      echo "VIS enabled               ${vis-no}"
  fi
  echo "debug symbols             ${debug-no}"
 +echo "strip symbols             ${stripping-no}"
+ echo "optimize for size         ${small-no}"
  echo "optimizations             ${optimizations-no}"
  echo "static                    ${static-no}"
  echo "shared                    ${shared-no}"
Simple merge
@@@ -955,13 -943,13 +955,13 @@@ and run @file{c:\msys\1.0\msys.bat} fro
  @item Within the MSYS shell, run @code{lib.exe}. If you get a help message
  from @file{Microsoft (R) Library Manager}, this means your environment
  variables are set up correctly, the @file{Microsoft (R) Library Manager}
 -is on the path and will be used by Libav to create
 +is on the path and will be used by FFmpeg to create
  MSVC++-compatible import libraries.
  
 -@item Build Libav with
 +@item Build FFmpeg with
  
  @example
- ./configure --enable-shared --enable-memalign-hack
+ ./configure --enable-shared
  make
  make install
  @end example
diff --cc ffmpeg.c
+++ b/ffmpeg.c
@@@ -2307,12 -2216,29 +2313,9 @@@ static int transcode(AVFormatContext **
                                        codec->height  != icodec->height ||
                                        codec->pix_fmt != icodec->pix_fmt;
                  if (ost->video_resample) {
 -#if !CONFIG_AVFILTER
 -                    avcodec_get_frame_defaults(&ost->pict_tmp);
 -                    if(avpicture_alloc((AVPicture*)&ost->pict_tmp, codec->pix_fmt,
 -                                         codec->width, codec->height)) {
 -                        fprintf(stderr, "Cannot allocate temp picture, check pix fmt\n");
 -                        ffmpeg_exit(1);
 -                    }
 -                    ost->img_resample_ctx = sws_getContext(
 -                        icodec->width,
 -                        icodec->height,
 -                            icodec->pix_fmt,
 -                            codec->width,
 -                            codec->height,
 -                            codec->pix_fmt,
 -                            ost->sws_flags, NULL, NULL, NULL);
 -                    if (ost->img_resample_ctx == NULL) {
 -                        fprintf(stderr, "Cannot get resampling context\n");
 -                        ffmpeg_exit(1);
 -                    }
 -#endif
 -                    codec->bits_per_raw_sample= 0;
 +                    codec->bits_per_raw_sample= frame_bits_per_raw_sample;
                  }
-                 if (!codec->width || !codec->height) {
-                     codec->width  = icodec->width;
-                     codec->height = icodec->height;
-                 }
                  ost->resample_height = icodec->height;
                  ost->resample_width  = icodec->width;
                  ost->resample_pix_fmt= icodec->pix_fmt;
Simple merge
Simple merge
@@@ -68,8 -65,9 +68,8 @@@
  typedef struct {
      AVCodecContext *avctx;                  ///< parent context
      GetBitContext gbc;                      ///< bitstream reader
 -    uint8_t *input_buffer;                  ///< temp buffer to prevent overread
  
- ///@defgroup bsi bit stream information
+ ///@name Bit stream information
  ///@{
      int frame_type;                         ///< frame type                             (strmtyp)
      int substreamid;                        ///< substream identification
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -237,9 -237,8 +237,8 @@@ void FUNCC(ff_h264_idct_add8)(uint8_t *
  }
  /**
   * IDCT transforms the 16 dc values and dequantizes them.
-  * @param qp quantization parameter
   */
 -void FUNCC(ff_h264_luma_dc_dequant_idct)(DCTELEM *_output, DCTELEM *_input, int qmul){
 +void FUNCC(ff_h264_luma_dc_dequant_idct)(DCTELEM *p_output, DCTELEM *p_input, int qmul){
  #define stride 16
      int i;
      int temp[16];
Simple merge
@@@ -30,7 -30,7 +30,8 @@@
  
  #include "avcodec.h"
  #include "libavutil/base64.h"
 +#include "libavutil/opt.h"
+ #include "libavutil/mathematics.h"
  
  /**
   * Portion of struct vpx_codec_cx_pkt from vpx_encoder.h.
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1,19 -1,21 +1,21 @@@
  /*
 - * This file is part of Libav.
+  * Copyright (C) 2009 Loren Merritt <lorenm@u.washignton.edu>
+  *
 + * This file is part of FFmpeg.
   *
-  * FFmpeg is free software; you can redistribute it and/or modify
-  * it under the terms of the GNU General Public License as published by
-  * the Free Software Foundation; either version 2 of the License, or
-  * (at your option) any later version.
 - * 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 General Public License for more details.
+  * 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 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.
+  * 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 "libavutil/cpu.h"
@@@ -48,10 -48,11 +48,11 @@@ const char *avformat_license(void)
  struct AVFormatContext;
  
  
- /*
-  * Public Metadata API.
+ /**
+  * @defgroup metadata_api Public Metadata API
+  * @{
   * The metadata API allows libavformat to export metadata tags to a client
 - * application using a sequence of key/value pairs. Like all strings in Libav,
 + * application using a sequence of key/value pairs. Like all strings in FFmpeg,
   * metadata must be stored as UTF-8 encoded Unicode. Note that metadata
   * exported by demuxers isn't checked to be valid UTF-8 in most cases.
   * Important concepts to keep in mind:
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc libavutil/lfg.h
Simple merge
diff --cc libavutil/lzo.h
Simple merge
@@@ -236,18 -233,8 +236,17 @@@ struct SwsContext *sws_getContext(int s
  int sws_scale(struct SwsContext *context, const uint8_t* const srcSlice[], const int srcStride[],
                int srcSliceY, int srcSliceH, uint8_t* const dst[], const int dstStride[]);
  
 +#if LIBSWSCALE_VERSION_MAJOR < 1
 +/**
 + * @deprecated Use sws_scale() instead.
 + */
 +int sws_scale_ordered(struct SwsContext *context, const uint8_t* const src[],
 +                      int srcStride[], int srcSliceY, int srcSliceH,
 +                      uint8_t* dst[], int dstStride[]) attribute_deprecated;
 +#endif
 +
  /**
   * @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
-  * @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235
   * @return -1 if not supported
   */
  int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],