[FFmpeg-cvslog] avfilter: remove obsolete FF_API_ACONVERT_FILTER cruft

2014-09-17 Thread James Almer
ffmpeg | branch: master | James Almer  | Sun Sep 14 22:46:18 
2014 -0300| [d1c49bcae9b7fd41df5c6804ac7f6a5c271a7c2e] | committer: Paul B Mahol

avfilter: remove obsolete FF_API_ACONVERT_FILTER cruft

Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d1c49bcae9b7fd41df5c6804ac7f6a5c271a7c2e
---

 configure |2 -
 libavfilter/Makefile  |1 -
 libavfilter/af_aconvert.c |  196 -
 libavfilter/allfilters.c  |3 -
 libavfilter/version.h |3 -
 5 files changed, 205 deletions(-)

diff --git a/configure b/configure
index 392cbb1..110a3fd 100755
--- a/configure
+++ b/configure
@@ -2532,7 +2532,6 @@ unix_protocol_deps="sys_un_h"
 unix_protocol_select="network"
 
 # filters
-aconvert_filter_deps="swresample"
 amovie_filter_deps="avcodec avformat"
 aresample_filter_deps="swresample"
 ass_filter_deps="libass"
@@ -5300,7 +5299,6 @@ done
 enabled zlib && add_cppflags -DZLIB_CONST
 
 # conditional library dependencies, in linking order
-enabled aconvert_filter && prepend avfilter_deps "swresample"
 enabled amovie_filter   && prepend avfilter_deps "avformat avcodec"
 enabled aresample_filter&& prepend avfilter_deps "swresample"
 enabled asyncts_filter  && prepend avfilter_deps "avresample"
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index 3241b76..6d868e7 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -29,7 +29,6 @@ OBJS = allfilters.o   
  \
 
 OBJS-$(CONFIG_AVCODEC)   += avcodec.o
 
-OBJS-$(CONFIG_ACONVERT_FILTER)   += af_aconvert.o
 OBJS-$(CONFIG_ADELAY_FILTER) += af_adelay.o
 OBJS-$(CONFIG_AECHO_FILTER)  += af_aecho.o
 OBJS-$(CONFIG_AEVAL_FILTER)  += aeval.o
diff --git a/libavfilter/af_aconvert.c b/libavfilter/af_aconvert.c
deleted file mode 100644
index 19095cb..000
--- a/libavfilter/af_aconvert.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 2010 S.N. Hemanth Meenakshisundaram 
- * Copyright (c) 2011 Stefano Sabatini
- * Copyright (c) 2011 Mina Nagy Zaki
- *
- * This file is part of FFmpeg.
- *
- * 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.
- *
- * 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
- */
-
-/**
- * @file
- * sample format and channel layout conversion audio filter
- */
-
-#include "libavutil/channel_layout.h"
-#include "libavutil/opt.h"
-#include "libswresample/swresample.h"
-#include "avfilter.h"
-#include "audio.h"
-#include "internal.h"
-
-typedef struct {
-const AVClass   *class;
-enum AVSampleFormat  out_sample_fmt;
-int64_t  out_chlayout;
-struct SwrContext *swr;
-char *format_str;
-char *channel_layout_str;
-} AConvertContext;
-
-#define OFFSET(x) offsetof(AConvertContext, x)
-#define A AV_OPT_FLAG_AUDIO_PARAM
-#define F AV_OPT_FLAG_FILTERING_PARAM
-static const AVOption aconvert_options[] = {
-{ "sample_fmt", "", OFFSET(format_str), AV_OPT_TYPE_STRING, 
.flags = A|F },
-{ "channel_layout", "", OFFSET(channel_layout_str), AV_OPT_TYPE_STRING, 
.flags = A|F },
-{ NULL }
-};
-
-AVFILTER_DEFINE_CLASS(aconvert);
-
-static av_cold int init(AVFilterContext *ctx)
-{
-AConvertContext *aconvert = ctx->priv;
-int ret = 0;
-
-av_log(ctx, AV_LOG_WARNING, "This filter is deprecated, use aformat 
instead\n");
-
-aconvert->out_sample_fmt  = AV_SAMPLE_FMT_NONE;
-aconvert->out_chlayout= 0;
-
-if (aconvert->format_str && strcmp(aconvert->format_str, "auto") &&
-(ret = ff_parse_sample_format(&aconvert->out_sample_fmt, 
aconvert->format_str, ctx)) < 0)
-return ret;
-if (aconvert->channel_layout_str && strcmp(aconvert->channel_layout_str, 
"auto"))
-return ff_parse_channel_layout(&aconvert->out_chlayout, NULL, 
aconvert->channel_layout_str, ctx);
-return ret;
-}
-
-static av_cold void uninit(AVFilterContext *ctx)
-{
-AConvertContext *aconvert = ctx->priv;
-swr_free(&aconvert->swr);
-}
-
-static int query_formats(AVFilterContext *ctx)
-{
-AVFilterFormats *formats = NULL;
-AConvertContext *aconvert = ctx->priv;
-AVFilterLink *inlink  = ctx->inputs[0];
-AVFilterLink *outlink = ctx->outputs[0];
-AVFilterChannelLayouts *layouts;
-
-ff_formats_ref(ff_all_f

[FFmpeg-cvslog] doc/filters: remove aconvert

2014-09-17 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Wed Sep 17 07:55:56 
2014 +| [f1a8943ddd15223483cd342a322d02d97e2116c2] | committer: Paul B Mahol

doc/filters: remove aconvert

Signed-off-by: Paul B Mahol 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f1a8943ddd15223483cd342a322d02d97e2116c2
---

 doc/filters.texi |   35 ---
 1 file changed, 35 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 02bb34e..9632838 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -309,41 +309,6 @@ build.
 
 Below is a description of the currently available audio filters.
 
-@section aconvert
-
-Convert the input audio format to the specified formats.
-
-@emph{This filter is deprecated. Use @ref{aformat} instead.}
-
-The filter accepts a string of the form:
-"@var{sample_format}:@var{channel_layout}".
-
-@var{sample_format} specifies the sample format, and can be a string or the
-corresponding numeric value defined in @file{libavutil/samplefmt.h}. Use 'p'
-suffix for a planar sample format.
-
-@var{channel_layout} specifies the channel layout, and can be a string
-or the corresponding number value defined in @file{libavutil/channel_layout.h}.
-
-The special parameter "auto", signifies that the filter will
-automatically select the output format depending on the output filter.
-
-@subsection Examples
-
-@itemize
-@item
-Convert input to float, planar, stereo:
-@example
-aconvert=fltp:stereo
-@end example
-
-@item
-Convert input to unsigned 8-bit, automatically select out channel layout:
-@example
-aconvert=u8:auto
-@end example
-@end itemize
-
 @section adelay
 
 Delay one or more audio channels.

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] x86/me_cmp: port mmxext and sse2 sad functions to yasm

2014-09-17 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Sep 16 21:41:47 
2014 -0300| [0456d169c469a79e305813d14c873fe698c8c572] | committer: Michael 
Niedermayer

x86/me_cmp: port mmxext and sse2 sad functions to yasm

Also add a missing c->pix_abs[0][0] initialization, and sse2 versions of
sad16_x2, sad16_y2 and sad16_xy2 (%15 to %20 faster than mmxext).
Since the _xy2 versions are not bitexact, they are accordingly marked as
approximate.

Signed-off-by: James Almer 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0456d169c469a79e305813d14c873fe698c8c572
---

 libavcodec/x86/me_cmp.asm|  330 ++
 libavcodec/x86/me_cmp_init.c |  203 +++---
 2 files changed, 379 insertions(+), 154 deletions(-)

diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm
index b0741f3..27176f4 100644
--- a/libavcodec/x86/me_cmp.asm
+++ b/libavcodec/x86/me_cmp.asm
@@ -23,6 +23,10 @@
 
 %include "libavutil/x86/x86util.asm"
 
+SECTION_RODATA
+
+cextern pb_1
+
 SECTION .text
 
 %macro DIFF_PIXELS_1 4
@@ -465,3 +469,329 @@ cglobal hf_noise%1, 3,3,0, pix1, lsize, h
 INIT_MMX mmx
 HF_NOISE 8
 HF_NOISE 16
+
+;---
+;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int stride, 
int h);
+;---
+INIT_MMX mmxext
+cglobal sad8, 4, 4, 0, v, pix1, pix2, stride
+movu  m2, [pix2q]
+movu  m1, [pix2q+strideq]
+psadbwm2, [pix1q]
+psadbwm1, [pix1q+strideq]
+paddw m2, m1
+
+%rep 3
+leapix1q, [pix1q+strideq*2]
+leapix2q, [pix2q+strideq*2]
+movu  m0, [pix2q]
+movu  m1, [pix2q+strideq]
+psadbwm0, [pix1q]
+psadbwm1, [pix1q+strideq]
+paddw m2, m0
+paddw m2, m1
+%endrep
+movd eax, m2
+RET
+
+%macro SAD16 0
+cglobal sad16, 5, 5, 3, v, pix1, pix2, stride, h
+pxor  m2, m2
+
+align 16
+.loop
+movu  m0, [pix2q]
+movu  m1, [pix2q+strideq]
+psadbwm0, [pix1q]
+psadbwm1, [pix1q+strideq]
+paddw m2, m0
+paddw m2, m1
+%if mmsize == 8
+movu  m0, [pix2q+8]
+movu  m1, [pix2q+strideq+8]
+psadbwm0, [pix1q+8]
+psadbwm1, [pix1q+strideq+8]
+paddw m2, m0
+paddw m2, m1
+%endif
+leapix1q, [pix1q+strideq*2]
+leapix2q, [pix2q+strideq*2]
+sub   hd, 2
+jg .loop
+%if mmsize == 16
+movhlps   m0, m2
+paddw m2, m0
+%endif
+movd eax, m2
+RET
+%endmacro
+
+INIT_MMX mmxext
+SAD16
+INIT_XMM sse2
+SAD16
+
+;--
+;int ff_sad_x2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
stride, int h);
+;--
+INIT_MMX mmxext
+cglobal sad8_x2, 4, 4, 0, v, pix1, pix2, stride
+movu  m0, [pix2q]
+movu  m2, [pix2q+strideq]
+pavgb m0, [pix2q+1]
+pavgb m2, [pix2q+strideq+1]
+psadbwm0, [pix1q]
+psadbwm2, [pix1q+strideq]
+paddw m0, m2
+
+%rep 3
+leapix1q, [pix1q+2*strideq]
+leapix2q, [pix2q+2*strideq]
+movu  m1, [pix2q]
+movu  m2, [pix2q+strideq]
+pavgb m1, [pix2q+1]
+pavgb m2, [pix2q+strideq+1]
+psadbwm1, [pix1q]
+psadbwm2, [pix1q+strideq]
+paddw m0, m1
+paddw m0, m2
+%endrep
+movd eax, m0
+RET
+
+%macro SAD16_X2 0
+cglobal sad16_x2, 5, 5, 5, v, pix1, pix2, stride, h
+pxor  m0, m0
+
+align 16
+.loop:
+movu  m1, [pix2q]
+movu  m2, [pix2q+strideq]
+%if mmsize == 16
+movu  m3, [pix2q+1]
+movu  m4, [pix2q+strideq+1]
+pavgb m1, m3
+pavgb m2, m4
+%else
+pavgb m1, [pix2q+1]
+pavgb m2, [pix2q+strideq+1]
+%endif
+psadbwm1, [pix1q]
+psadbwm2, [pix1q+strideq]
+paddw m0, m1
+paddw m0, m2
+%if mmsize == 8
+movu  m1, [pix2q+8]
+movu  m2, [pix2q+strideq+8]
+pavgb m1, [pix2q+9]
+pavgb m2, [pix2q+strideq+9]
+psadbwm1, [pix1q+8]
+psadbwm2, [pix1q+strideq+8]
+paddw m0, m1
+paddw m0, m2
+%endif
+leapix1q, [pix1q+2*strideq]
+leapix2q, [pix2q+2*strideq]
+sub   hd, 2
+jg .loop
+%if mmsize == 16
+movhlps   m1, m0
+paddw m0, m1
+%endif
+movd eax, m0
+RET
+%endmacro
+
+INIT_MMX mmxext
+SAD16_X2
+INIT_XMM sse2
+SAD16_X2
+
+;--
+;int ff_sad_y2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
stride, int h);
+;--
+INIT_MMX mmxext
+cglobal sad8_y2, 4, 4, 0, v, pix1, pix2, s

Re: [FFmpeg-cvslog] x86/me_cmp: port mmxext and sse2 sad functions to yasm

2014-09-17 Thread Clément Bœsch
On Wed, Sep 17, 2014 at 11:41:32AM +0200, James Almer wrote:
> ffmpeg | branch: master | James Almer  | Tue Sep 16 
> 21:41:47 2014 -0300| [0456d169c469a79e305813d14c873fe698c8c572] | committer: 
> Michael Niedermayer
> 
> x86/me_cmp: port mmxext and sse2 sad functions to yasm
> 
> Also add a missing c->pix_abs[0][0] initialization, and sse2 versions of
> sad16_x2, sad16_y2 and sad16_xy2 (%15 to %20 faster than mmxext).
> Since the _xy2 versions are not bitexact, they are accordingly marked as
> approximate.
> 
> Signed-off-by: James Almer 
> Signed-off-by: Michael Niedermayer 
> 
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0456d169c469a79e305813d14c873fe698c8c572
> ---
> 
>  libavcodec/x86/me_cmp.asm|  330 
> ++
>  libavcodec/x86/me_cmp_init.c |  203 +++---
>  2 files changed, 379 insertions(+), 154 deletions(-)
> 
> diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm
> index b0741f3..27176f4 100644
> --- a/libavcodec/x86/me_cmp.asm
> +++ b/libavcodec/x86/me_cmp.asm
> @@ -23,6 +23,10 @@
>  
>  %include "libavutil/x86/x86util.asm"
>  
> +SECTION_RODATA
> +
> +cextern pb_1
> +
>  SECTION .text
>  
>  %macro DIFF_PIXELS_1 4
> @@ -465,3 +469,329 @@ cglobal hf_noise%1, 3,3,0, pix1, lsize, h
>  INIT_MMX mmx
>  HF_NOISE 8
>  HF_NOISE 16
> +
> +;---
> +;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
> stride, int h);
> +;---
> +INIT_MMX mmxext
> +cglobal sad8, 4, 4, 0, v, pix1, pix2, stride
> +movu  m2, [pix2q]
> +movu  m1, [pix2q+strideq]
> +psadbwm2, [pix1q]
> +psadbwm1, [pix1q+strideq]
> +paddw m2, m1
> +
> +%rep 3
> +leapix1q, [pix1q+strideq*2]
> +leapix2q, [pix2q+strideq*2]
> +movu  m0, [pix2q]
> +movu  m1, [pix2q+strideq]
> +psadbwm0, [pix1q]
> +psadbwm1, [pix1q+strideq]
> +paddw m2, m0
> +paddw m2, m1
> +%endrep
> +movd eax, m2
> +RET
> +

Sorry to notice that now but... what happened to the h parameter?

[...]

-- 
Clément B.


pgpiZr8_jELFd.pgp
Description: PGP signature
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


Re: [FFmpeg-cvslog] [FFmpeg-devel] x86/me_cmp: port mmxext and sse2 sad functions to yasm

2014-09-17 Thread Michael Niedermayer
On Wed, Sep 17, 2014 at 01:18:12PM +0200, Clément Bœsch wrote:
> On Wed, Sep 17, 2014 at 11:41:32AM +0200, James Almer wrote:
> > ffmpeg | branch: master | James Almer  | Tue Sep 16 
> > 21:41:47 2014 -0300| [0456d169c469a79e305813d14c873fe698c8c572] | 
> > committer: Michael Niedermayer
> > 
> > x86/me_cmp: port mmxext and sse2 sad functions to yasm
> > 
> > Also add a missing c->pix_abs[0][0] initialization, and sse2 versions of
> > sad16_x2, sad16_y2 and sad16_xy2 (%15 to %20 faster than mmxext).
> > Since the _xy2 versions are not bitexact, they are accordingly marked as
> > approximate.
> > 
> > Signed-off-by: James Almer 
> > Signed-off-by: Michael Niedermayer 
> > 
> > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0456d169c469a79e305813d14c873fe698c8c572
> > ---
> > 
> >  libavcodec/x86/me_cmp.asm|  330 
> > ++
> >  libavcodec/x86/me_cmp_init.c |  203 +++---
> >  2 files changed, 379 insertions(+), 154 deletions(-)
> > 
> > diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm
> > index b0741f3..27176f4 100644
> > --- a/libavcodec/x86/me_cmp.asm
> > +++ b/libavcodec/x86/me_cmp.asm
> > @@ -23,6 +23,10 @@
> >  
> >  %include "libavutil/x86/x86util.asm"
> >  
> > +SECTION_RODATA
> > +
> > +cextern pb_1
> > +
> >  SECTION .text
> >  
> >  %macro DIFF_PIXELS_1 4
> > @@ -465,3 +469,329 @@ cglobal hf_noise%1, 3,3,0, pix1, lsize, h
> >  INIT_MMX mmx
> >  HF_NOISE 8
> >  HF_NOISE 16
> > +
> > +;---
> > +;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
> > stride, int h);
> > +;---
> > +INIT_MMX mmxext
> > +cglobal sad8, 4, 4, 0, v, pix1, pix2, stride
> > +movu  m2, [pix2q]
> > +movu  m1, [pix2q+strideq]
> > +psadbwm2, [pix1q]
> > +psadbwm1, [pix1q+strideq]
> > +paddw m2, m1
> > +
> > +%rep 3
> > +leapix1q, [pix1q+strideq*2]
> > +leapix2q, [pix2q+strideq*2]
> > +movu  m0, [pix2q]
> > +movu  m1, [pix2q+strideq]
> > +psadbwm0, [pix1q]
> > +psadbwm1, [pix1q+strideq]
> > +paddw m2, m0
> > +paddw m2, m1
> > +%endrep
> > +movd eax, m2
> > +RET
> > +
> 
> Sorry to notice that now but... what happened to the h parameter?

i had missed that when reviewing

fixed


[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avcodec/x86/me_cmp: fix sad8xh

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
13:37:34 2014 +0200| [85f2c0124d898473d8f5bf8223206b7df486dad8] | committer: 
Michael Niedermayer

avcodec/x86/me_cmp: fix sad8xh

This adds back support for 8x4 and 8x16
it does not support 8x2, i think nothing uses that

Found-by: ubitux
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=85f2c0124d898473d8f5bf8223206b7df486dad8
---

 libavcodec/x86/me_cmp.asm |   36 
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm
index 27176f4..ef591f5 100644
--- a/libavcodec/x86/me_cmp.asm
+++ b/libavcodec/x86/me_cmp.asm
@@ -474,14 +474,15 @@ HF_NOISE 16
 ;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int stride, 
int h);
 
;---
 INIT_MMX mmxext
-cglobal sad8, 4, 4, 0, v, pix1, pix2, stride
+cglobal sad8, 5, 5, 0, v, pix1, pix2, stride, h
 movu  m2, [pix2q]
 movu  m1, [pix2q+strideq]
 psadbwm2, [pix1q]
 psadbwm1, [pix1q+strideq]
 paddw m2, m1
+sub   hd, 2
 
-%rep 3
+.loop:
 leapix1q, [pix1q+strideq*2]
 leapix2q, [pix2q+strideq*2]
 movu  m0, [pix2q]
@@ -490,7 +491,9 @@ cglobal sad8, 4, 4, 0, v, pix1, pix2, stride
 psadbwm1, [pix1q+strideq]
 paddw m2, m0
 paddw m2, m1
-%endrep
+sub   hd, 2
+jne .loop
+
 movd eax, m2
 RET
 
@@ -535,7 +538,7 @@ SAD16
 ;int ff_sad_x2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
stride, int h);
 
;--
 INIT_MMX mmxext
-cglobal sad8_x2, 4, 4, 0, v, pix1, pix2, stride
+cglobal sad8_x2, 5, 5, 0, v, pix1, pix2, stride, h
 movu  m0, [pix2q]
 movu  m2, [pix2q+strideq]
 pavgb m0, [pix2q+1]
@@ -543,8 +546,9 @@ cglobal sad8_x2, 4, 4, 0, v, pix1, pix2, stride
 psadbwm0, [pix1q]
 psadbwm2, [pix1q+strideq]
 paddw m0, m2
+sub   hd, 2
 
-%rep 3
+.loop:
 leapix1q, [pix1q+2*strideq]
 leapix2q, [pix2q+2*strideq]
 movu  m1, [pix2q]
@@ -555,7 +559,9 @@ cglobal sad8_x2, 4, 4, 0, v, pix1, pix2, stride
 psadbwm2, [pix1q+strideq]
 paddw m0, m1
 paddw m0, m2
-%endrep
+sub   hd, 2
+jne .loop
+
 movd eax, m0
 RET
 
@@ -611,7 +617,7 @@ SAD16_X2
 ;int ff_sad_y2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
stride, int h);
 
;--
 INIT_MMX mmxext
-cglobal sad8_y2, 4, 4, 0, v, pix1, pix2, stride
+cglobal sad8_y2, 5, 5, 0, v, pix1, pix2, stride, h
 movu  m1, [pix2q]
 movu  m0, [pix2q+strideq]
 movu  m3, [pix2q+2*strideq]
@@ -622,8 +628,9 @@ cglobal sad8_y2, 4, 4, 0, v, pix1, pix2, stride
 psadbwm0, [pix1q+strideq]
 paddw m0, m1
 mova  m1, m3
+sub   hd, 2
 
-%rep 3
+.loop:
 leapix1q, [pix1q+2*strideq]
 leapix2q, [pix2q+2*strideq]
 movu  m2, [pix2q]
@@ -635,7 +642,9 @@ cglobal sad8_y2, 4, 4, 0, v, pix1, pix2, stride
 paddw m0, m1
 paddw m0, m2
 mova  m1, m3
-%endrep
+sub   hd, 2
+jne .loop
+
 movd eax, m0
 RET
 
@@ -691,7 +700,7 @@ SAD16_Y2
 ;int ff_sad_approx_xy2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, 
int stride, int h);
 
;---
 INIT_MMX mmxext
-cglobal sad8_approx_xy2, 4, 4, 0, v, pix1, pix2, stride
+cglobal sad8_approx_xy2, 5, 5, 0, v, pix1, pix2, stride, h
 pxor  m0, m0
 mova  m4, [pb_1]
 movu  m1, [pix2q]
@@ -708,8 +717,9 @@ cglobal sad8_approx_xy2, 4, 4, 0, v, pix1, pix2, stride
 psadbwm0, [pix1q+strideq]
 paddw m0, m1
 mova  m1, m3
+sub   hd, 2
 
-%rep 3
+.loop:
 leapix1q, [pix1q+2*strideq]
 leapix2q, [pix2q+2*strideq]
 movu  m2, [pix2q]
@@ -724,7 +734,9 @@ cglobal sad8_approx_xy2, 4, 4, 0, v, pix1, pix2, stride
 paddw m0, m1
 paddw m0, m2
 mova  m1, m3
-%endrep
+sub   hd, 2
+jne .loop
+
 movd eax, m0
 RET
 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] cmdutils: Print a more sensible message in show_filters() w/o libavfilter

2014-09-17 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Tue Sep  2 
23:25:33 2014 +0200| [2dd09ebf5597fd5e4a573bee9cccf21ae821f286] | committer: 
Diego Biurrun

cmdutils: Print a more sensible message in show_filters() w/o libavfilter

Also avoid an unused variable warning for compilers w/o av_unused support.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2dd09ebf5597fd5e4a573bee9cccf21ae821f286
---

 cmdutils.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/cmdutils.c b/cmdutils.c
index 202b288..96b40f3 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1161,12 +1161,14 @@ int show_protocols(void *optctx, const char *opt, const 
char *arg)
 
 int show_filters(void *optctx, const char *opt, const char *arg)
 {
-const AVFilter av_unused(*filter) = NULL;
+#if CONFIG_AVFILTER
+const AVFilter *filter = NULL;
 
 printf("Filters:\n");
-#if CONFIG_AVFILTER
 while ((filter = avfilter_next(filter)))
 printf("%-16s %s\n", filter->name, filter->description);
+#else
+printf("No filters available: libavfilter disabled\n");
 #endif
 return 0;
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286'

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
19:59:10 2014 +0200| [9ac08d93b2aad6c34987ab68e55bce002c162423] | committer: 
Michael Niedermayer

Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286'

* commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286':
  cmdutils: Print a more sensible message in show_filters() w/o libavfilter

Conflicts:
cmdutils.c

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ac08d93b2aad6c34987ab68e55bce002c162423
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avfilter: remove obsolete FF_API_FILL_FRAME cruft

2014-09-17 Thread James Almer
ffmpeg | branch: master | James Almer  | Sun Sep 14 21:31:12 
2014 -0300| [fffc9a077d39e4776665f10129c33bfbf1a86c29] | committer: James Almer

avfilter: remove obsolete FF_API_FILL_FRAME cruft

Reviewed-by: Paul B Mahol 
Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fffc9a077d39e4776665f10129c33bfbf1a86c29
---

 libavfilter/avcodec.c |   20 
 libavfilter/avcodec.h |   41 -
 libavfilter/version.h |3 ---
 3 files changed, 64 deletions(-)

diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c
index ba11a25..e0d9015 100644
--- a/libavfilter/avcodec.c
+++ b/libavfilter/avcodec.c
@@ -135,23 +135,3 @@ int avfilter_copy_buf_props(AVFrame *dst, const 
AVFilterBufferRef *src)
 return 0;
 }
 #endif
-
-#if FF_API_FILL_FRAME
-int avfilter_fill_frame_from_audio_buffer_ref(AVFrame *frame,
-  const AVFilterBufferRef 
*samplesref)
-{
-return avfilter_copy_buf_props(frame, samplesref);
-}
-
-int avfilter_fill_frame_from_video_buffer_ref(AVFrame *frame,
-  const AVFilterBufferRef *picref)
-{
-return avfilter_copy_buf_props(frame, picref);
-}
-
-int avfilter_fill_frame_from_buffer_ref(AVFrame *frame,
-const AVFilterBufferRef *ref)
-{
-return avfilter_copy_buf_props(frame, ref);
-}
-#endif
diff --git a/libavfilter/avcodec.h b/libavfilter/avcodec.h
index 8bbdad2..d3d0e20 100644
--- a/libavfilter/avcodec.h
+++ b/libavfilter/avcodec.h
@@ -66,45 +66,4 @@ AVFilterBufferRef *avfilter_get_buffer_ref_from_frame(enum 
AVMediaType type,
   int perms);
 #endif
 
