Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Oct 2012 11:06:04 +0000 (13:06 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Oct 2012 11:06:04 +0000 (13:06 +0200)
* qatar/master:
  mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
  Restructure av_log_missing_feature message
  rtp: Support packetization/depacketization of opus
  file: Set the return value type for lseek to int64_t.
  ppc: fix Altivec build with old compilers
  build: add LTO support for PGI compiler
  build: add -Mdse to PGI optimisation flags
  rtpenc_vp8: Update the packetizer to the latest spec version
  rtpdec_vp8: Make the depacketizer implement the latest spec draft
  doc: allow building with old texi2html versions
  avutil: skip old_pix_fmts.h since it is just a list

Conflicts:
libavcodec/aacdec.c
libavcodec/h264.c
libavcodec/ppc/fmtconvert_altivec.c
libavcodec/utils.c
libavformat/file.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
17 files changed:
1  2 
configure
doc/t2h.init
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/cavsdec.c
libavcodec/h264.c
libavcodec/mjpegdec.c
libavcodec/ppc/fmtconvert_altivec.c
libavcodec/utils.c
libavformat/file.c
libavformat/oggparseskeleton.c
libavformat/rtpdec.c
libavformat/rtpdec_vp8.c
libavformat/rtpenc.c
libavformat/rtpenc_vp8.c
libavformat/sdp.c
libavutil/Makefile

diff --cc configure
+++ b/configure
@@@ -3107,9 -2793,9 +3108,8 @@@ case $target_os i
          SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
          SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
          objformat="win32"
 -        dlltool="${cross_prefix}dlltool"
          ranlib=:
          enable dos_paths
-         check_cflags -fno-common
          add_cppflags -U__STRICT_ANSI__
          ;;
      cygwin*)
diff --cc doc/t2h.init
@@@ -141,11 -141,12 +141,12 @@@ $PRE_BODY_CLOSE = '</div></div>'
  $SMALL_RULE = '';
  $BODYTEXT = '';
  
 -$print_page_foot = \&Libav_print_page_foot;
 -sub Libav_print_page_foot($$)
 +$print_page_foot = \&FFmpeg_print_page_foot;
 +sub FFmpeg_print_page_foot($$)
  {
      my $fh = shift;
-     my $program_string = T2H_DEFAULT_program_string();
+     my $program_string = defined &T2H_DEFAULT_program_string ?
+         T2H_DEFAULT_program_string() : program_string();
      print $fh '<footer class="footer pagination-right">' . "\n";
      print $fh '<span class="label label-info">' . $program_string;
      print $fh "</span></footer></div>\n";
Simple merge
@@@ -2385,11 -2322,9 +2385,11 @@@ static int parse_adts_frame_header(AACC
  
      size = avpriv_aac_parse_header(gb, &hdr_info);
      if (size > 0) {
 -        if (hdr_info.num_aac_frames != 1) {
 +        if (!ac->warned_num_aac_frames && hdr_info.num_aac_frames != 1) {
 +            // This is 2 for "VLB " audio in NSV files.
 +            // See samples/nsv/vlb_audio.
-             av_log_missing_feature(ac->avctx, "More than one AAC RDB per ADTS frame is", 0);
+             av_log_missing_feature(ac->avctx, "More than one AAC RDB per ADTS frame", 0);
 -            return -1;
 +            ac->warned_num_aac_frames = 1;
          }
          push_output_configuration(ac);
          if (hdr_info.chan_config) {
@@@ -2793,12 -2667,12 +2793,12 @@@ static int read_stream_mux_config(struc
              return AVERROR_PATCHWELCOME;
          }
  
 -        // for each program (which there is only on in DVB)
 +        // for each program (which there is only one in DVB)
  
 -        // for each layer (which there is only on in DVB)
 +        // for each layer (which there is only one in DVB)
          if (get_bits(gb, 3)) {                   // numLayer
              av_log_missing_feature(latmctx->aac_ctx.avctx,
-                                    "multiple layers are not supported\n", 1);
+                                    "multiple layers", 1);
              return AVERROR_PATCHWELCOME;
          }
  
@@@ -1077,13 -1065,9 +1077,13 @@@ static int decode_seq_header(AVSContex
      width  = get_bits(&s->gb, 14);
      height = get_bits(&s->gb, 14);
      if ((s->width || s->height) && (s->width != width || s->height != height)) {
-         av_log_missing_feature(s, "Width/height changing in CAVS is", 0);
+         av_log_missing_feature(s, "Width/height changing in CAVS", 0);
          return AVERROR_PATCHWELCOME;
      }
 +    if (width <= 0 || height <= 0) {
 +        av_log(s, AV_LOG_ERROR, "Dimensions invalid\n");
 +        return AVERROR_INVALIDDATA;
 +    }
      s->width  = width;
      s->height = height;
  
@@@ -2442,19 -2438,6 +2442,19 @@@ static int decode_slice_header(H264Cont
      s->avctx->level   = h->sps.level_idc;
      s->avctx->refs    = h->sps.ref_frame_count;
  
-                                 "Width/height/bit depth/chroma idc changing with threads is", 0);
 +    must_reinit = (s->context_initialized &&
 +                    (   16*h->sps.mb_width != s->avctx->coded_width
 +                     || 16*h->sps.mb_height * (2 - h->sps.frame_mbs_only_flag) != s->avctx->coded_height
 +                     || s->avctx->bits_per_raw_sample != h->sps.bit_depth_luma
 +                     || h->cur_chroma_format_idc != h->sps.chroma_format_idc
 +                     || av_cmp_q(h->sps.sar, s->avctx->sample_aspect_ratio)));
 +
 +    if(must_reinit && (h != h0 || (s->avctx->active_thread_type & FF_THREAD_FRAME))) {
 +        av_log_missing_feature(s->avctx,
++                                "Width/height/bit depth/chroma idc changing with threads", 0);
 +        return AVERROR_PATCHWELCOME;   // width / height changed during parallelized decoding
 +    }
 +
      s->mb_width  = h->sps.mb_width;
      s->mb_height = h->sps.mb_height * (2 - h->sps.frame_mbs_only_flag);
  
@@@ -248,16 -242,10 +248,16 @@@ int ff_mjpeg_decode_sof(MJpegDecodeCont
      if (nb_components <= 0 ||
          nb_components > MAX_COMPONENTS)
          return -1;
 +    if (s->interlaced && (s->bottom_field == !s->interlace_polarity)) {
 +        if (nb_components != s->nb_components) {
 +            av_log(s->avctx, AV_LOG_ERROR, "nb_components changing in interlaced picture\n");
 +            return AVERROR_INVALIDDATA;
 +        }
 +    }
      if (s->ls && !(s->bits <= 8 || nb_components == 1)) {
          av_log_missing_feature(s->avctx,
-                                "only <= 8 bits/component or "
-                                "16-bit gray accepted for JPEG-LS\n", 0);
+                                "For JPEG-LS anything except <= 8 bits/component"
+                                " or 16-bit gray", 0);
          return AVERROR_PATCHWELCOME;
      }
      s->nb_components = nb_components;
Simple merge
@@@ -2429,7 -2028,7 +2429,7 @@@ int ff_match_2uint16(const uint16_t(*ta
  
  void av_log_missing_feature(void *avc, const char *feature, int want_sample)
  {
-     av_log(avc, AV_LOG_WARNING, "%s not implemented. Update your FFmpeg "
 -    av_log(avc, AV_LOG_WARNING, "%s is not implemented. Update your Libav "
++    av_log(avc, AV_LOG_WARNING, "%s is not implemented. Update your FFmpeg "
              "version to the newest one from Git. If the problem still "
              "occurs, it means that your file has a feature which has not "
              "been implemented.\n", feature);
Simple merge
Simple merge
Simple merge
@@@ -1,10 -1,11 +1,11 @@@
  /*
   * RTP VP8 Depacketizer
   * Copyright (c) 2010 Josh Allmann
+  * Copyright (c) 2012 Martin Storsjo
   *
 - * 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.
Simple merge
Simple merge
Simple merge
@@@ -90,16 -84,15 +90,18 @@@ OBJS = adler32.
         samplefmt.o                                                      \
         sha.o                                                            \
         time.o                                                           \
 +       timecode.o                                                       \
         tree.o                                                           \
         utils.o                                                          \
 +       xga_font_data.o                                                  \
         xtea.o                                                           \
  
 -OBJS-$(HAVE_MSVCRT) += ../compat/msvcrt/snprintf.o                      \
 -                       ../compat/strtod.o
 +OBJS-$(HAVE_BROKEN_SNPRINTF) += ../compat/msvcrt/snprintf.o
 +
 +OBJS-$(HAVE_MSVCRT) += ../compat/strtod.o
  
+ SKIPHEADERS          = old_pix_fmts.h
  TESTPROGS = adler32                                                     \
              aes                                                         \
              avstring                                                    \