Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 8 Dec 2013 12:49:16 +0000 (13:49 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 8 Dec 2013 12:49:16 +0000 (13:49 +0100)
* qatar/master:
  libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0

Conflicts:
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/Makefile
libavcodec/libvpx.c
libavcodec/libvpx.h
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c

@@@ -718,23 -602,17 +718,23 @@@ OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER
                                               libschroedinger.o
  OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER)    += libschroedingerenc.o \
                                               libschroedinger.o
 +OBJS-$(CONFIG_LIBSHINE_ENCODER)           += libshine.o
  OBJS-$(CONFIG_LIBSPEEX_DECODER)           += libspeexdec.o
  OBJS-$(CONFIG_LIBSPEEX_ENCODER)           += libspeexenc.o
 +OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
  OBJS-$(CONFIG_LIBTHEORA_ENCODER)          += libtheoraenc.o
 +OBJS-$(CONFIG_LIBTWOLAME_ENCODER)         += libtwolame.o
 +OBJS-$(CONFIG_LIBUTVIDEO_DECODER)         += libutvideodec.o
 +OBJS-$(CONFIG_LIBUTVIDEO_ENCODER)         += libutvideoenc.o
  OBJS-$(CONFIG_LIBVO_AACENC_ENCODER)       += libvo-aacenc.o mpeg4audio.o
  OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER)     += libvo-amrwbenc.o
 -OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbis.o \
 -                                             vorbis_data.o vorbis_parser.o
 +OBJS-$(CONFIG_LIBVORBIS_DECODER)          += libvorbisdec.o
 +OBJS-$(CONFIG_LIBVORBIS_ENCODER)          += libvorbisenc.o \
 +                                             vorbis_data.o vorbis_parser.o xiph.o
  OBJS-$(CONFIG_LIBVPX_VP8_DECODER)         += libvpxdec.o
  OBJS-$(CONFIG_LIBVPX_VP8_ENCODER)         += libvpxenc.o
- OBJS-$(CONFIG_LIBVPX_VP9_DECODER)         += libvpxdec.o
- OBJS-$(CONFIG_LIBVPX_VP9_ENCODER)         += libvpxenc.o
+ OBJS-$(CONFIG_LIBVPX_VP9_DECODER)         += libvpxdec.o libvpx.o
+ OBJS-$(CONFIG_LIBVPX_VP9_ENCODER)         += libvpxenc.o libvpx.o
  OBJS-$(CONFIG_LIBWAVPACK_ENCODER)         += libwavpackenc.o
  OBJS-$(CONFIG_LIBX264_ENCODER)            += libx264.o
  OBJS-$(CONFIG_LIBXAVS_ENCODER)            += libxavs.o
index 0000000,20f4484..9ff2e91
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,35 +1,35 @@@
 - * This file is part of Libav.
+ /*
+  * Copyright (c) 2013 Guillaume Martres <smarter@ubuntu.com>
+  *
 - * 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 <vpx/vpx_codec.h>
+ #include "libvpx.h"
+ int ff_vp9_check_experimental(AVCodecContext *avctx)
+ {
+     if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL &&
+         (vpx_codec_version_major() < 1 ||
+          (vpx_codec_version_major() == 1 && vpx_codec_version_minor() < 3))) {
+         av_log(avctx, AV_LOG_ERROR,
+                "Non-experimental support of VP9 requires libvpx >= 1.3.0\n");
+         return AVERROR_EXPERIMENTAL;
+     }
+     return 0;
+ }
index 0000000,cb1ed09..2c901f9
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,28 +1,28 @@@
 - * This file is part of Libav.
+ /*
+  * Copyright (c) 2013 Guillaume Martres <smarter@ubuntu.com>
+  *
 - * 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
+  */
+ #ifndef AVCODEC_LIBVPX_H
+ #define AVCODEC_LIBVPX_H
+ #include "avcodec.h"
+ int ff_vp9_check_experimental(AVCodecContext *avctx);
+ #endif /* AVCODEC_LIBVPX_H */
@@@ -144,6 -148,6 +148,6 @@@ AVCodec ff_libvpx_vp9_decoder = 
      .init           = vp9_init,
      .close          = vp8_free,
      .decode         = vp8_decode,
-     .capabilities   = CODEC_CAP_AUTO_THREADS | CODEC_CAP_DR1 | CODEC_CAP_EXPERIMENTAL,
 -    .capabilities   = CODEC_CAP_AUTO_THREADS,
++    .capabilities   = CODEC_CAP_AUTO_THREADS | CODEC_CAP_DR1,
  };
  #endif /* CONFIG_LIBVPX_VP9_DECODER */
  
  #include "avcodec.h"
  #include "internal.h"
 +#include "libavutil/avassert.h"
+ #include "libvpx.h"
  #include "libavutil/base64.h"
  #include "libavutil/common.h"
 +#include "libavutil/intreadwrite.h"
  #include "libavutil/mathematics.h"
  #include "libavutil/opt.h"