-#if FF_API_FILL_FRAME
-/**
- * Fill an AVFrame with the information stored in samplesref.
- *
- * @param frame an already allocated AVFrame
- * @param samplesref an audio buffer reference
- * @return >= 0 in case of success, a negative AVERROR code in case of
- * failure
- * @deprecated Use avfilter_copy_buf_props() instead.
- */
-attribute_deprecated
-int avfilter_fill_frame_from_audio_buffer_ref(AVFrame *frame,
-  const AVFilterBufferRef 
*samplesref);
-
-/**
- * Fill an AVFrame with the information stored in picref.
- *
- * @param frame an already allocated AVFrame
- * @param picref a video buffer reference
- * @return >= 0 in case of success, a negative AVERROR code in case of
- * failure
- * @deprecated Use avfilter_copy_buf_props() instead.
- */
-attribute_deprecated
-int avfilter_fill_frame_from_video_buffer_ref(AVFrame *frame,
-  const AVFilterBufferRef *picref);
-
-/**
- * Fill an AVFrame with information stored in ref.
- *
- * @param frame an already allocated AVFrame
- * @param ref a video or audio buffer reference
- * @return >= 0 in case of success, a negative AVERROR code in case of
- * failure
- * @deprecated Use avfilter_copy_buf_props() instead.
- */
-attribute_deprecated
-int avfilter_fill_frame_from_buffer_ref(AVFrame *frame,
-const AVFilterBufferRef *ref);
-#endif
-
 #endif /* AVFILTER_AVCODEC_H */
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 7be5eeb..a251cb1 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -55,9 +55,6 @@
 #ifndef FF_API_FOO_COUNT
 #define FF_API_FOO_COUNT(LIBAVFILTER_VERSION_MAJOR < 6)
 #endif
-#ifndef FF_API_FILL_FRAME
-#define FF_API_FILL_FRAME   (LIBAVFILTER_VERSION_MAJOR < 5)
-#endif
 #ifndef FF_API_AVFILTERBUFFER
 #define FF_API_AVFILTERBUFFER   (LIBAVFILTER_VERSION_MAJOR < 6)
 #endif

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e'

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
20:09:09 2014 +0200| [a4cefc25ed832118a6fde6b604649b9d5f430a9e] | committer: 
Michael Niedermayer

Merge commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e'

* commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e':
  fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)

Conflicts:
tests/fate/real.mak

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4cefc25ed832118a6fde6b604649b9d5f430a9e
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] fate: disable fate-ra4-288, the code uses floats and does not produce the same results on different platforms

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
20:25:22 2014 +0200| [43633c5388d3237a492ba9614fc276c283c4e21a] | committer: 
Michael Niedermayer

fate: disable fate-ra4-288, the code uses floats and does not produce the same 
results on different platforms

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43633c5388d3237a492ba9614fc276c283c4e21a
---

 tests/fate/real.mak |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/fate/real.mak b/tests/fate/real.mak
index 1dcd443..26d5776 100644
--- a/tests/fate/real.mak
+++ b/tests/fate/real.mak
@@ -1,8 +1,8 @@
 FATE_REALAUDIO-$(call DEMDEC, RM, RA_144) += fate-ra3-144
 fate-ra3-144: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra3.ra
 
-FATE_REALAUDIO-$(call DEMDEC, RM, RA_288) += fate-ra4-288
-fate-ra4-288: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra4-288.ra
+#FATE_REALAUDIO-$(call DEMDEC, RM, RA_288) += fate-ra4-288
+#fate-ra4-288: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra4-288.ra
 
 FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, RA_144) += fate-ra-144
 fate-ra-144: CMD = md5 -i $(TARGET_SAMPLES)/real/ra3_in_rm_file.rm -f s16le

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)

2014-09-17 Thread Katerina Barone-Adesi
ffmpeg | branch: master | Katerina Barone-Adesi  | Mon Jul 
21 23:28:42 2014 +0200| [44caf99ecae7bc1b907fab849ecaa72dd340ba2e] | committer: 
Diego Biurrun

fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)

Signed-off-by: Diego Biurrun 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44caf99ecae7bc1b907fab849ecaa72dd340ba2e
---

 tests/fate/real.mak|   10 ++-
 tests/ref/fate/ra3-144 |   51 +
 tests/ref/fate/ra4-288 |   73 
 3 files changed, 133 insertions(+), 1 deletion(-)

diff --git a/tests/fate/real.mak b/tests/fate/real.mak
index 612f771..2ad974c 100644
--- a/tests/fate/real.mak
+++ b/tests/fate/real.mak
@@ -1,3 +1,9 @@
+FATE_REALAUDIO-$(call DEMDEC, RM, RA_144) += fate-ra3-144
+fate-ra3-144: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra3.ra
+
+FATE_REALAUDIO-$(call DEMDEC, RM, RA_288) += fate-ra4-288
+fate-ra4-288: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra4-288.ra
+
 FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, RA_144) += fate-ra-144
 fate-ra-144: CMD = md5 -i $(TARGET_SAMPLES)/real/ra3_in_rm_file.rm -f s16le
 
@@ -39,8 +45,10 @@ $(FATE_SIPR): CMP = oneoff
 FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, SIPR) += $(FATE_SIPR)
 fate-sipr: $(FATE_SIPR)
 
+fate-realaudio: $(FATE_REALAUDIO-yes)
 fate-realmedia-audio: $(FATE_REALMEDIA_AUDIO-yes)
 fate-realmedia-video: $(FATE_REALMEDIA_VIDEO-yes)
 fate-realmedia: fate-realmedia-audio fate-realmedia-video
+fate-real: fate-realaudio fate-realmedia
 
-FATE_SAMPLES_AVCONV += $(FATE_REALMEDIA_AUDIO-yes) $(FATE_REALMEDIA_VIDEO-yes)
+FATE_SAMPLES_AVCONV += $(FATE_REALAUDIO-yes) $(FATE_REALMEDIA_AUDIO-yes) 
$(FATE_REALMEDIA_VIDEO-yes)
diff --git a/tests/ref/fate/ra3-144 b/tests/ref/fate/ra3-144
new file mode 100644
index 000..40bcaed
--- /dev/null
+++ b/tests/ref/fate/ra3-144
@@ -0,0 +1,51 @@
+#tb 0: 1/8000
+0,  0,  0,  160,  320, 0x
+0,160,160,  160,  320, 0x4cfd5d74
+0,320,320,  160,  320, 0xbb60fa3d
+0,480,480,  160,  320, 0x4d75097c
+0,640,640,  160,  320, 0x59cbd3b4
+0,800,800,  160,  320, 0x0bcddb40
+0,960,960,  160,  320, 0x3d8ec98a
+0,   1120,   1120,  160,  320, 0x3612b700
+0,   1280,   1280,  160,  320, 0x23cfb9b6
+0,   1440,   1440,  160,  320, 0xd339c9a5
+0,   1600,   1600,  160,  320, 0xffb6b7c9
+0,   1760,   1760,  160,  320, 0x8730ac48
+0,   1920,   1920,  160,  320, 0x1568b279
+0,   2080,   2080,  160,  320, 0xf2229fda
+0,   2240,   2240,  160,  320, 0x91c0adbf
+0,   2400,   2400,  160,  320, 0xe261a238
+0,   2560,   2560,  160,  320, 0x5c0d97c6
+0,   2720,   2720,  160,  320, 0x32d492de
+0,   2880,   2880,  160,  320, 0x46a3af81
+0,   3040,   3040,  160,  320, 0xf8deaa2e
+0,   3200,   3200,  160,  320, 0x48649866
+0,   3360,   3360,  160,  320, 0x4cb2a03e
+0,   3520,   3520,  160,  320, 0x55e9a3d7
+0,   3680,   3680,  160,  320, 0xc60d9cf8
+0,   3840,   3840,  160,  320, 0x969098b8
+0,   4000,   4000,  160,  320, 0xe00b9f43
+0,   4160,   4160,  160,  320, 0x85c6af06
+0,   4320,   4320,  160,  320, 0x2037a849
+0,   4480,   4480,  160,  320, 0xd8e09379
+0,   4640,   4640,  160,  320, 0x5df69e34
+0,   4800,   4800,  160,  320, 0x95869c06
+0,   4960,   4960,  160,  320, 0x651c95a7
+0,   5120,   5120,  160,  320, 0xd433a2f4
+0,   5280,   5280,  160,  320, 0xc6c1a0e2
+0,   5440,   5440,  160,  320, 0x6cad9e61
+0,   5600,   5600,  160,  320, 0x57f5ab36
+0,   5760,   5760,  160,  320, 0x11fd9788
+0,   5920,   5920,  160,  320, 0x805db795
+0,   6080,   6080,  160,  320, 0xb306a36b
+0,   6240,   6240,  160,  320, 0xa34d9933
+0,   6400,   6400,  160,  320, 0xbc24a23c
+0,   6560,   6560,  160,  320, 0x6639a03c
+0,   6720,   6720,  160,  320, 0x4f20ab13
+0,   6880,   6880,  160,  320, 0xe30ca2bb
+0,   7040,   7040,  160,  320, 0x51e5ac4f
+0,   7200,   7200,  160,  320, 0x2a369ff4
+0,   7360,   7360,  160,  320, 0xfbffaa78
+0,   7520,   7520,  160,  320, 0xf117a04f
+0,   7680,   7680,  160,  320, 0x36479938
+0,   7840,   7840,  160,  320, 0xd1269299
diff --git a/tests/ref/fate/ra4-288 b/tests/ref/fate/ra4-288
new file mode 100644
index 000..6c0bde0
--- /dev/null
+++ b/tests/ref/fate/ra4-288

