[FFmpeg-cvslog] lavf/matroskadec: Get sample size from private data
ffmpeg | branch: master | Mats Peterson | Fri Jan 15 23:25:38 2016 +0100| [535d09a51099d3c796d6c0c3ec381ff99d5ce0c8] | committer: Michael Niedermayer lavf/matroskadec: Get sample size from private data Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=535d09a51099d3c796d6c0c3ec381ff99d5ce0c8 --- libavformat/matroskadec.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index cc5ec19..d788232 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1891,18 +1891,24 @@ static int matroska_parse_tracks(AVFormatContext *s) /* Normally 36, but allow noncompliant private data */ && (track->codec_priv.size >= 32) && (track->codec_priv.data)) { +uint16_t sample_size; int ret = get_qt_codec(track, &fourcc, &codec_id); if (ret < 0) return ret; +sample_size = AV_RB16(track->codec_priv.data + 26); if (fourcc == 0) { -if (track->audio.bitdepth == 8) { +if (sample_size == 8) { fourcc = MKTAG('r','a','w',' '); codec_id = ff_codec_get_id(ff_codec_movaudio_tags, fourcc); -} else if (track->audio.bitdepth == 16) { +} else if (sample_size == 16) { fourcc = MKTAG('t','w','o','s'); codec_id = ff_codec_get_id(ff_codec_movaudio_tags, fourcc); } } +if ((fourcc == MKTAG('t','w','o','s') || +fourcc == MKTAG('s','o','w','t')) && +sample_size == 8) +codec_id = AV_CODEC_ID_PCM_S8; } else if (!strcmp(track->codec_id, "V_QUICKTIME") && (track->codec_priv.size >= 21) && (track->codec_priv.data)) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/mov: Don't limit fourcc 0 -> raw/ twos to version 0 sample descriptions
ffmpeg | branch: master | Mats Peterson | Fri Jan 15 23:28:06 2016 +0100| [a51c8a68adbe466a4fddd9ff83aadd16bd0ece03] | committer: Michael Niedermayer lavf/mov: Don't limit fourcc 0 -> raw/twos to version 0 sample descriptions Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a51c8a68adbe466a4fddd9ff83aadd16bd0ece03 --- libavformat/mov.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 4cc5ff2..98c2f51 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1863,7 +1863,7 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb, } } -if (version == 0 && sc->format == 0) { +if (sc->format == 0) { if (st->codec->bits_per_coded_sample == 8) st->codec->codec_id = mov_codec_id(st, MKTAG('r','a','w',' ')); else if (st->codec->bits_per_coded_sample == 16) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. ab050ba News entry for FFmpeg 2.8.5, 2.7.5, 2.6.7, 2.5.10
The branch, master has been updated via ab050ba5161e678f625523bb91aeee720bb56e12 (commit) from 49e5ce0e2cb34e58a704f4a4683ccb16989586c6 (commit) - Log - commit ab050ba5161e678f625523bb91aeee720bb56e12 Author: Michael Niedermayer AuthorDate: Sat Jan 16 03:14:29 2016 +0100 Commit: Michael Niedermayer CommitDate: Sat Jan 16 14:29:52 2016 +0100 News entry for FFmpeg 2.8.5, 2.7.5, 2.6.7, 2.5.10 diff --git a/src/index b/src/index index 554ad0e..eca556e 100644 --- a/src/index +++ b/src/index @@ -37,6 +37,20 @@ News + January 16, 2015, FFmpeg 2.8.5, 2.7.5, 2.6.7, 2.5.10 + +We have made several new point releases (2.8.5, + 2.7.5, + 2.6.7, + 2.5.10). +They fix various bugs, as well as CVE-2016-1897 and CVE-2016-1898. +Please see the changelog for each release for more details. + + +We recommend users, distributors and system integrators to upgrade unless they use +current git master. + + December 5th, 2015, The native FFmpeg AAC encoder is now stable! After seven years the native FFmpeg AAC encoder has had its experimental flag --- Summary of changes: src/index | 14 ++ 1 file changed, 14 insertions(+) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. f12f590 web: fix typo
The branch, master has been updated via f12f590648f81b31c3d608303f57f0f8d50e5449 (commit) from ab050ba5161e678f625523bb91aeee720bb56e12 (commit) - Log - commit f12f590648f81b31c3d608303f57f0f8d50e5449 Author: Michael Niedermayer AuthorDate: Sat Jan 16 17:05:20 2016 +0100 Commit: Michael Niedermayer CommitDate: Sat Jan 16 17:05:20 2016 +0100 web: fix typo Signed-off-by: Michael Niedermayer diff --git a/src/index b/src/index index eca556e..8680ef0 100644 --- a/src/index +++ b/src/index @@ -37,7 +37,7 @@ News - January 16, 2015, FFmpeg 2.8.5, 2.7.5, 2.6.7, 2.5.10 + January 16, 2016, FFmpeg 2.8.5, 2.7.5, 2.6.7, 2.5.10 We have made several new point releases (2.8.5, 2.7.5, --- Summary of changes: src/index | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/aacenc: Check both channels for finiteness
ffmpeg | branch: master | Michael Niedermayer | Sat Jan 16 18:32:07 2016 +0100| [057549a9ccc9fd32df71678e6abe69e10668186a] | committer: Michael Niedermayer avcodec/aacenc: Check both channels for finiteness Fixes null pointer dereference Fixes: 10412fc52ecc6eab40ed67f82ca7b372/signal_sigsegv_2618c99_2129_f808373959e46afb165593332799ffbc.aif Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=057549a9ccc9fd32df71678e6abe69e10668186a --- libavcodec/aacenc.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index 2e0db7d..688b131 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -607,14 +607,14 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, s->mdct1024.mdct_calc(&s->mdct1024, sce->lcoeffs, sce->ret_buf); } -if (!(isfinite(cpe->ch->coeffs[0]) && - isfinite(cpe->ch->coeffs[ 128]) && - isfinite(cpe->ch->coeffs[2*128]) && - isfinite(cpe->ch->coeffs[3*128]) && - isfinite(cpe->ch->coeffs[4*128]) && - isfinite(cpe->ch->coeffs[5*128]) && - isfinite(cpe->ch->coeffs[6*128]) && - isfinite(cpe->ch->coeffs[7*128])) +if (!(isfinite(cpe->ch[ch].coeffs[0]) && + isfinite(cpe->ch[ch].coeffs[ 128]) && + isfinite(cpe->ch[ch].coeffs[2*128]) && + isfinite(cpe->ch[ch].coeffs[3*128]) && + isfinite(cpe->ch[ch].coeffs[4*128]) && + isfinite(cpe->ch[ch].coeffs[5*128]) && + isfinite(cpe->ch[ch].coeffs[6*128]) && + isfinite(cpe->ch[ch].coeffs[7*128])) ) { av_log(avctx, AV_LOG_ERROR, "Input contains NaN/+-Inf\n"); return AVERROR(EINVAL); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/wmaenc: Check input for finiteness
ffmpeg | branch: master | Michael Niedermayer | Sat Jan 16 21:40:49 2016 +0100| [aa6aa2ef091818c2669c48051286ce361401f31b] | committer: Michael Niedermayer avcodec/wmaenc: Check input for finiteness Fixes out of array read Fixes: 1b79b985cdf860ffa228c00ee5497051/signal_sigsegv_1f99d24_315_f0f1fdb451264b1138e9c24eb7d49181.wv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa6aa2ef091818c2669c48051286ce361401f31b --- libavcodec/wmaenc.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c index 54e83b6..abe8e4b 100644 --- a/libavcodec/wmaenc.c +++ b/libavcodec/wmaenc.c @@ -98,7 +98,7 @@ static av_cold int encode_init(AVCodecContext *avctx) return 0; } -static void apply_window_and_mdct(AVCodecContext *avctx, const AVFrame *frame) +static int apply_window_and_mdct(AVCodecContext *avctx, const AVFrame *frame) { WMACodecContext *s = avctx->priv_data; float **audio = (float **) frame->extended_data; @@ -117,7 +117,13 @@ static void apply_window_and_mdct(AVCodecContext *avctx, const AVFrame *frame) win, len); s->fdsp->vector_fmul(s->frame_out[ch], s->frame_out[ch], win, len); mdct->mdct_calc(mdct, s->coefs[ch], s->output); +if (!isfinite(s->coefs[ch][0])) { +av_log(avctx, AV_LOG_ERROR, "Input contains NaN/+-Inf\n"); +return AVERROR(EINVAL); +} } + +return 0; } // FIXME use for decoding too @@ -364,7 +370,10 @@ static int encode_superframe(AVCodecContext *avctx, AVPacket *avpkt, s->block_len_bits = s->frame_len_bits; // required by non variable block len s->block_len = 1 << s->block_len_bits; -apply_window_and_mdct(avctx, frame); +ret = apply_window_and_mdct(avctx, frame); + +if (ret < 0) +return ret; if (s->ms_stereo) { float a, b; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] x86/fixed_dsp: add ff_butterflies_fixed_sse2
ffmpeg | branch: master | James Almer | Fri Jan 15 22:04:09 2016 -0300| [dee579ffcd70d4a386e4d2dad6967de3bf2db3ed] | committer: James Almer x86/fixed_dsp: add ff_butterflies_fixed_sse2 Reviewed-by: Paul B Mahol Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dee579ffcd70d4a386e4d2dad6967de3bf2db3ed --- libavutil/fixed_dsp.c |3 +++ libavutil/fixed_dsp.h |2 ++ libavutil/x86/Makefile |2 ++ libavutil/x86/fixed_dsp.asm| 48 libavutil/x86/fixed_dsp_init.c | 35 + 5 files changed, 90 insertions(+) diff --git a/libavutil/fixed_dsp.c b/libavutil/fixed_dsp.c index c2f270d..8c01858 100644 --- a/libavutil/fixed_dsp.c +++ b/libavutil/fixed_dsp.c @@ -160,5 +160,8 @@ AVFixedDSPContext * avpriv_alloc_fixed_dsp(int bit_exact) fdsp->butterflies_fixed = butterflies_fixed_c; fdsp->scalarproduct_fixed = scalarproduct_fixed_c; +if (ARCH_X86) +ff_fixed_dsp_init_x86(fdsp); + return fdsp; } diff --git a/libavutil/fixed_dsp.h b/libavutil/fixed_dsp.h index 03987ad..f554cb5 100644 --- a/libavutil/fixed_dsp.h +++ b/libavutil/fixed_dsp.h @@ -161,6 +161,8 @@ typedef struct AVFixedDSPContext { */ AVFixedDSPContext * avpriv_alloc_fixed_dsp(int strict); +void ff_fixed_dsp_init_x86(AVFixedDSPContext *fdsp); + /** * Calculate the square root * diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile index eb70a62..94d8832 100644 --- a/libavutil/x86/Makefile +++ b/libavutil/x86/Makefile @@ -1,4 +1,5 @@ OBJS += x86/cpu.o \ +x86/fixed_dsp_init.o\ x86/float_dsp_init.o\ x86/lls_init.o \ @@ -8,6 +9,7 @@ EMMS_OBJS_$(HAVE_MMX_INLINE)_$(HAVE_MMX_EXTERNAL)_$(HAVE_MM_EMPTY) = x86/emms.o YASM-OBJS += x86/cpuid.o\ $(EMMS_OBJS__yes_) \ + x86/fixed_dsp.o\ x86/float_dsp.o\ x86/lls.o \ diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm new file mode 100644 index 000..979dd5c --- /dev/null +++ b/libavutil/x86/fixed_dsp.asm @@ -0,0 +1,48 @@ +;* +;* x86-optimized Float DSP functions +;* +;* Copyright 2016 James Almer +;* +;* 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 +;** + +%include "x86util.asm" + +SECTION .text + +;- +; void ff_butterflies_fixed(float *src0, float *src1, int len); +;- +INIT_XMM sse2 +cglobal butterflies_fixed, 3,3,3, src0, src1, len +shl lend, 2 +add src0q, lenq +add src1q, lenq +neg lenq + +align 16 +.loop: +movam0, [src0q + lenq] +movam1, [src1q + lenq] +movam2, m0 +paddd m0, m1 +psubd m2, m1 +mova[src0q + lenq], m0 +mova[src1q + lenq], m2 +add lenq, mmsize +jl .loop +RET diff --git a/libavutil/x86/fixed_dsp_init.c b/libavutil/x86/fixed_dsp_init.c new file mode 100644 index 000..303a2eb --- /dev/null +++ b/libavutil/x86/fixed_dsp_init.c @@ -0,0 +1,35 @@ +/* + * 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
[FFmpeg-cvslog] ffmpeg: fix sws_dict leak on error exit
ffmpeg | branch: master | Michael Niedermayer | Sat Jan 16 23:14:51 2016 +0100| [7a0361b06f0afbdcface8cab17751ed2c7e81769] | committer: Michael Niedermayer ffmpeg: fix sws_dict leak on error exit Fixes: 1b79b985cdf860ffa228c00ee5497051/signal_sigsegv_1f99d24_3549_86d92054a79f6ff900fbaf03f8012b32.aif Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a0361b06f0afbdcface8cab17751ed2c7e81769 --- ffmpeg.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index 86a0960..1f4277c 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -527,6 +527,8 @@ static void ffmpeg_cleanup(int ret) av_freep(&ost->audio_channels_map); ost->audio_channels_mapped = 0; +av_dict_free(&ost->sws_dict); + avcodec_free_context(&ost->enc_ctx); av_freep(&output_streams[i]); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale/swscale_unscaled: Fix odd height inputs for bayer_to_yv12_wrapper( )
ffmpeg | branch: master | Michael Niedermayer | Sun Jan 17 00:55:44 2016 +0100| [757248ea3cd917a7755cb15f817a9b1f15578718] | committer: Michael Niedermayer swscale/swscale_unscaled: Fix odd height inputs for bayer_to_yv12_wrapper() Fixes: 372d2df1f04b49e25f109f07f90b1505/asan_heap-oob_2835d2e_8501_99e0114d7ba3a6db885d0b4684d200c1.cine Fixes out of array read Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=757248ea3cd917a7755cb15f817a9b1f15578718 --- libswscale/swscale_unscaled.c |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index 8ff1b01..249059e 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -1110,6 +1110,8 @@ static int bayer_to_yv12_wrapper(SwsContext *c, const uint8_t* src[], int srcStr default: return 0; } +av_assert0(srcSliceH > 1); + copy(srcPtr, srcStride[0], dstY, dstU, dstV, dstStride[0], c->srcW, c->input_rgb2yuv_table); srcPtr += 2 * srcStride[0]; dstY += 2 * dstStride[0]; @@ -1124,7 +1126,10 @@ static int bayer_to_yv12_wrapper(SwsContext *c, const uint8_t* src[], int srcStr dstV += dstStride[1]; } -copy(srcPtr, srcStride[0], dstY, dstU, dstV, dstStride[0], c->srcW, c->input_rgb2yuv_table); +if (i + 1 == srcSliceH) { +copy(srcPtr, -srcStride[0], dstY, dstU, dstV, -dstStride[0], c->srcW, c->input_rgb2yuv_table); +} else if (i < srcSliceH) +copy(srcPtr, srcStride[0], dstY, dstU, dstV, dstStride[0], c->srcW, c->input_rgb2yuv_table); return srcSliceH; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale/swscale_unscaled: Fix odd height inputs for bayer_to_rgb24_wrapper ()
ffmpeg | branch: master | Michael Niedermayer | Sun Jan 17 00:55:44 2016 +0100| [ad3b6fa7d83db7de951ed891649af93a47e74be5] | committer: Michael Niedermayer swscale/swscale_unscaled: Fix odd height inputs for bayer_to_rgb24_wrapper() Fixes: 372d2df1f04b49e25f109f07f90b1505/asan_heap-oob_2835d2e_8501_99e0114d7ba3a6db885d0b4684d200c1.cine Fixes out of array read Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ad3b6fa7d83db7de951ed891649af93a47e74be5 --- libswscale/swscale_unscaled.c |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index 89cb90d..8ff1b01 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -1059,6 +1059,8 @@ static int bayer_to_rgb24_wrapper(SwsContext *c, const uint8_t* src[], int srcSt default: return 0; } +av_assert0(srcSliceH > 1); + copy(srcPtr, srcStride[0], dstPtr, dstStride[0], c->srcW); srcPtr += 2 * srcStride[0]; dstPtr += 2 * dstStride[0]; @@ -1069,7 +1071,10 @@ static int bayer_to_rgb24_wrapper(SwsContext *c, const uint8_t* src[], int srcSt dstPtr += 2 * dstStride[0]; } -copy(srcPtr, srcStride[0], dstPtr, dstStride[0], c->srcW); +if (i + 1 == srcSliceH) { +copy(srcPtr, -srcStride[0], dstPtr, -dstStride[0], c->srcW); +} else if (i < srcSliceH) +copy(srcPtr, srcStride[0], dstPtr, dstStride[0], c->srcW); return srcSliceH; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog