[FFmpeg-cvslog] doc/filters: add yet another fftfilt example

2016-01-18 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Sun Jan 17 11:13:33 
2016 +0100| [bb2f8bdeca93f1b9ccfac3677ade0989e97bc82a] | committer: Paul B Mahol

doc/filters: add yet another fftfilt example

Signed-off-by: Paul B Mahol 

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

 doc/filters.texi |6 ++
 1 file changed, 6 insertions(+)

diff --git a/doc/filters.texi b/doc/filters.texi
index f4bda6a..d8e3317 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -6468,6 +6468,12 @@ Sharpen:
 fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'
 @end example
 
+@item
+Blur:
+@example
+fftfilt=dc_Y=0:weight_Y='exp(-4 * ((Y+X)/(W+H)))'
+@end example
+
 @end itemize
 
 @section field

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


[FFmpeg-cvslog] lavc/rawdec: Use AV_PIX_FMT_PAL8 for 1-bit raw QuickTime video

2016-01-18 Thread Mats Peterson
ffmpeg | branch: master | Mats Peterson  | Sun Jan 17 
22:27:52 2016 +0100| [5da1477fa01b8f5eb9804435f26e76ba423624e9] | committer: 
Michael Niedermayer

lavc/rawdec: Use AV_PIX_FMT_PAL8 for 1-bit raw QuickTime video

Match the use of AV_PIX_FMT_PAL8 for 1-bit QuickTime Animation in
lavc/qtrle. To reiterate, 1-bit video is not necessary black & white in
QuickTime, merely bi-level. The two colors can be any color. The palette,
either included in the sample description, or the default Macintosh
palette (black & white for 1-bit video) will be set in lavf/qtpalette.
See the QuickTime File Format Specification for details.

Signed-off-by: Michael Niedermayer 

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

 libavcodec/raw.c|4 ++--
 libavcodec/rawdec.c |   31 ++-
 2 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/libavcodec/raw.c b/libavcodec/raw.c