[FFmpeg-cvslog] Merge commit 'c5560e72d0bb69f8a1ac9536570398f84388f396'

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
20:38:56 2014 +0200| [8c71de762b84df7520f04818f98d6d70dbb063f2] | committer: 
Michael Niedermayer

Merge commit 'c5560e72d0bb69f8a1ac9536570398f84388f396'

* commit 'c5560e72d0bb69f8a1ac9536570398f84388f396':
  apetag: Fix APE tag size check

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c71de762b84df7520f04818f98d6d70dbb063f2
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] apetag: Fix APE tag size check

2014-09-17 Thread Katerina Barone-Adesi
ffmpeg | branch: master | Katerina Barone-Adesi  | Tue Sep 
16 01:40:24 2014 +0200| [c5560e72d0bb69f8a1ac9536570398f84388f396] | committer: 
Diego Biurrun

apetag: Fix APE tag size check

The size variable is (correctly) unsigned, but is passed to several functions
which take signed parameters, such as avio_read, sometimes after having
numbers added to it. So ensure that size remains within the bounds that
these functions can handle.

CC: libav-sta...@libav.org
Signed-off-by: Diego Biurrun 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c5560e72d0bb69f8a1ac9536570398f84388f396
---

 libavformat/apetag.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/apetag.c b/libavformat/apetag.c
index 22884ef..bd8d0ed 100644
--- a/libavformat/apetag.c
+++ b/libavformat/apetag.c
@@ -57,8 +57,10 @@ static int ape_tag_read_field(AVFormatContext *s)
 av_log(s, AV_LOG_WARNING, "Invalid APE tag key '%s'.\n", key);
 return -1;
 }
-if (size >= UINT_MAX)
-return -1;
+if (size > INT32_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
+av_log(s, AV_LOG_ERROR, "APE tag size too large.\n");
+return AVERROR_INVALIDDATA;
+}
 if (flags & APE_TAG_FLAG_IS_BINARY) {
 uint8_t filename[1024];
 enum AVCodecID id;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avcodec/x86/vp9lpf: Always include x86util.asm

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed Sep 17 
23:36:53 2014 +0200| [41d82b85ab0ee8bb2931c1f783e30c38c2fb5206] | committer: 
Michael Niedermayer

avcodec/x86/vp9lpf: Always include x86util.asm

Fixes executable stack

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=41d82b85ab0ee8bb2931c1f783e30c38c2fb5206
---

 libavcodec/x86/vp9lpf.asm |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/vp9lpf.asm b/libavcodec/x86/vp9lpf.asm
index cb57a25..416f08f 100644
--- a/libavcodec/x86/vp9lpf.asm
+++ b/libavcodec/x86/vp9lpf.asm
@@ -20,10 +20,10 @@
 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 ;**
 
-%if ARCH_X86_64
-
 %include "libavutil/x86/x86util.asm"
 
+%if ARCH_X86_64
+
 SECTION_RODATA
 
 cextern pb_3

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] swscale/x86: do not expect registers to be preserved across inline ASM blocks

2014-09-17 Thread Vitor Sessak
ffmpeg | branch: master | Vitor Sessak  | Wed Sep 17 
21:10:16 2014 +0200| [55d11d277bf52b0c7f88f45f1d3fd336fa8c431f] | committer: 
Michael Niedermayer

swscale/x86: do not expect registers to be preserved across inline ASM blocks

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55d11d277bf52b0c7f88f45f1d3fd336fa8c431f
---

 libswscale/x86/swscale.c |   83 --
 1 file changed, 44 insertions(+), 39 deletions(-)

diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c
index c4c0e28..8ce87b3 100644
--- a/libswscale/x86/swscale.c
+++ b/libswscale/x86/swscale.c
@@ -205,36 +205,20 @@ static void yuv2yuvX_sse3(const int16_t *filter, int 
filterSize,
 yuv2yuvX_mmxext(filter, filterSize, src, dest, dstW, dither, offset);
 return;
 }
-if (offset) {
-__asm__ volatile("movq   (%0), %%xmm3\n\t"
- "movdqa%%xmm3, %%xmm4\n\t"
- "psrlq   $24, %%xmm3\n\t"
- "psllq   $40, %%xmm4\n\t"
- "por   %%xmm4, %%xmm3\n\t"
- :: "r"(dither)
- );
-} else {
-__asm__ volatile("movq   (%0), %%xmm3\n\t"
- :: "r"(dither)
- );
-}
 filterSize--;
