Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 26 Jul 2012 19:36:03 +0000 (21:36 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 26 Jul 2012 19:37:15 +0000 (21:37 +0200)
* qatar/master:
  libopenjpeg: support YUV and deep RGB pixel formats
  Fix typo in v410 decoder.
  vf_yadif: unset cur_buf on the input link.
  vf_overlay: ensure the overlay frame does not get leaked.
  vf_overlay: prevent premature freeing of cur_buf
  Support urlencoded http authentication credentials
  rtmp: Return an error when the client bandwidth is incorrect
  rtmp: Return proper error code in handle_server_bw
  rtmp: Return proper error code in handle_client_bw
  rtmp: Return proper error codes in handle_chunk_size
  lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt()
  vp8: Replace x*155/100 by x*101581>>16.
  vp3: don't use calls to inline asm in yasm code.
  x86/dsputil: put inline asm under HAVE_INLINE_ASM.
  dsputil_mmx: fix incorrect assembly code
  rtmp: Factorize the code by adding handle_invoke
  rtmp: Factorize the code by adding handle_chunk_size
  rtmp: Factorize the code by adding handle_ping
  rtmp: Factorize the code by adding handle_client_bw
  rtmp: Factorize the code by adding handle_server_bw

Conflicts:
libavcodec/libopenjpegdec.c
libavcodec/x86/dsputil_mmx.c
libavfilter/vf_overlay.c
libavformat/Makefile
libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
17 files changed:
1  2 
libavcodec/dct-test.c
libavcodec/libopenjpegdec.c
libavcodec/vp8.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/h264_qpel_mmx.c
libavcodec/x86/idct_mmx_xvid.c
libavcodec/x86/idct_sse2_xvid.c
libavcodec/x86/rv40dsp_init.c
libavcodec/x86/simple_idct_mmx.c
libavcodec/x86/vp3dsp.asm
libavfilter/vf_yadif.c
libavformat/Makefile
libavformat/httpauth.c
libavformat/rtmpproto.c
libavformat/urldecode.c
libavformat/urldecode.h
libavformat/version.h

Simple merge
Simple merge
Simple merge
@@@ -3108,9 -3040,10 +3141,10 @@@ void ff_dsputil_init_mmx(DSPContext *c
      int mm_flags = av_get_cpu_flags();
  
      if (mm_flags & AV_CPU_FLAG_MMX) {
+ #if HAVE_INLINE_ASM
          const int idct_algo = avctx->idct_algo;
  
 -        if (avctx->bits_per_raw_sample <= 8) {
 +        if (avctx->lowres == 0 && avctx->bits_per_raw_sample <= 8) {
              if (idct_algo == FF_IDCT_AUTO || idct_algo == FF_IDCT_SIMPLEMMX) {
                  c->idct_put              = ff_simple_idct_put_mmx;
                  c->idct_add              = ff_simple_idct_add_mmx;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -299,13 -277,12 +299,14 @@@ OBJS-$(CONFIG_RTPDEC
                                              rtpdec_svq3.o \
                                              rtpdec_vp8.o  \
                                              rtpdec_xiph.o
- OBJS-$(CONFIG_RTSP_DEMUXER)              += rtsp.o rtspdec.o httpauth.o
+ OBJS-$(CONFIG_RTSP_DEMUXER)              += rtsp.o rtspdec.o httpauth.o \
+                                             urldecode.o
  OBJS-$(CONFIG_RTSP_MUXER)                += rtsp.o rtspenc.o httpauth.o \
-                                             rtpenc_chain.o
+                                             rtpenc_chain.o urldecode.o
 +OBJS-$(CONFIG_SAMI_DEMUXER)              += samidec.o
  OBJS-$(CONFIG_SAP_DEMUXER)               += sapdec.o
  OBJS-$(CONFIG_SAP_MUXER)                 += sapenc.o rtpenc_chain.o
 +OBJS-$(CONFIG_SBG_DEMUXER)               += sbgdec.o
  OBJS-$(CONFIG_SDP_DEMUXER)               += rtsp.o
  OBJS-$(CONFIG_SEGAFILM_DEMUXER)          += segafilm.o
  OBJS-$(CONFIG_SEGMENT_MUXER)             += segment.o
Simple merge
Simple merge
index 0000000,32460da..b100903
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,87 +1,87 @@@
 - * This file is part of Libav.
+ /*
+  * Simple URL decoding function
+  * Copyright (c) 2012 Antti Seppälä
+  *
+  * References:
+  *  RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
+  *       T. Berners-Lee et al. The Internet Society, 2005
+  *
+  * based on http://www.icosaedro.it/apache/urldecode.c
+  *          from Umberto Salsi (salsi@icosaedro.it)
+  *
 - * 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 <ctype.h>
+ #include <string.h>
+ #include "libavutil/mem.h"
+ #include "libavutil/avstring.h"
+ #include "urldecode.h"
+ char *ff_urldecode(const char *url)
+ {
+     int s = 0, d = 0, url_len = 0;
+     char c;
+     char *dest = NULL;
+     if (!url)
+         return NULL;
+     url_len = strlen(url) + 1;
+     dest = av_malloc(url_len);
+     if (!dest)
+         return NULL;
+     while (s < url_len) {
+         c = url[s++];
+         if (c == '%' && s + 2 < url_len) {
+             char c2 = url[s++];
+             char c3 = url[s++];
+             if (isxdigit(c2) && isxdigit(c3)) {
+                 c2 = av_tolower(c2);
+                 c3 = av_tolower(c3);
+                 if (c2 <= '9')
+                     c2 = c2 - '0';
+                 else
+                     c2 = c2 - 'a' + 10;
+                 if (c3 <= '9')
+                     c3 = c3 - '0';
+                 else
+                     c3 = c3 - 'a' + 10;
+                 dest[d++] = 16 * c2 + c3;
+             } else { /* %zz or something other invalid */
+                 dest[d++] = c;
+                 dest[d++] = c2;
+                 dest[d++] = c3;
+             }
+         } else if (c == '+') {
+             dest[d++] = ' ';
+         } else {
+             dest[d++] = c;
+         }
+     }
+     return dest;
+ }
index 0000000,b43f319..cb81ebc
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,35 +1,35 @@@
 - * 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
+  */
+ #ifndef AVFORMAT_URLDECODE_H
+ #define AVFORMAT_URLDECODE_H
+ /**
+  * Decodes an URL from its percent-encoded form back into normal
+  * representation. This function returns the decoded URL in a string.
+  * The URL to be decoded does not necessarily have to be encoded but
+  * in that case the original string is duplicated.
+  *
+  * @param url a string to be decoded.
+  * @return new string with the URL decoded or NULL if decoding failed.
+  * Note that the returned string should be explicitly freed when not
+  * used anymore.
+  */
+ char *ff_urldecode(const char *url);
+ #endif /* AVFORMAT_URLDECODE_H */
@@@ -30,8 -30,8 +30,8 @@@
  #include "libavutil/avutil.h"
  
  #define LIBAVFORMAT_VERSION_MAJOR 54
 -#define LIBAVFORMAT_VERSION_MINOR 12
 -#define LIBAVFORMAT_VERSION_MICRO  1
 +#define LIBAVFORMAT_VERSION_MINOR 20
- #define LIBAVFORMAT_VERSION_MICRO 100
++#define LIBAVFORMAT_VERSION_MICRO 101
  
  #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                 LIBAVFORMAT_VERSION_MINOR, \