index cda70ac..3f2cc11 100644
--- a/libavcodec/raw.c
+++ b/libavcodec/raw.c
@@ -255,13 +255,13 @@ const PixelFormatTag avpriv_pix_fmt_bps_avi[] = {
 };
 
 const PixelFormatTag avpriv_pix_fmt_bps_mov[] = {
-{ AV_PIX_FMT_MONOWHITE, 1 },
+{ AV_PIX_FMT_PAL8,  1 },
 { AV_PIX_FMT_PAL8,  2 },
 { AV_PIX_FMT_PAL8,  4 },
 { AV_PIX_FMT_PAL8,  8 },
 { AV_PIX_FMT_RGB555BE, 16 },
 { AV_PIX_FMT_RGB24,24 },
 { AV_PIX_FMT_ARGB, 32 },
-{ AV_PIX_FMT_MONOWHITE,33 },
+{ AV_PIX_FMT_PAL8, 33 },
 { AV_PIX_FMT_NONE,  0 },
 };
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 50cee39..cb0364c 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -41,7 +41,7 @@ typedef struct RawVideoContext {
 AVBufferRef *palette;
 int frame_size;  /* size of the frame in bytes */
 int flip;
-int is_2_4_bpp; // 2 or 4 bpp raw in avi/mov
+int is_1_2_4_bpp; // 1 bpp raw in mov, and 2 or 4 bpp raw in avi/mov
 int is_yuv2;
 int is_lt_16bpp; // 16bpp pixfmt and bits_per_coded_sample < 16
 int tff;
@@ -159,12 +159,13 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 
 AVFrame   *frame   = data;
 
-if ((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 
2) &&
+if ((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 2
+|| avctx->bits_per_coded_sample == 1) &&
 avctx->pix_fmt == AV_PIX_FMT_PAL8 &&
(!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))) {
-context->is_2_4_bpp = 1;
+context->is_1_2_4_bpp = 1;
 context->frame_size = av_image_get_buffer_size(avctx->pix_fmt,
-   FFALIGN(avctx->width, 
16),
+   FFALIGN(avctx->width, 
32),
avctx->height, 1);
 } else {
 context->is_lt_16bpp = av_get_bits_per_pixel(desc) == 16 && 
avctx->bits_per_coded_sample && avctx->bits_per_coded_sample < 16;
@@ -174,7 +175,7 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 if (context->frame_size < 0)
 return context->frame_size;
 
-need_copy = !avpkt->buf || context->is_2_4_bpp || context->is_yuv2 || 
context->is_lt_16bpp;
+need_copy = !avpkt->buf || context->is_1_2_4_bpp || context->is_yuv2 || 
context->is_lt_16bpp;
 
 frame->pict_type= AV_PICTURE_TYPE_I;
 frame->key_frame= 1;
@@ -201,8 +202,8 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 if (!frame->buf[0])
 return AVERROR(ENOMEM);
 
-//2bpp and 4bpp raw in avi and mov (yes this is ugly ...)
-if (context->is_2_4_bpp) {
+// 1 bpp raw in mov, and 2 or 4 bpp raw in avi/mov
+if (context->is_1_2_4_bpp) {
 int i;
 uint8_t *dst = frame->buf[0]->data;
 buf_size = context->frame_size - AVPALETTE_SIZE;
@@ -212,8 +213,7 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 dst[2 * i + 1] = buf[i] & 15;
 }
 linesize_align = 8;
-} else {
-av_assert0(avctx->bits_per_coded_sample == 2);
+} else if (avctx->bits_per_coded_sample == 2) {
 for (i = 0; 4 * i + 3 < buf_size && isize; i++) {
 dst[4 * i + 0] = buf[i] >> 6;
 dst[4 * i + 1] = buf[i] >> 4 & 3;
@@ -221,6 +221,19 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 dst[4 * i + 3] = buf[i]  & 3;
 }
 linesize_align = 16;
+} else {
+av_assert0(avctx->bits_per_coded_sample == 1);
+for (i = 0; 8 * i + 7 < buf_size && isize; i++) {
+dst[8 * i + 0] = buf[i] >> 7 & 1;
+dst[8 * i + 1] = buf[i] >> 6 & 1;
+dst[8 * i + 2] = buf[i] >> 5 & 1;
+dst[8 * i + 3] = buf[i] >> 4 

[FFmpeg-cvslog] videodsp: fix 1-byte overread in top/bottom READ_NUM_BYTES iterations.

2016-01-18 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Sat Jan 16 
14:44:28 2016 -0500| [0f88b3f82fafd536979993aeaafcb11a22266dbd] | committer: 
Ronald S. Bultje

videodsp: fix 1-byte overread in top/bottom READ_NUM_BYTES iterations.

This can overread (either before start or beyond end) of the buffer in
Nx1 (i.e. height=1) images.

Fixes mozilla bug 1240080.

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

 libavcodec/x86/videodsp.asm |   21 ++---
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/libavcodec/x86/videodsp.asm b/libavcodec/x86/videodsp.asm
index 48f5ac0..a807d3b 100644
--- a/libavcodec/x86/videodsp.asm
+++ b/libavcodec/x86/videodsp.asm
@@ -193,14 +193,10 @@ hvar_fn
 movvalb, [srcq+%2-1]
 %elif (%2-%%off) == 2
 movvalw, [srcq+%2-2]
-%elifidn %1, body
+%else
 movvalb, [srcq+%2-1]
-salvald, 16
+rorvald, 16
 movvalw, [srcq+%2-3]
-%elifidn %1, bottom
-movd mm %+ %%mmx_idx, [srcq+%2-4]
-%else ; top
-movd mm %+ %%mmx_idx, [srcq+%2-3]
 %endif
 %endif ; (%2-%%off) >= 1
 %endmacro ; READ_NUM_BYTES
@@ -253,18 +249,13 @@ hvar_fn
 mov [dstq+%2-1], valb
 %elif (%2-%%off) == 2
 mov [dstq+%2-2], valw
-%elifidn %1, body
-mov [dstq+%2-3], valw
-sarvald, 16
-mov [dstq+%2-1], valb
 %else
-movd   vald, mm %+ %%mmx_idx
-%ifidn %1, bottom
-sarvald, 8
-%endif
 mov [dstq+%2-3], valw
-sarvald, 16
+rorvald, 16
 mov [dstq+%2-1], valb
+%ifnidn %1, body
+rorvald, 16
+%endif
 %endif
 %endif ; (%2-%%off) >= 1
 %endmacro ; WRITE_NUM_BYTES

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


[FFmpeg-cvslog] avfilter/avf_showfreqs/showspectrum: rename skip_samples to hop_size

2016-01-18 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Mon Jan 18 19:38:14 
2016 +0100| [4e17efd852bd3d83d1b6465614fc2d44be8e3e3d] | committer: Paul B Mahol

avfilter/avf_showfreqs/showspectrum: rename skip_samples to hop_size

Signed-off-by: Paul B Mahol 

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

 libavfilter/avf_showfreqs.c|   10 +-
 libavfilter/avf_showspectrum.c |   10 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/libavfilter/avf_showfreqs.c b/libavfilter/avf_showfreqs.c
index 311dd47..6323887 100644
--- a/libavfilter/avf_showfreqs.c
+++ b/libavfilter/avf_showfreqs.c
@@ -53,7 +53,7 @@ typedef struct ShowFreqsContext {
 float **avg_data;
 float *window_func_lut;
 float overlap;
-int skip_samples;
+int hop_size;
 int nb_channels;
 int nb_freq;
 int win_size;
@@ -205,8 +205,8 @@ static int config_output(AVFilterLink *outlink)
 ff_generate_window_func(s->window_func_lut, s->win_size, s->win_func, 
&overlap);
 if (s->overlap == 1.)
 s->overlap = overlap;
-s->skip_samples = (1. - s->overlap) * s->win_size;
-if (s->skip_samples < 1) {
+s->hop_size = (1. - s->overlap) * s->win_size;
+if (s->hop_size < 1) {
 av_log(ctx, AV_LOG_ERROR, "overlap %f too big\n", s->overlap);
 return AVERROR(EINVAL);
 }
@@ -434,14 +434,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 }
 
 fin->pts = s->pts;
-s->pts += s->skip_samples;
+s->pts += s->hop_size;
 ret = av_audio_fifo_peek(s->fifo, (void **)fin->extended_data, 
s->win_size);
 if (ret < 0)
 goto fail;
 
 ret = plot_freqs(inlink, fin);
 av_frame_free(&fin);
-av_audio_fifo_drain(s->fifo, s->skip_samples);
+av_audio_fifo_drain(s->fifo, s->hop_size);
 if (ret < 0)
 goto fail;
 }
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c
index 424d1f2..3efd000 100644
--- a/libavfilter/avf_showspectrum.c
+++ b/libavfilter/avf_showspectrum.c
@@ -74,7 +74,7 @@ typedef struct {
 double win_scale;
 float overlap;
 float gain;
-int skip_samples;
+int hop_size;
 float *combine_buffer;  ///< color combining buffer (3 * h items)
 AVAudioFifo *fifo;
 int64_t pts;
@@ -367,8 +367,8 @@ static int config_output(AVFilterLink *outlink)
 ff_generate_window_func(s->window_func_lut, s->win_size, s->win_func, 
&overlap);
 if (s->overlap == 1)
 s->overlap = overlap;
-s->skip_samples = (1. - s->overlap) * s->win_size;
-if (s->skip_samples < 1) {
+s->hop_size = (1. - s->overlap) * s->win_size;
+if (s->hop_size < 1) {
 av_log(ctx, AV_LOG_ERROR, "overlap %f too big\n", s->overlap);
 return AVERROR(EINVAL);
 }
@@ -805,7 +805,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
*insamples)
 }
 
 fin->pts = s->pts;
-s->pts += s->skip_samples;
+s->pts += s->hop_size;
 ret = av_audio_fifo_peek(s->fifo, (void **)fin->extended_data, 
s->win_size);
 if (ret < 0)
 goto fail;
@@ -820,7 +820,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
*insamples)
 
 ret = plot_spectrum_column(inlink, fin);
 av_frame_free(&fin);
-av_audio_fifo_drain(s->fifo, s->skip_samples);
+av_audio_fifo_drain(s->fifo, s->hop_size);
 if (ret < 0)
 goto fail;
 }

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


[FFmpeg-cvslog] avcodec/put_bits: Assert buf_ptr in flush_put_bits()

2016-01-18 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Jan 18 17:13:55 2016 +0100| [3ef5de0f19774e2c3dd9b08ba2e8ab7241a4862a] | 
committer: Michael Niedermayer

avcodec/put_bits: Assert buf_ptr in flush_put_bits()

Signed-off-by: Michael Niedermayer 

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

 libavcodec/put_bits.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/put_bits.h b/libavcodec/put_bits.h
index 0db8a03..68ed391 100644
--- a/libavcodec/put_bits.h
+++ b/libavcodec/put_bits.h
@@ -105,7 +105,7 @@ static inline void flush_put_bits(PutBitContext *s)
 s->bit_buf <<= s->bit_left;
 #endif
 while (s->bit_left < 32) {
-/* XXX: should test end of buffer */
+av_assert0(s->buf_ptr < s->buf_end);
 #ifdef BITSTREAM_WRITER_LE
 *s->buf_ptr++ = s->bit_buf;
 s->bit_buf  >>= 8;

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


[FFmpeg-cvslog] avcodec/gif: Fix lzw buffer size

2016-01-18 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Jan 18 19:20:03 2016 +0100| [03d83ba34b2070878909eae18dfac0f519503777] | 
committer: Michael Niedermayer

avcodec/gif: Fix lzw buffer size

Fixes out of array access
Fixes: 
aaa479088e6fb40b04837b3119f47b04/asan_heap-oob_e38c68_8576_9d653078b2470700e2834636f12ff557.tga

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer 

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

 libavcodec/gif.c |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/gif.c b/libavcodec/gif.c
index acdc0e1..6af1f4a 100644
--- a/libavcodec/gif.c
+++ b/libavcodec/gif.c
@@ -43,6 +43,7 @@ typedef struct GIFContext {
 const AVClass *class;
 LZWState *lzw;
 uint8_t *buf;
+int buf_size;
 AVFrame *last_frame;
 int flags;
 uint32_t palette[AVPALETTE_COUNT];  ///< local reference palette for !pal8
@@ -174,7 +175,7 @@ static int gif_image_write_image(AVCodecContext *avctx,
 
 bytestream_put_byte(bytestream, 0x08);
 
-ff_lzw_encode_init(s->lzw, s->buf, 2 * width * height,
+ff_lzw_encode_init(s->lzw, s->buf, s->buf_size,
12, FF_LZW_GIF, put_bits);
 
 ptr = buf + y_start*linesize + x_start;
@@ -231,7 +232,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
 s->transparent_index = -1;
 
 s->lzw = av_mallocz(ff_lzw_encode_state_size);
-s->buf = av_malloc(avctx->width*avctx->height*2);
+s->buf_size = avctx->width*avctx->height*2 + 1000;
+s->buf = av_malloc(s->buf_size);
 s->tmpl = av_malloc(avctx->width);
 if (!s->tmpl || !s->buf || !s->lzw)
 return AVERROR(ENOMEM);
@@ -321,6 +323,7 @@ static int gif_encode_close(AVCodecContext *avctx)
 
 av_freep(&s->lzw);
 av_freep(&s->buf);
+s->buf_size = 0;
 av_frame_free(&s->last_frame);
 av_freep(&s->tmpl);
 return 0;

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


[FFmpeg-cvslog] configure: disable -Wunused-const-variable

2016-01-18 Thread James Almer
ffmpeg | branch: master | James Almer  | Mon Jan 18 16:25:11 
2016 -0300| [c1a3683f26fb49ae700f0c202ab395cbcbd927a5] | committer: James Almer

configure: disable -Wunused-const-variable

The option became too aggressive with GCC 6, generating nearly 500
warnings from static const variables defined in assorted headers

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

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

 configure |1 +
 1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index cdf07ae..4dcb27b 100755
--- a/configure
+++ b/configure
@@ -5780,6 +5780,7 @@ check_disable_warning -Wno-parentheses
 check_disable_warning -Wno-switch
 check_disable_warning -Wno-format-zero-length
 check_disable_warning -Wno-pointer-sign
+check_disable_warning -Wno-unused-const-variable
 
 # add some linker flags
 check_ldflags -Wl,--warn-common

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


[FFmpeg-cvslog] avconv: Simplify poll_filters() return value check

2016-01-18 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Sat Jan  2 
14:43:12 2016 +0100| [7ebf1b4adad40e2b0d88ebd5cfde821a7a0ceab2] | committer: 
Luca Barbato

avconv: Simplify poll_filters() return value check

Signed-off-by: Luca Barbato 

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

 avconv.c |   14 +-
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/avconv.c b/avconv.c
index 57a3718..0410378 100644
--- a/avconv.c
+++ b/avconv.c
@@ -2556,16 +2556,12 @@ static int transcode(void)
 }
 
 ret = poll_filters();
-if (ret < 0) {
-if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) {
-continue;
-} else {
-char errbuf[128];
-av_strerror(ret, errbuf, sizeof(errbuf));
+if (ret < 0 && (ret != AVERROR_EOF || ret != AVERROR(EAGAIN))) {
+char errbuf[128];
+av_strerror(ret, errbuf, sizeof(errbuf));
 
-av_log(NULL, AV_LOG_ERROR, "Error while filtering: %s\n", 
errbuf);
-break;
-}
+av_log(NULL, AV_LOG_ERROR, "Error while filtering: %s\n", errbuf);
+break;
 }
 
 /* dump report by using the output first video and audio streams */

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


[FFmpeg-cvslog] Merge commit '7ebf1b4adad40e2b0d88ebd5cfde821a7a0ceab2'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:40:32 2016 +0100| [4440c8e9c98f138a04dafdec8f3d21ce8f07f7b9] | committer: 
Hendrik Leppkes

Merge commit '7ebf1b4adad40e2b0d88ebd5cfde821a7a0ceab2'

* commit '7ebf1b4adad40e2b0d88ebd5cfde821a7a0ceab2':
  avconv: Simplify poll_filters() return value check

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] Merge commit '63f7f8d1dbf6ce27440fdd56ef38c822fb11b9c2'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:41:32 2016 +0100| [7dae3461c0bbd15e0765f29c33d2eb40566b9562] | committer: 
Hendrik Leppkes

Merge commit '63f7f8d1dbf6ce27440fdd56ef38c822fb11b9c2'

* commit '63f7f8d1dbf6ce27440fdd56ef38c822fb11b9c2':
  avconv: Drop an impossible check

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] avconv: Drop an impossible check

2016-01-18 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Sat Jan  2 
14:43:13 2016 +0100| [63f7f8d1dbf6ce27440fdd56ef38c822fb11b9c2] | committer: 
Luca Barbato

avconv: Drop an impossible check

EAGAIN is already managed in poll_filters().

Signed-off-by: Luca Barbato 

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

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

diff --git a/avconv.c b/avconv.c
index 0410378..6b37d6e 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1231,7 +1231,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, 
int *got_output)
decoded_frame->width, decoded_frame->height, 
av_get_pix_fmt_name(decoded_frame->format));
 
 ret = poll_filters();
-if (ret < 0 && (ret != AVERROR_EOF && ret != AVERROR(EAGAIN))) {
+if (ret < 0 && ret != AVERROR_EOF) {
 char errbuf[128];
 av_strerror(ret, errbuf, sizeof(errbuf));
 
@@ -2556,7 +2556,7 @@ static int transcode(void)
 }
 
 ret = poll_filters();
-if (ret < 0 && (ret != AVERROR_EOF || ret != AVERROR(EAGAIN))) {
+if (ret < 0 && ret != AVERROR_EOF) {
 char errbuf[128];
 av_strerror(ret, errbuf, sizeof(errbuf));
 

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


[FFmpeg-cvslog] Merge commit 'a6259a6ecbad18d58085e4ab23f56151e98d7b53'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:43:03 2016 +0100| [b5513441e477f63e9627ce6eb7c4cad475a4ba35] | committer: 
Hendrik Leppkes

Merge commit 'a6259a6ecbad18d58085e4ab23f56151e98d7b53'

* commit 'a6259a6ecbad18d58085e4ab23f56151e98d7b53':
  qsvenc: properly handle the warning from MFXVideoCORE_SyncOperation

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] qsvenc: properly handle the warning from MFXVideoCORE_SyncOperation

2016-01-18 Thread Maxym Dmytrychenko
ffmpeg | branch: master | Maxym Dmytrychenko  | 
Fri Dec 18 14:24:36 2015 +0100| [a6259a6ecbad18d58085e4ab23f56151e98d7b53] | 
committer: Anton Khirnov

qsvenc: properly handle the warning from MFXVideoCORE_SyncOperation

Same as what is done in 3b6473b43eb69fc3faaf69f7fd0b83b51db7607f.

Signed-off-by: Anton Khirnov 

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

 libavcodec/qsvenc.c |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index f19ca76..cda11fa 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -919,7 +919,9 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
 av_fifo_generic_read(q->async_fifo, &sync,sizeof(sync),NULL);
 av_fifo_generic_read(q->async_fifo, &bs,  sizeof(bs),  NULL);
 
-MFXVideoCORE_SyncOperation(q->session, sync, 6);
+do {
+ret = MFXVideoCORE_SyncOperation(q->session, sync, 1000);
+} while (ret == MFX_WRN_IN_EXECUTION);
 
 new_pkt.dts  = av_rescale_q(bs->DecodeTimeStamp, (AVRational){1, 
9}, avctx->time_base);
 new_pkt.pts  = av_rescale_q(bs->TimeStamp,   (AVRational){1, 
9}, avctx->time_base);

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


[FFmpeg-cvslog] Merge commit 'd1cd20e4e33f8139e150034b3c457302312d81bd'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:44:50 2016 +0100| [ed9cff9edf0f7f48d66e5700d154f79394f535a2] | committer: 
Hendrik Leppkes

Merge commit 'd1cd20e4e33f8139e150034b3c457302312d81bd'

* commit 'd1cd20e4e33f8139e150034b3c457302312d81bd':
  qsvenc: split encoding frames and reading from the async FIFO

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] qsvenc: split encoding frames and reading from the async FIFO

2016-01-18 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov  | Wed Jan  6 
08:39:27 2016 +0100| [d1cd20e4e33f8139e150034b3c457302312d81bd] | committer: 
Anton Khirnov

qsvenc: split encoding frames and reading from the async FIFO

This makes sure all the frames are returned at the end.

Found-By: Maxym Dmytrychenko 

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

 libavcodec/qsvenc.c |   20 ++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index cda11fa..4a33ade 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -857,8 +857,8 @@ static void print_interlace_msg(AVCodecContext *avctx, 
QSVEncContext *q)
 }
 }
 
-int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
-  AVPacket *pkt, const AVFrame *frame, int *got_packet)
+static int encode_frame(AVCodecContext *avctx, QSVEncContext *q,
+const AVFrame *frame)
 {
 AVPacket new_pkt = { 0 };
 mfxBitstream *bs;
@@ -913,8 +913,24 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
 av_freep(&bs);
 }
 
+return 0;
+}
+
+int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
+  AVPacket *pkt, const AVFrame *frame, int *got_packet)
+{
+int ret;
+
+ret = encode_frame(avctx, q, frame);
+if (ret < 0)
+return ret;
+
 if (!av_fifo_space(q->async_fifo) ||
 (!frame && av_fifo_size(q->async_fifo))) {
+AVPacket new_pkt;
+mfxBitstream *bs;
+mfxSyncPoint sync;
+
 av_fifo_generic_read(q->async_fifo, &new_pkt, sizeof(new_pkt), NULL);
 av_fifo_generic_read(q->async_fifo, &sync,sizeof(sync),NULL);
 av_fifo_generic_read(q->async_fifo, &bs,  sizeof(bs),  NULL);

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


[FFmpeg-cvslog] Merge commit '2aec600ae7af7d46a4877b5ccc263b39f05a91cb'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:45:48 2016 +0100| [202ed3e5e67441bdb7ace05ba6b853c0e7581448] | committer: 
Hendrik Leppkes

Merge commit '2aec600ae7af7d46a4877b5ccc263b39f05a91cb'

* commit '2aec600ae7af7d46a4877b5ccc263b39f05a91cb':
  asfdec: reject size > INT64_MAX in asf_read_unknown

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] asfdec: reject size > INT64_MAX in asf_read_unknown

2016-01-18 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun  
| Wed Jan  6 07:32:25 2016 +0100| [2aec600ae7af7d46a4877b5ccc263b39f05a91cb] | 
committer: Anton Khirnov

asfdec: reject size > INT64_MAX in asf_read_unknown

Both avio_skip and detect_unknown_subobject use int64_t for the size
parameter.

This fixes a segmentation fault due to infinite recursion.

Signed-off-by: Andreas Cadhalpun 
Signed-off-by: Alexandra Hájková 
Signed-off-by: Anton Khirnov 

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

 libavformat/asfdec.c |3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 58480dc..4fc0e3d 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -178,6 +178,9 @@ static int asf_read_unknown(AVFormatContext *s, const 
GUIDParseTable *g)
 uint64_t size   = avio_rl64(pb);
 int ret;
 
+if (size > INT64_MAX)
+return AVERROR_INVALIDDATA;
+
 if (asf->is_header)
 asf->unknown_size = size;
 asf->is_header = 0;

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


[FFmpeg-cvslog] asfdec: only set asf_pkt->data_size after sanity checks

2016-01-18 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun  
| Wed Jan  6 07:34:42 2016 +0100| [c69461d73797e02e7a3ab4316050c241fa91f53f] | 
committer: Anton Khirnov

asfdec: only set asf_pkt->data_size after sanity checks

Otherwise invalid values are used unchecked in the next run.
This can cause NULL pointer dereferencing.

Signed-off-by: Andreas Cadhalpun 
Signed-off-by: Alexandra Hájková 
Signed-off-by: Anton Khirnov 

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

 libavformat/asfdec.c |   18 ++
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index ca7712f..58480dc 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -1136,14 +1136,15 @@ static int asf_read_replicated_data(AVFormatContext *s, 
ASFPacket *asf_pkt)
 {
 ASFContext *asf = s->priv_data;
 AVIOContext *pb = s->pb;
-int ret;
+int ret, data_size;
 
 if (!asf_pkt->data_size) {
-asf_pkt->data_size = asf_pkt->size_left = avio_rl32(pb); // read media 
object size
-if (asf_pkt->data_size <= 0)
+data_size = avio_rl32(pb); // read media object size
+if (data_size <= 0)
 return AVERROR_INVALIDDATA;
-if ((ret = av_new_packet(&asf_pkt->avpkt, asf_pkt->data_size)) < 0)
+if ((ret = av_new_packet(&asf_pkt->avpkt, data_size)) < 0)
 return ret;
+asf_pkt->data_size = asf_pkt->size_left = data_size;
 } else
 avio_skip(pb, 4); // reading of media object size is already done
 asf_pkt->dts = avio_rl32(pb); // read presentation time
@@ -1212,14 +1213,15 @@ static int asf_read_single_payload(AVFormatContext *s, 
AVPacket *pkt,
 int64_t  offset;
 uint64_t size;
 unsigned char *p;
-int ret;
+int ret, data_size;
 
 if (!asf_pkt->data_size) {
-asf_pkt->data_size = asf_pkt->size_left = avio_rl32(pb); // read media 
object size
-if (asf_pkt->data_size <= 0)
+data_size = avio_rl32(pb); // read media objectgg size
+if (data_size <= 0)
 return AVERROR_EOF;
-if ((ret = av_new_packet(&asf_pkt->avpkt, asf_pkt->data_size)) < 0)
+if ((ret = av_new_packet(&asf_pkt->avpkt, data_size)) < 0)
 return ret;
+asf_pkt->data_size = asf_pkt->size_left = data_size;
 } else
 avio_skip(pb, 4); // skip media object size
 asf_pkt->dts = avio_rl32(pb); // read presentation time

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


[FFmpeg-cvslog] Merge commit 'c69461d73797e02e7a3ab4316050c241fa91f53f'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:45:38 2016 +0100| [1ac8a1821abd8803eaf48562c788c5ae5d634915] | committer: 
Hendrik Leppkes

Merge commit 'c69461d73797e02e7a3ab4316050c241fa91f53f'

* commit 'c69461d73797e02e7a3ab4316050c241fa91f53f':
  asfdec: only set asf_pkt->data_size after sanity checks

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] asfdec: Remove unused function parameters

2016-01-18 Thread Alexandra Hájková
ffmpeg | branch: master | Alexandra Hájková  | 
Wed Jan  6 06:08:08 2016 +0100| [066281372d90d63ca021b659abcb8faefd6bc4a6] | 
committer: Anton Khirnov

asfdec: Remove unused function parameters

Signed-off-by: Anton Khirnov 

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

 libavformat/asfdec.c |   19 +--
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 4fc0e3d..b33677a 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -266,7 +266,7 @@ static int asf_read_metadata(AVFormatContext *s, const char 
*title, uint16_t len
 return 0;
 }
 
-static int asf_read_value(AVFormatContext *s, const uint8_t *name, uint16_t 
name_len,
+static int asf_read_value(AVFormatContext *s, const uint8_t *name,
   uint16_t val_len, int type, AVDictionary **met)
 {
 int ret;
@@ -331,7 +331,7 @@ static int asf_read_generic_value(AVIOContext *pb, int 
type, uint64_t *value)
 }
 
 static int asf_set_metadata(AVFormatContext *s, const uint8_t *name,
-uint16_t name_len, int type, AVDictionary **met)
+int type, AVDictionary **met)
 {
 AVIOContext *pb = s->pb;
 uint64_t value;
@@ -451,7 +451,7 @@ fail:
 return ret;
 }
 
-static void get_id3_tag(AVFormatContext *s, int len)
+static void get_id3_tag(AVFormatContext *s)
 {
 ID3v2ExtraMeta *id3v2_extra_meta = NULL;
 
@@ -470,21 +470,21 @@ static int process_metadata(AVFormatContext *s, const 
uint8_t *name, uint16_t na
 if (val_len) {
 switch (type) {
 case ASF_UNICODE:
-asf_read_value(s, name, name_len, val_len, type, met);
+asf_read_value(s, name, val_len, type, met);
 break;
 case ASF_BYTE_ARRAY:
 if (!strcmp(name, "WM/Picture")) // handle cover art
 asf_read_picture(s, val_len);
 else if (!strcmp(name, "ID3")) // handle ID3 tag
-get_id3_tag(s, val_len);
+get_id3_tag(s);
 else
-asf_read_value(s, name, name_len, val_len, type, met);
+asf_read_value(s, name, val_len, type, met);
 break;
 case ASF_GUID:
 ff_get_guid(s->pb, &guid);
 break;
 default:
-if ((ret = asf_set_metadata(s, name, name_len, type, met)) < 0)
+if ((ret = asf_set_metadata(s, name, type, met)) < 0)
 return ret;
 break;
 }
@@ -1208,8 +1208,7 @@ static int asf_read_multiple_payload(AVFormatContext *s, 
AVPacket *pkt,
 return 0;
 }
 
-static int asf_read_single_payload(AVFormatContext *s, AVPacket *pkt,
-   ASFPacket *asf_pkt)
+static int asf_read_single_payload(AVFormatContext *s, ASFPacket *asf_pkt)
 {
 ASFContext *asf = s->priv_data;
 AVIOContext *pb = s->pb;
@@ -1315,7 +1314,7 @@ static int asf_read_payload(AVFormatContext *s, AVPacket 
*pkt)
 if ((ret = asf_read_subpayload(s, pkt, 1)) < 0)
 return ret;
 } else {
-if ((ret = asf_read_single_payload(s, pkt, asf_pkt)) < 0)
+if ((ret = asf_read_single_payload(s, asf_pkt)) < 0)
 return ret;
 }
 } else {

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


[FFmpeg-cvslog] Merge commit 'fa463aa83a4920b0eed47ad1f79775dfc53d21ec'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:48:03 2016 +0100| [774c5357dbe62ba6017ecbe6738a73644cd5bb5d] | committer: 
Hendrik Leppkes

Merge commit 'fa463aa83a4920b0eed47ad1f79775dfc53d21ec'

* commit 'fa463aa83a4920b0eed47ad1f79775dfc53d21ec':
  avpacket: fix size check in packet_alloc

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] avpacket: fix size check in packet_alloc

2016-01-18 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun  
| Tue Jan  5 13:05:50 2016 +0100| [fa463aa83a4920b0eed47ad1f79775dfc53d21ec] | 
committer: Anton Khirnov

avpacket: fix size check in packet_alloc

The previous check only caught sizes from -AV_INPUT_BUFFER_PADDING_SIZE
to -1.

This fixes ubsan runtime error: signed integer overflow: 2147483647 + 32
cannot be represented in type 'int'

Signed-off-by: Andreas Cadhalpun 
Signed-off-by: Anton Khirnov 

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

 libavcodec/avpacket.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
index 87454d5..3f8e163 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -69,7 +69,7 @@ void av_packet_free(AVPacket **pkt)
 static int packet_alloc(AVBufferRef **buf, int size)
 {
 int ret;
-if ((unsigned)size >= (unsigned)size + AV_INPUT_BUFFER_PADDING_SIZE)
+if (size < 0 || size >= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
 return AVERROR(EINVAL);
 
 ret = av_buffer_realloc(buf, size + AV_INPUT_BUFFER_PADDING_SIZE);

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


[FFmpeg-cvslog] Merge commit '066281372d90d63ca021b659abcb8faefd6bc4a6'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:47:48 2016 +0100| [be3963c8af6e3eeb8ab061dcf2dfd5da158549bf] | committer: 
Hendrik Leppkes

Merge commit '066281372d90d63ca021b659abcb8faefd6bc4a6'

* commit '066281372d90d63ca021b659abcb8faefd6bc4a6':
  asfdec: Remove unused function parameters

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] checkasm: Check register clobbering on arm

2016-01-18 Thread Martin Storsjö
ffmpeg | branch: master | Martin Storsjö  | Wed Dec 30 
23:46:06 2015 +0200| [26ec75aec3576daea691dee53a78ec67c0dc4040] | committer: 
Martin Storsjö

checkasm: Check register clobbering on arm

Use two separate functions, depending on whether VFP/NEON is available.

This is set to require armv5te - it uses blx, which is only available
since armv5t, but we don't have a separate configure item for that.
(It also uses ldrd, which requires armv5te, but this could be avoided
if necessary.)

Signed-off-by: Martin Storsjö 

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

 tests/checkasm/arm/Makefile   |1 +
 tests/checkasm/arm/checkasm.S |  142 +
 tests/checkasm/checkasm.c |   11 
 tests/checkasm/checkasm.h |   13 
 4 files changed, 167 insertions(+)

diff --git a/tests/checkasm/arm/Makefile b/tests/checkasm/arm/Makefile
new file mode 100644
index 000..55f2383
--- /dev/null
+++ b/tests/checkasm/arm/Makefile
@@ -0,0 +1 @@
+CHECKASMOBJS-$(HAVE_ARMV5TE_EXTERNAL) += arm/checkasm.o
diff --git a/tests/checkasm/arm/checkasm.S b/tests/checkasm/arm/checkasm.S
new file mode 100644
index 000..160dba4
--- /dev/null
+++ b/tests/checkasm/arm/checkasm.S
@@ -0,0 +1,142 @@
+/
+ * Assembly testing and benchmarking tool
+ * Copyright (c) 2015 Martin Storsjo
+ * Copyright (c) 2015 Janne Grunau
+ *
+ * This file is part of Libav.
+ *
+ * Libav 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 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111, USA.
+ */
+
+#include "libavutil/arm/asm.S"
+
+const register_init
+.quad 0x21f86d66c8ca00ce
+.quad 0x75b6ba21077c48ad
+.quad 0xed56bb2dcb3c7736
+.quad 0x8bda43d3fd1a7e06
+.quad 0xb64a9c9e5d318408
+.quad 0xdf9a54b303f1d3a3
+.quad 0x4a75479abd64e097
+.quad 0x249214109d5d1c88
+endconst
+
+const error_message
+.asciz "failed to preserve register"
+endconst
+
+@ max number of args used by any asm function.
+#define MAX_ARGS 15
+
+#define ARG_STACK 4*(MAX_ARGS - 2)
+
+.macro clobbercheck variant
+.equ pushed, 4*9
+function checkasm_checked_call_\variant, export=1
+push{r4-r11, lr}
+.ifc \variant, vfp
+vpush   {d8-d15}
+fmrxr4,  FPSCR
+push{r4}
+.equ pushed, pushed + 16*4 + 4
+.endif
+
+movrel  r12, register_init
+.ifc \variant, vfp
+vldmr12, {d8-d15}
+.endif
+ldm r12, {r4-r11}
+
+sub sp,  sp,  #ARG_STACK
+.equ pos, 0
+.rept MAX_ARGS-2
+ldr r12, [sp, #ARG_STACK + pushed + 8 + pos]
+str r12, [sp, #pos]
+.equ pos, pos + 4
+.endr
+
+mov r12, r0
+mov r0,  r2
+mov r1,  r3
+ldrdr2,  r3,  [sp, #ARG_STACK + pushed]
+blx r12
+add sp,  sp,  #ARG_STACK
+
+push{r0, r1}
+movrel  r12, register_init
+mov r3,  #0
+.ifc \variant, vfp
+.macro check_reg_vfp, dreg, inc=8
+ldrdr0,  r1,  [r12], #\inc
+vmovr2,  lr,  \dreg
+eor r0,  r0,  r2
+eor r1,  r1,  lr
+orr r3,  r3,  r0
+orr r3,  r3,  r1
+.endm
+
+.irp n, 8, 9, 10, 11, 12, 13, 14
+check_reg_vfp d\n
+.endr
+check_reg_vfp d15, -56
+.purgem check_reg_vfp
+
+fmrxr0,  FPSCR
+ldr r1,  [sp, #8]
+eor r0,  r0,  r1
+@ Ignore changes in the topmost 5 bits
+lsl r0,  r0,  #5
+orr r3,  r3,  r0
+.endif
+
+.macro check_reg reg1, reg2=
+ldrdr0,  r1,  [r12], #8
+eor r0,  r0,  \reg1
+orrsr3,  r3,  r0
+.ifnb \reg2
+eor r1,  r1,  \reg2
+orrsr3,  r3,  r1
+.endif
+.endm
+check_reg   r4,  r5
+check_reg   r6,  r7
+@ r9 is a volatile register in the ios ABI
+#ifdef __APPLE__
+check_reg   r8
+#else
+check_reg   r8,  r9
+#endif
+check_reg   r10, r11
+.purgem check_reg
+
+beq 0f
+
+movrel  r0, error_message
+blx X(checkasm_fail_func)
+0:
+pop {r0, r1}
+.ifc \variant, vfp
+pop {r2}
+fmxrFPSCR, r2
+vpop{d8-d15}
+.endif
+pop {r4-r11, pc}
+endfunc
+.endm
+
+#if HAVE_VFP || HAVE_NEON
+clo

[FFmpeg-cvslog] Merge commit '26ec75aec3576daea691dee53a78ec67c0dc4040'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:49:27 2016 +0100| [0b40e290e3cc561a92abe09e114b82cbde2eda29] | committer: 
Hendrik Leppkes

Merge commit '26ec75aec3576daea691dee53a78ec67c0dc4040'

* commit '26ec75aec3576daea691dee53a78ec67c0dc4040':
  checkasm: Check register clobbering on arm

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] Merge commit 'fec76cd430f3c865183a6e5b4caec0743e055605'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:50:44 2016 +0100| [7e299035268926eced26f442885403edab51e7fc] | committer: 
Hendrik Leppkes

Merge commit 'fec76cd430f3c865183a6e5b4caec0743e055605'

* commit 'fec76cd430f3c865183a6e5b4caec0743e055605':
  checkasm: Check register clobbering on aarch64

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] checkasm: Check register clobbering on aarch64

2016-01-18 Thread Martin Storsjö
ffmpeg | branch: master | Martin Storsjö  | Thu Dec 31 
12:20:37 2015 +0200| [fec76cd430f3c865183a6e5b4caec0743e055605] | committer: 
Martin Storsjö

checkasm: Check register clobbering on aarch64

This is disabled on iOS, since iOS uses a slightly different ABI
for vararg parameters.

Signed-off-by: Martin Storsjö 

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

 tests/checkasm/aarch64/Makefile   |1 +
 tests/checkasm/aarch64/checkasm.S |  148 +
 tests/checkasm/checkasm.h |4 +
 3 files changed, 153 insertions(+)

diff --git a/tests/checkasm/aarch64/Makefile b/tests/checkasm/aarch64/Makefile
new file mode 100644
index 000..02ba6ca
--- /dev/null
+++ b/tests/checkasm/aarch64/Makefile
@@ -0,0 +1 @@
+CHECKASMOBJS += aarch64/checkasm.o
diff --git a/tests/checkasm/aarch64/checkasm.S 
b/tests/checkasm/aarch64/checkasm.S
new file mode 100644
index 000..9668518c
--- /dev/null
+++ b/tests/checkasm/aarch64/checkasm.S
@@ -0,0 +1,148 @@
+/
+ * Assembly testing and benchmarking tool
+ * Copyright (c) 2015 Martin Storsjo
+ * Copyright (c) 2015 Janne Grunau
+ *
+ * This file is part of Libav.
+ *
+ * Libav 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 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111, USA.
+ */
+
+#include "libavutil/aarch64/asm.S"
+
+const register_init
+.quad 0x21f86d66c8ca00ce
+.quad 0x75b6ba21077c48ad
+.quad 0xed56bb2dcb3c7736
+.quad 0x8bda43d3fd1a7e06
+.quad 0xb64a9c9e5d318408
+.quad 0xdf9a54b303f1d3a3
+.quad 0x4a75479abd64e097
+.quad 0x249214109d5d1c88
+.quad 0x1a1b2550a612b48c
+.quad 0x79445c159ce79064
+.quad 0x2eed899d5a28ddcd
+.quad 0x86b2536fcd8cf636
+.quad 0xb0856806085e7943
+.quad 0x3f2bf84fc0fcca4e
+.quad 0xacbd382dcf5b8de2
+.quad 0xd229e1f5b281303f
+.quad 0x71aeaff20b095fd9
+.quad 0xab63e2e11fa38ed9
+endconst
+
+
+const error_message
+.asciz "failed to preserve register"
+endconst
+
+
+// max number of args used by any asm function.
+#define MAX_ARGS 15
+
+#define ARG_STACK ((8*(MAX_ARGS - 7) + 15) & ~15)
+
+function checkasm_checked_call, export=1
+stp x29, x30, [sp, #-16]!
+mov x29, sp
+stp x19, x20, [sp, #-16]!
+stp x21, x22, [sp, #-16]!
+stp x23, x24, [sp, #-16]!
+stp x25, x26, [sp, #-16]!
+stp x27, x28, [sp, #-16]!
+stp d8,  d9,  [sp, #-16]!
+stp d10, d11, [sp, #-16]!
+stp d12, d13, [sp, #-16]!
+stp d14, d15, [sp, #-16]!
+
+movrel  x9, register_init
+ldp d8,  d9,  [x9], #16
+ldp d10, d11, [x9], #16
+ldp d12, d13, [x9], #16
+ldp d14, d15, [x9], #16
+ldp x19, x20, [x9], #16
+ldp x21, x22, [x9], #16
+ldp x23, x24, [x9], #16
+ldp x25, x26, [x9], #16
+ldp x27, x28, [x9], #16
+
+sub sp,  sp,  #ARG_STACK
+.equ pos, 0
+// the first stacked arg is copied to x7
+.rept MAX_ARGS-7
+ldr x9, [x29, #16 + 8 + pos]
+str x9, [sp, #pos]
+.equ pos, pos + 8
+.endr
+
+mov x12, x0
+mov x0,  x1
+mov x1,  x2
+mov x2,  x3
+mov x3,  x4
+mov x4,  x5
+mov x5,  x6
+mov x6,  x7
+ldr x7,  [x29, #16]
+blr x12
+add sp,  sp,  #ARG_STACK
+stp x0,  x1,  [sp, #-16]!
+movrel  x9, register_init
+moviv3.8h,  #0
+
+.macro check_reg_neon reg1, reg2
+ldr q0,  [x9], #16
+uzp1v1.2d,  v\reg1\().2d, v\reg2\().2d
+eor v0.16b, v0.16b, v1.16b
+orr v3.16b, v3.16b, v0.16b
+.endm
+check_reg_neon  8,  9
+check_reg_neon  10, 11
+check_reg_neon  12, 13
+check_reg_neon  14, 15
+uqxtn   v3.8b,  v3.8h
+umovx3,  v3.d[0]
+
+.macro check_reg reg1, reg2
+ldp x0,  x1,  [x9], #16
+eor x0,  x0,  \reg1
+eor x1,  x1,  \reg2
+orr x3,  x3,  x0
+orr x3,  x3,  x1
+.endm
+check_reg   x19, x20
+check_reg   x21, x22
+check_reg   x23, x24
+ 

[FFmpeg-cvslog] Merge commit '73c8c0341cce9e1a6c4169721f5123f97fc4be2f'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:51:12 2016 +0100| [a04a9434b5ecfa0f17a36f88ac3e2634143a0169] | committer: 
Hendrik Leppkes

Merge commit '73c8c0341cce9e1a6c4169721f5123f97fc4be2f'

* commit '73c8c0341cce9e1a6c4169721f5123f97fc4be2f':
  arm: Fix vfp dead code elimination with have_vfp_vm

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] arm: Fix vfp dead code elimination with have_vfp_vm

2016-01-18 Thread Martin Storsjö
ffmpeg | branch: master | Martin Storsjö  | Thu Jan  7 
15:06:49 2016 +0200| [73c8c0341cce9e1a6c4169721f5123f97fc4be2f] | committer: 
Martin Storsjö

arm: Fix vfp dead code elimination with have_vfp_vm

This fixes builds with --disable-vfp.

Checking for the armv6 cpu flag is incorrect, since vfpv2 isn't
armv6 specific.

Signed-off-by: Martin Storsjö 

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

 libavutil/arm/cpu.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavutil/arm/cpu.h b/libavutil/arm/cpu.h
index 5563fc1..127993e 100644
--- a/libavutil/arm/cpu.h
+++ b/libavutil/arm/cpu.h
@@ -33,7 +33,7 @@
 /* some functions use the VFPv2 vector mode which is deprecated in ARMv7-A
  * and might trap on such CPU depending on the OS configuration */
 #define have_vfp_vm(flags)  \
-(have_armv6(flags) && ((flags) & AV_CPU_FLAG_VFP_VM))
+(HAVE_VFP && ((flags) & AV_CPU_FLAG_VFP_VM))
 
 /* Some functions use the 'setend' instruction which is deprecated on ARMv8
  * and serializing on some ARMv7 cores. This macro ensures such functions

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


[FFmpeg-cvslog] Merge commit '40d43d25e76ca078e7665752e815fc8d96252f06'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:53:43 2016 +0100| [fea9243d53e0e281450e39ec0e1b4b3c122a8a29] | committer: 
Hendrik Leppkes

Merge commit '40d43d25e76ca078e7665752e815fc8d96252f06'

* commit '40d43d25e76ca078e7665752e815fc8d96252f06':
  APIchanges: Add missing av_pix_fmt_get_chroma_sub_sample entry

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] APIchanges: Add missing av_pix_fmt_get_chroma_sub_sample entry

2016-01-18 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Mon Jan 11 
20:51:51 2016 +0100| [40d43d25e76ca078e7665752e815fc8d96252f06] | committer: 
Luca Barbato

APIchanges: Add missing av_pix_fmt_get_chroma_sub_sample entry

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

 doc/APIchanges |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index a55fbca..ffa270e 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -576,8 +576,10 @@ lavd 54.0.0, lavfi 3.5.0
9 branch was cut here
 ->8--
 
-2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h
-  Add av_basename() and av_dirname().
+2012-12-29 - lavu 52.3.0
+  d8fd06c - Add av_basename() and av_dirname().
+  c1a02e8 - Add av_pix_fmt_get_chroma_sub_sample and deprecate
+avcodec_get_chroma_sub_sample.
 
 2012-11-11 - 5980f5d - lavu 52.2.0 - audioconvert.h
   Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.

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


[FFmpeg-cvslog] asfdec: Fix typo in comment

2016-01-18 Thread Alexandra Hájková
ffmpeg | branch: master | Alexandra Hájková  | 
Sat Jan  9 19:35:28 2016 +0100| [34d45b36164eee044cfe55d22488b2b65e387872] | 
committer: Luca Barbato

asfdec: Fix typo in comment

Signed-off-by: Luca Barbato 

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

 libavformat/asfdec.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index b33677a..90a1df4 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -1218,7 +1218,7 @@ static int asf_read_single_payload(AVFormatContext *s, 
ASFPacket *asf_pkt)
 int ret, data_size;
 
 if (!asf_pkt->data_size) {
-data_size = avio_rl32(pb); // read media objectgg size
+data_size = avio_rl32(pb); // read media object size
 if (data_size <= 0)
 return AVERROR_EOF;
 if ((ret = av_new_packet(&asf_pkt->avpkt, data_size)) < 0)

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


[FFmpeg-cvslog] Merge commit '34d45b36164eee044cfe55d22488b2b65e387872'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:53:58 2016 +0100| [25955c927fcf88d1deea16f2d4ff86eb5a78a774] | committer: 
Hendrik Leppkes

Merge commit '34d45b36164eee044cfe55d22488b2b65e387872'

* commit '34d45b36164eee044cfe55d22488b2b65e387872':
  asfdec: Fix typo in comment

Merged-by: Hendrik Leppkes 

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



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


[FFmpeg-cvslog] Merge commit '7570c9e04f010c9b3bfdeb4338d330f2cdd25278'

2016-01-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Jan 19 
08:58:55 2016 +0100| [e816fe7401c900146d5230855a676f689136b884] | committer: 
Hendrik Leppkes

Merge commit '7570c9e04f010c9b3bfdeb4338d330f2cdd25278'

* commit '7570c9e04f010c9b3bfdeb4338d330f2cdd25278':
  swfdec: support compressed swf

Merged-by: Hendrik Leppkes 

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



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