-__asm__ volatile(
-"pxor  %%xmm0, %%xmm0\n\t"
-"punpcklbw %%xmm0, %%xmm3\n\t"
-"movd  %0, %%xmm1\n\t"
-"punpcklwd %%xmm1, %%xmm1\n\t"
-"punpckldq %%xmm1, %%xmm1\n\t"
-"punpcklqdq %%xmm1, %%xmm1\n\t"
-"psllw $3, %%xmm1\n\t"
-"paddw %%xmm1, %%xmm3\n\t"
-"psraw $4, %%xmm3\n\t"
-::"m"(filterSize)
- );
-__asm__ volatile(
-"movdqa%%xmm3, %%xmm4\n\t"
-"movdqa%%xmm3, %%xmm7\n\t"
-"movl %3, %%ecx\n\t"
+#define MAIN_FUNCTION \
+"pxor   %%xmm0, %%xmm0 \n\t" \
+"punpcklbw  %%xmm0, %%xmm3 \n\t" \
+"movd   %4, %%xmm1 \n\t" \
+"punpcklwd  %%xmm1, %%xmm1 \n\t" \
+"punpckldq  %%xmm1, %%xmm1 \n\t" \
+"punpcklqdq %%xmm1, %%xmm1 \n\t" \
+"psllw  $3, %%xmm1 \n\t" \
+"paddw  %%xmm1, %%xmm3 \n\t" \
+"psraw  $4, %%xmm3 \n\t" \
+"movdqa %%xmm3, %%xmm4 \n\t" \
+"movdqa %%xmm3, %%xmm7 \n\t" \
+"movl   %3, %%ecx  \n\t" \
 "mov %0, %%"REG_d"  \n\t"\
 "mov(%%"REG_d"), %%"REG_S"  \n\t"\
 ".p2align 4 \n\t" /* FIXME 
Unroll? */\
@@ -252,20 +236,41 @@ static void yuv2yuvX_sse3(const int16_t *filter, int 
filterSize,
 " jnz1b \n\t"\
 "psraw   $3, %%xmm3  \n\t"\
 "psraw   $3, %%xmm4  \n\t"\
-"packuswb %%xmm4, %%xmm3  \n\t"
-"movntdq  %%xmm3, (%1, %%"REG_c")\n\t"
+"packuswb %%xmm4, %%xmm3  \n\t"\
+"movntdq  %%xmm3, (%1, %%"REG_c")\n\t"\
 "add $16, %%"REG_c" \n\t"\
 "cmp  %2, %%"REG_c" \n\t"\
-"movdqa%%xmm7, %%xmm3\n\t"
-"movdqa%%xmm7, %%xmm4\n\t"
+"movdqa   %%xmm7, %%xmm3\n\t" \
+"movdqa   %%xmm7, %%xmm4\n\t" \
 "mov %0, %%"REG_d"  \n\t"\
 "mov(%%"REG_d"), %%"REG_S"  \n\t"\
-"jb  1b \n\t"\
-:: "g" (filter),
-   "r" (dest-offset), "g" ((x86_reg)(dstW+offset)), "m" (offset)
-: XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , "%xmm4" , 
"%xmm5" , "%xmm7" ,)
- "%"REG_d, "%"REG_S, "%"REG_c
-);
+"jb  1b \n\t"
+
+if (offset) {
+__asm__ volatile(
+"movq  %5, %%xmm3  \n\t"
+"movdqa%%xmm3, %%xmm4  \n\t"
+"psrlq$24, %%xmm3  \n\t"
+"psllq$40, %%xmm4  \n\t"
+"por   %%xmm4, %%xmm3  \n\t"
+MAIN_FUNCTION
+  :: "g" (filter),
+  "r" (dest-offset), "g" ((x86_reg)(dstW+offset)), "m" (offset),
+  "m"(filterSize), "m"(((uint64_t *) dither)[0])
+  : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , "%xmm4" , 
"%xmm5" , "%xmm7" ,)
+"%"REG_d, "%"REG_S, "%"REG_c
+  );
+} else {
+__asm__ volatile(
+"movq  %5, %%xmm3   \n\t"
+MAIN_FUNCTION
+  :: "g" (filter),
+  "r" (dest-offset), "g" ((

[FFmpeg-cvslog] vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion

2014-09-17 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun  
| Thu Sep 18 00:08:05 2014 +0200| [739f179dd6a21f3fcbd3d23d3d14cde9bb587ead] | 
committer: Michael Niedermayer

vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion

The token 'vector' is a keyword in the Vector/SIMD Multimedia Extension data 
types and thus should not be used as a variable name.

This fixes building on powerpc/ppc64el.

Signed-off-by: Andreas Cadhalpun 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=739f179dd6a21f3fcbd3d23d3d14cde9bb587ead
---

 libavfilter/deshake.h|2 +-
 libavfilter/vf_deshake.c |   50 +++---
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/libavfilter/deshake.h b/libavfilter/deshake.h
index 62e81c3..becd6c2 100644
--- a/libavfilter/deshake.h
+++ b/libavfilter/deshake.h
@@ -48,7 +48,7 @@ typedef struct {
 } MotionVector;
 
 typedef struct {
-MotionVector vector;  ///< Motion vector
+MotionVector vec; ///< Motion vector
 double angle; ///< Angle of rotation
 double zoom;  ///< Zoom percentage
 } Transform;
diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c
index ccc263b..b5d5457 100644
--- a/libavfilter/vf_deshake.c
+++ b/libavfilter/vf_deshake.c
@@ -294,8 +294,8 @@ static void find_motion(DeshakeContext *deshake, uint8_t 
*src1, uint8_t *src2,
 for (x = 0; x < deshake->rx * 2 + 1; x++) {
 //av_log(NULL, AV_LOG_ERROR, "%5d ", deshake->counts[x][y]);
 if (deshake->counts[x][y] > count_max_value) {
-t->vector.x = x - deshake->rx;
-t->vector.y = y - deshake->ry;
+t->vec.x = x - deshake->rx;
+t->vec.y = y - deshake->ry;
 count_max_value = deshake->counts[x][y];
 }
 }
@@ -304,12 +304,12 @@ static void find_motion(DeshakeContext *deshake, uint8_t 
*src1, uint8_t *src2,
 
 p_x = (center_x - width / 2.0);
 p_y = (center_y - height / 2.0);
-t->vector.x += (cos(t->angle)-1)*p_x  - sin(t->angle)*p_y;
-t->vector.y += sin(t->angle)*p_x  + (cos(t->angle)-1)*p_y;
+t->vec.x += (cos(t->angle)-1)*p_x  - sin(t->angle)*p_y;
+t->vec.y += sin(t->angle)*p_x  + (cos(t->angle)-1)*p_y;
 
 // Clamp max shift & rotation?
-t->vector.x = av_clipf(t->vector.x, -deshake->rx * 2, deshake->rx * 2);
-t->vector.y = av_clipf(t->vector.y, -deshake->ry * 2, deshake->ry * 2);
+t->vec.x = av_clipf(t->vec.x, -deshake->rx * 2, deshake->rx * 2);
+t->vec.y = av_clipf(t->vec.y, -deshake->ry * 2, deshake->ry * 2);
 t->angle = av_clipf(t->angle, -0.1, 0.1);
 
 //av_log(NULL, AV_LOG_ERROR, "%d x %d\n", avg->x, avg->y);
@@ -407,8 +407,8 @@ static int config_props(AVFilterLink *link)
 DeshakeContext *deshake = link->dst->priv;
 
 deshake->ref = NULL;
-deshake->last.vector.x = 0;
-deshake->last.vector.y = 0;
+deshake->last.vec.x = 0;
+deshake->last.vec.y = 0;
 deshake->last.angle = 0;
 deshake->last.zoom = 0;
 
@@ -476,57 +476,57 @@ static int filter_frame(AVFilterLink *link, AVFrame *in)
 
 
 // Copy transform so we can output it later to compare to the smoothed 
value
-orig.vector.x = t.vector.x;
-orig.vector.y = t.vector.y;
+orig.vec.x = t.vec.x;
+orig.vec.y = t.vec.y;
 orig.angle = t.angle;
 orig.zoom = t.zoom;
 
 // Generate a one-sided moving exponential average
-deshake->avg.vector.x = alpha * t.vector.x + (1.0 - alpha) * 
deshake->avg.vector.x;
-deshake->avg.vector.y = alpha * t.vector.y + (1.0 - alpha) * 
deshake->avg.vector.y;
+deshake->avg.vec.x = alpha * t.vec.x + (1.0 - alpha) * deshake->avg.vec.x;
+deshake->avg.vec.y = alpha * t.vec.y + (1.0 - alpha) * deshake->avg.vec.y;
 deshake->avg.angle = alpha * t.angle + (1.0 - alpha) * deshake->avg.angle;
 deshake->avg.zoom = alpha * t.zoom + (1.0 - alpha) * deshake->avg.zoom;
 
 // Remove the average from the current motion to detect the motion that
 // is not on purpose, just as jitter from bumping the camera
-t.vector.x -= deshake->avg.vector.x;
-t.vector.y -= deshake->avg.vector.y;
+t.vec.x -= deshake->avg.vec.x;
+t.vec.y -= deshake->avg.vec.y;
 t.angle -= deshake->avg.angle;
 t.zoom -= deshake->avg.zoom;
 
 // Invert the motion to undo it
-t.vector.x *= -1;
-t.vector.y *= -1;
+t.vec.x *= -1;
+t.vec.y *= -1;
 t.angle *= -1;
 
 // Write statistics to file
 if (deshake->fp) {
-snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 
orig.vector.x, deshake->avg.vector.x, t.vector.x, orig.vector.y, 
deshake->avg.vector.y, t.vector.y, orig.angle, deshake->avg.angle, t.angle, 
orig.zoom, deshake->avg.zoom, t.zoom);
+snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 
orig.vec.x, deshake->avg.vec.x, t.vec.x, orig.vec.y, deshake->avg.vec.y, 
t.vec.y, orig.a

[FFmpeg-cvslog] apetag: Fix APE tag size check

2014-09-17 Thread Katerina Barone-Adesi
ffmpeg | branch: release/2.4 | Katerina Barone-Adesi  | 
Tue Sep 16 01:40:24 2014 +0200| [b45ab61b24a8f2aeafdd4451491b1b30b7875ee5] | 
committer: Diego Biurrun

apetag: Fix APE tag size check

The size variable is (correctly) unsigned, but is passed to several functions
which take signed parameters, such as avio_read, sometimes after having
numbers added to it. So ensure that size remains within the bounds that
these functions can handle.

(cherry picked from commit c5560e72d0bb69f8a1ac9536570398f84388f396)
Signed-off-by: Diego Biurrun 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b45ab61b24a8f2aeafdd4451491b1b30b7875ee5
---

 libavformat/apetag.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/apetag.c b/libavformat/apetag.c
index 22884ef..bd8d0ed 100644
--- a/libavformat/apetag.c
+++ b/libavformat/apetag.c
@@ -57,8 +57,10 @@ static int ape_tag_read_field(AVFormatContext *s)
 av_log(s, AV_LOG_WARNING, "Invalid APE tag key '%s'.\n", key);
 return -1;
 }
-if (size >= UINT_MAX)
-return -1;
+if (size > INT32_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
+av_log(s, AV_LOG_ERROR, "APE tag size too large.\n");
+return AVERROR_INVALIDDATA;
+}
 if (flags & APE_TAG_FLAG_IS_BINARY) {
 uint8_t filename[1024];
 enum AVCodecID id;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'b45ab61b24a8f2aeafdd4451491b1b30b7875ee5' into release/2.4

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: release/2.4 | Michael Niedermayer  | Thu Sep 
18 01:04:20 2014 +0200| [ab02548c8a71adc8f049b7630ca7602dc85be062] | committer: 
Michael Niedermayer

Merge commit 'b45ab61b24a8f2aeafdd4451491b1b30b7875ee5' into release/2.4

* commit 'b45ab61b24a8f2aeafdd4451491b1b30b7875ee5':
  apetag: Fix APE tag size check

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab02548c8a71adc8f049b7630ca7602dc85be062
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion

2014-09-17 Thread Andreas Cadhalpun
ffmpeg | branch: release/2.4 | Andreas Cadhalpun 
 | Thu Sep 18 00:08:05 2014 +0200| 
[dc4e34a2f05917deae2c6e68783dba089da5eb8d] | committer: Michael Niedermayer

vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion

The token 'vector' is a keyword in the Vector/SIMD Multimedia Extension data 
types and thus should not be used as a variable name.

This fixes building on powerpc/ppc64el.

Signed-off-by: Andreas Cadhalpun 
Signed-off-by: Michael Niedermayer 
(cherry picked from commit 739f179dd6a21f3fcbd3d23d3d14cde9bb587ead)

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dc4e34a2f05917deae2c6e68783dba089da5eb8d
---

 libavfilter/deshake.h|2 +-
 libavfilter/vf_deshake.c |   50 +++---
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/libavfilter/deshake.h b/libavfilter/deshake.h
index 62e81c3..becd6c2 100644
--- a/libavfilter/deshake.h
+++ b/libavfilter/deshake.h
@@ -48,7 +48,7 @@ typedef struct {
 } MotionVector;
 
 typedef struct {
-MotionVector vector;  ///< Motion vector
+MotionVector vec; ///< Motion vector
 double angle; ///< Angle of rotation
 double zoom;  ///< Zoom percentage
 } Transform;
diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c
index ccc263b..b5d5457 100644
--- a/libavfilter/vf_deshake.c
+++ b/libavfilter/vf_deshake.c
@@ -294,8 +294,8 @@ static void find_motion(DeshakeContext *deshake, uint8_t 
*src1, uint8_t *src2,
 for (x = 0; x < deshake->rx * 2 + 1; x++) {
 //av_log(NULL, AV_LOG_ERROR, "%5d ", deshake->counts[x][y]);
 if (deshake->counts[x][y] > count_max_value) {
-t->vector.x = x - deshake->rx;
-t->vector.y = y - deshake->ry;
+t->vec.x = x - deshake->rx;
+t->vec.y = y - deshake->ry;
 count_max_value = deshake->counts[x][y];
 }
 }
@@ -304,12 +304,12 @@ static void find_motion(DeshakeContext *deshake, uint8_t 
*src1, uint8_t *src2,
 
 p_x = (center_x - width / 2.0);
 p_y = (center_y - height / 2.0);
-t->vector.x += (cos(t->angle)-1)*p_x  - sin(t->angle)*p_y;
-t->vector.y += sin(t->angle)*p_x  + (cos(t->angle)-1)*p_y;
+t->vec.x += (cos(t->angle)-1)*p_x  - sin(t->angle)*p_y;
+t->vec.y += sin(t->angle)*p_x  + (cos(t->angle)-1)*p_y;
 
 // Clamp max shift & rotation?
-t->vector.x = av_clipf(t->vector.x, -deshake->rx * 2, deshake->rx * 2);
-t->vector.y = av_clipf(t->vector.y, -deshake->ry * 2, deshake->ry * 2);
+t->vec.x = av_clipf(t->vec.x, -deshake->rx * 2, deshake->rx * 2);
+t->vec.y = av_clipf(t->vec.y, -deshake->ry * 2, deshake->ry * 2);
 t->angle = av_clipf(t->angle, -0.1, 0.1);
 
 //av_log(NULL, AV_LOG_ERROR, "%d x %d\n", avg->x, avg->y);
@@ -407,8 +407,8 @@ static int config_props(AVFilterLink *link)
 DeshakeContext *deshake = link->dst->priv;
 
 deshake->ref = NULL;
-deshake->last.vector.x = 0;
-deshake->last.vector.y = 0;
+deshake->last.vec.x = 0;
+deshake->last.vec.y = 0;
 deshake->last.angle = 0;
 deshake->last.zoom = 0;
 
@@ -476,57 +476,57 @@ static int filter_frame(AVFilterLink *link, AVFrame *in)
 
 
 // Copy transform so we can output it later to compare to the smoothed 
value
-orig.vector.x = t.vector.x;
-orig.vector.y = t.vector.y;
+orig.vec.x = t.vec.x;
+orig.vec.y = t.vec.y;
 orig.angle = t.angle;
 orig.zoom = t.zoom;
 
 // Generate a one-sided moving exponential average
-deshake->avg.vector.x = alpha * t.vector.x + (1.0 - alpha) * 
deshake->avg.vector.x;
-deshake->avg.vector.y = alpha * t.vector.y + (1.0 - alpha) * 
deshake->avg.vector.y;
+deshake->avg.vec.x = alpha * t.vec.x + (1.0 - alpha) * deshake->avg.vec.x;
+deshake->avg.vec.y = alpha * t.vec.y + (1.0 - alpha) * deshake->avg.vec.y;
 deshake->avg.angle = alpha * t.angle + (1.0 - alpha) * deshake->avg.angle;
 deshake->avg.zoom = alpha * t.zoom + (1.0 - alpha) * deshake->avg.zoom;
 
 // Remove the average from the current motion to detect the motion that
 // is not on purpose, just as jitter from bumping the camera
-t.vector.x -= deshake->avg.vector.x;
-t.vector.y -= deshake->avg.vector.y;
+t.vec.x -= deshake->avg.vec.x;
+t.vec.y -= deshake->avg.vec.y;
 t.angle -= deshake->avg.angle;
 t.zoom -= deshake->avg.zoom;
 
 // Invert the motion to undo it
-t.vector.x *= -1;
-t.vector.y *= -1;
+t.vec.x *= -1;
+t.vec.y *= -1;
 t.angle *= -1;
 
 // Write statistics to file
 if (deshake->fp) {
-snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 
orig.vector.x, deshake->avg.vector.x, t.vector.x, orig.vector.y, 
deshake->avg.vector.y, t.vector.y, orig.angle, deshake->avg.angle, t.angle, 
orig.zoom, deshake->avg.zoom, t.zoom);
+snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f

[FFmpeg-cvslog] avcodec/x86/vp9lpf: Always include x86util.asm

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: release/2.4 | Michael Niedermayer  | Wed Sep 
17 23:36:53 2014 +0200| [d694ab846cf194862d5a0aa70217849b248c26ab] | committer: 
Michael Niedermayer

avcodec/x86/vp9lpf: Always include x86util.asm

Fixes executable stack

Signed-off-by: Michael Niedermayer 
(cherry picked from commit 41d82b85ab0ee8bb2931c1f783e30c38c2fb5206)

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d694ab846cf194862d5a0aa70217849b248c26ab
---

 libavcodec/x86/vp9lpf.asm |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/vp9lpf.asm b/libavcodec/x86/vp9lpf.asm
index cb57a25..416f08f 100644
--- a/libavcodec/x86/vp9lpf.asm
+++ b/libavcodec/x86/vp9lpf.asm
@@ -20,10 +20,10 @@
 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 ;**
 
-%if ARCH_X86_64
-
 %include "libavutil/x86/x86util.asm"
 
+%if ARCH_X86_64
+
 SECTION_RODATA
 
 cextern pb_3

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: Use the right variables in check_host_cpp

2014-09-17 Thread Jörg Krause
ffmpeg | branch: master | Jörg Krause  | Thu Sep 11 13:55:48 
2014 +0200| [3f2c70355ab722bc9f741bd3ed8224c7cfb62379] | committer: Martin 
Storsjö

configure: Use the right variables in check_host_cpp

HOSTCPPFLAGS and HOSTCFLAGS are only set in config.mak.

Signed-off-by: Martin Storsjö 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3f2c70355ab722bc9f741bd3ed8224c7cfb62379
---

 configure |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index a7b3c55..59dd453 100755
--- a/configure
+++ b/configure
@@ -1067,7 +1067,7 @@ check_host_cpp(){
 log check_host_cpp "$@"
 cat > $TMPC
 log_file $TMPC
-check_cmd $host_cc $HOSTCPPFLAGS $HOSTCFLAGS "$@" $(hostcc_e $TMPO) $TMPC
+check_cmd $host_cc $host_cppflags $host_cflags "$@" $(hostcc_e $TMPO) $TMPC
 }
 
 check_host_cppflags(){

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379'

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Thu Sep 18 
01:41:43 2014 +0200| [343643fdca4f438020e6a035cb9660ed772e7c88] | committer: 
Michael Niedermayer

Merge commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379'

* commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379':
  configure: Use the right variables in check_host_cpp

See: 453944cc77b9ea27c74011eb7c0e20c887b321cf
Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=343643fdca4f438020e6a035cb9660ed772e7c88
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758'

2014-09-17 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Thu Sep 18 
02:10:55 2014 +0200| [986f63d17fa14e757fd11b4b50acac563bd1bb9d] | committer: 
Michael Niedermayer

Merge commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758'

* commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758':
  rtpenc_chain: Pass the initial time_base hint on to the chained muxer

See: [FFmpeg-devel] [PATCH] avformat/rtpenc_chain: Set timebase
Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=986f63d17fa14e757fd11b4b50acac563bd1bb9d
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] rtpenc_chain: Pass the initial time_base hint on to the chained muxer

2014-09-17 Thread Martin Storsjö
ffmpeg | branch: master | Martin Storsjö  | Wed Sep 17 
12:03:18 2014 +0300| [2bb2c2bd75e5f4b28a945511cda77e0a1a44c758] | committer: 
Martin Storsjö

rtpenc_chain: Pass the initial time_base hint on to the chained muxer

In practice this hint is ignored - the rtp muxer always overwrites
the stream time base without taking the hint into account. But as
a general practice this is the correct way to pass a time base hint
on to a chained muxer.

This avoids warnings about using the codec time base as hint
being deprecated.

Signed-off-by: Martin Storsjö 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2bb2c2bd75e5f4b28a945511cda77e0a1a44c758
---

 libavformat/rtpenc_chain.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c
index 10c4020..773a7db 100644
--- a/libavformat/rtpenc_chain.c
+++ b/libavformat/rtpenc_chain.c
@@ -73,6 +73,7 @@ int ff_rtp_chain_mux_open(AVFormatContext **out, 
AVFormatContext *s,
 rtpctx->start_time_realtime = s->start_time_realtime;
 
 avcodec_copy_context(rtpctx->streams[0]->codec, st->codec);
+rtpctx->streams[0]->time_base = st->time_base;
 
 if (handle) {
 ret = ffio_fdopen(&rtpctx->pb, handle);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] x86/me_cmp: combine sad functions into a single macro

2014-09-17 Thread James Almer
ffmpeg | branch: master | James Almer  | Wed Sep 17 21:45:38 
2014 -0300| [77f9a81ccaadb34f309dc8922e8939442e4e81aa] | committer: James Almer

x86/me_cmp: combine sad functions into a single macro

No point in having the sad8 functions separate now that the loop is no
longer unrolled.

Reviewed-by: Michael Niedermayer 
Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77f9a81ccaadb34f309dc8922e8939442e4e81aa
---

 libavcodec/x86/me_cmp.asm |  221 +++--
 1 file changed, 93 insertions(+), 128 deletions(-)

diff --git a/libavcodec/x86/me_cmp.asm b/libavcodec/x86/me_cmp.asm
index ef591f5..b657642 100644
--- a/libavcodec/x86/me_cmp.asm
+++ b/libavcodec/x86/me_cmp.asm
@@ -473,43 +473,35 @@ HF_NOISE 16
 
;---
 ;int ff_sad_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int stride, 
int h);
 
;---
-INIT_MMX mmxext
-cglobal sad8, 5, 5, 0, v, pix1, pix2, stride, h
+;%1 = 8/16
+%macro SAD 1
+cglobal sad%1, 5, 5, 3, v, pix1, pix2, stride, h
 movu  m2, [pix2q]
 movu  m1, [pix2q+strideq]
 psadbwm2, [pix1q]
 psadbwm1, [pix1q+strideq]
 paddw m2, m1
-sub   hd, 2
-
-.loop:
-leapix1q, [pix1q+strideq*2]
-leapix2q, [pix2q+strideq*2]
-movu  m0, [pix2q]
-movu  m1, [pix2q+strideq]
-psadbwm0, [pix1q]
-psadbwm1, [pix1q+strideq]
+%if %1 != mmsize
+movu  m0, [pix2q+8]
+movu  m1, [pix2q+strideq+8]
+psadbwm0, [pix1q+8]
+psadbwm1, [pix1q+strideq+8]
 paddw m2, m0
 paddw m2, m1
+%endif
 sub   hd, 2
-jne .loop
-
-movd eax, m2
-RET
-
-%macro SAD16 0
-cglobal sad16, 5, 5, 3, v, pix1, pix2, stride, h
-pxor  m2, m2
 
 align 16
-.loop
+.loop:
+leapix1q, [pix1q+strideq*2]
+leapix2q, [pix2q+strideq*2]
 movu  m0, [pix2q]
 movu  m1, [pix2q+strideq]
 psadbwm0, [pix1q]
 psadbwm1, [pix1q+strideq]
 paddw m2, m0
 paddw m2, m1
-%if mmsize == 8
+%if %1 != mmsize
 movu  m0, [pix2q+8]
 movu  m1, [pix2q+strideq+8]
 psadbwm0, [pix1q+8]
@@ -517,8 +509,6 @@ align 16
 paddw m2, m0
 paddw m2, m1
 %endif
-leapix1q, [pix1q+strideq*2]
-leapix2q, [pix2q+strideq*2]
 sub   hd, 2
 jg .loop
 %if mmsize == 16
@@ -530,47 +520,47 @@ align 16
 %endmacro
 
 INIT_MMX mmxext
-SAD16
+SAD 8
+SAD 16
 INIT_XMM sse2
-SAD16
+SAD 16
 
 
;--
 ;int ff_sad_x2_(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, int 
stride, int h);
 
;--
-INIT_MMX mmxext
-cglobal sad8_x2, 5, 5, 0, v, pix1, pix2, stride, h
+;%1 = 8/16
+%macro SAD_X2 1
+cglobal sad%1_x2, 5, 5, 5, v, pix1, pix2, stride, h
 movu  m0, [pix2q]
 movu  m2, [pix2q+strideq]
+%if mmsize == 16
+movu  m3, [pix2q+1]
+movu  m4, [pix2q+strideq+1]
+pavgb m0, m3
+pavgb m2, m4
+%else
 pavgb m0, [pix2q+1]
 pavgb m2, [pix2q+strideq+1]
+%endif
 psadbwm0, [pix1q]
 psadbwm2, [pix1q+strideq]
 paddw m0, m2
-sub   hd, 2
-
-.loop:
-leapix1q, [pix1q+2*strideq]
-leapix2q, [pix2q+2*strideq]
-movu  m1, [pix2q]
-movu  m2, [pix2q+strideq]
-pavgb m1, [pix2q+1]
-pavgb m2, [pix2q+strideq+1]
-psadbwm1, [pix1q]
-psadbwm2, [pix1q+strideq]
+%if %1 != mmsize
+movu  m1, [pix2q+8]
+movu  m2, [pix2q+strideq+8]
+pavgb m1, [pix2q+9]
+pavgb m2, [pix2q+strideq+9]
+psadbwm1, [pix1q+8]
+psadbwm2, [pix1q+strideq+8]
 paddw m0, m1
 paddw m0, m2
+%endif
 sub   hd, 2
-jne .loop
-
-movd eax, m0
-RET
-
-%macro SAD16_X2 0
-cglobal sad16_x2, 5, 5, 5, v, pix1, pix2, stride, h
-pxor  m0, m0
 
 align 16
 .loop:
+leapix1q, [pix1q+2*strideq]
+leapix2q, [pix2q+2*strideq]
 movu  m1, [pix2q]
 movu  m2, [pix2q+strideq]
 %if mmsize == 16
@@ -586,7 +576,7 @@ align 16
 psadbwm2, [pix1q+strideq]
 paddw m0, m1
 paddw m0, m2
-%if mmsize == 8
+%if %1 != mmsize
 movu  m1, [pix2q+8]
 movu  m2, [pix2q+strideq+8]
 pavgb m1, [pix2q+9]
@@ -596,8 +586,6 @@ align 16
 paddw m0, m1
 paddw m0, m2
 %endif
-leapix1q, [pix1q+2*strideq]
-leapix2q, [pix2q+2*strideq]
 sub   hd, 2
 jg .loop
 %if mmsize == 16
@@ -609,56 +597,45 @@ align 16
 %endmacro
 
 INIT_MMX mmxext
-SAD16_X2
+SAD_X2 8
+SAD_X2 16
 INIT_XMM sse2
-SAD16_X2
+SAD_X2 16
 
 
;---

Re: [FFmpeg-cvslog] avcodec/x86/vp9lpf: Always include x86util.asm

2014-09-17 Thread Reimar Döffinger
On 18.09.2014, at 01:40, g...@videolan.org (Michael Niedermayer) wrote:
> ffmpeg | branch: release/2.4 | Michael Niedermayer  | Wed 
> Sep 17 23:36:53 2014 +0200| [d694ab846cf194862d5a0aa70217849b248c26ab] | 
> committer: Michael Niedermayer
> 
> avcodec/x86/vp9lpf: Always include x86util.asm
> 
> Fixes executable stack

What does "fixes" mean?
Are we not using -Wl,noexecstack?
Leaving the compiler a choice in it does seem risky to me.
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


Re: [FFmpeg-cvslog] avcodec/x86/vp9lpf: Always include x86util.asm

2014-09-17 Thread Clément Bœsch
On Thu, Sep 18, 2014 at 07:53:03AM +0200, Reimar Döffinger wrote:
> On 18.09.2014, at 01:40, g...@videolan.org (Michael Niedermayer) wrote:
> > ffmpeg | branch: release/2.4 | Michael Niedermayer  | Wed 
> > Sep 17 23:36:53 2014 +0200| [d694ab846cf194862d5a0aa70217849b248c26ab] | 
> > committer: Michael Niedermayer
> > 
> > avcodec/x86/vp9lpf: Always include x86util.asm
> > 
> > Fixes executable stack
> 
> What does "fixes" mean?

According to
https://lintian.debian.org/tags/shlib-with-executable-stack.html

"Executable stack is usually an error as it is only needed if the code
contains GCC trampolines or similar constructs which uses code on the
stack. One possible source for false positives are object files built from
assembler files which don't define a proper .note.GNU-stack section."

I'd say this is exactly what happened here

> Are we not using -Wl,noexecstack?
> Leaving the compiler a choice in it does seem risky to me.

-- 
Clément B.


pgpnozI8NtLrc.pgp
Description: PGP signature
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog