[FFmpeg-cvslog] lavc/aarch64/sbrdsp_neon: fix build on old binutils
ffmpeg | branch: master | Rodger Combs | Thu Jan 25 20:53:59 2018 -0600| [77237504757b97c068796a4e9ef81b9653618616] | committer: Rodger Combs lavc/aarch64/sbrdsp_neon: fix build on old binutils > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77237504757b97c068796a4e9ef81b9653618616 --- libavcodec/aarch64/sbrdsp_neon.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/aarch64/sbrdsp_neon.S b/libavcodec/aarch64/sbrdsp_neon.S index d1d79b749c..d23717e760 100644 --- a/libavcodec/aarch64/sbrdsp_neon.S +++ b/libavcodec/aarch64/sbrdsp_neon.S @@ -287,7 +287,7 @@ endfunc zip1v4.4S, v4.4S, v4.4S fmlav6.4S, v1.4S, v3.4S fmlav2.4S, v5.4S, v4.4S -fcmeq v7.4S, v3.4S, #0.0 +fcmeq v7.4S, v3.4S, #0 bif v2.16B, v6.16B, v7.16B st1 {v2.4S}, [x0], #16 subsx5, x5, #2 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc/aarch64/sbrdsp_neon: fix build on old binutils
ffmpeg | branch: release/3.4 | Rodger Combs | Thu Jan 25 20:53:59 2018 -0600| [ad85d9af13dbca29e4377a53c957ed97b8442fdd] | committer: James Almer lavc/aarch64/sbrdsp_neon: fix build on old binutils (cherry picked from commit 77237504757b97c068796a4e9ef81b9653618616) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ad85d9af13dbca29e4377a53c957ed97b8442fdd --- libavcodec/aarch64/sbrdsp_neon.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/aarch64/sbrdsp_neon.S b/libavcodec/aarch64/sbrdsp_neon.S index d1d79b749c..d23717e760 100644 --- a/libavcodec/aarch64/sbrdsp_neon.S +++ b/libavcodec/aarch64/sbrdsp_neon.S @@ -287,7 +287,7 @@ endfunc zip1v4.4S, v4.4S, v4.4S fmlav6.4S, v1.4S, v3.4S fmlav2.4S, v5.4S, v4.4S -fcmeq v7.4S, v3.4S, #0.0 +fcmeq v7.4S, v3.4S, #0 bif v2.16B, v6.16B, v7.16B st1 {v2.4S}, [x0], #16 subsx5, x5, #2 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hls: don't print a certain warning if playlist loading is aborted
ffmpeg | branch: master | wm4 | Wed Jan 24 08:04:38 2018 +0100| [23ffeb91fe46f6f95348731396ccfdb7fbff0337] | committer: wm4 hls: don't print a certain warning if playlist loading is aborted AVERROR_EXIT happens when the user's interrupt callback signals that playback should be aborted. In this case, the demuxer shouldn't print a warning, as it's expected that all network accesses are stopped. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=23ffeb91fe46f6f95348731396ccfdb7fbff0337 --- libavformat/hls.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 6e1a2e3f1e..02e764f932 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1422,8 +1422,9 @@ reload: if (!v->finished && av_gettime_relative() - v->last_load_time >= reload_interval) { if ((ret = parse_playlist(c, v->url, v, NULL)) < 0) { -av_log(v->parent, AV_LOG_WARNING, "Failed to reload playlist %d\n", - v->index); +if (ret != AVERROR_EXIT) +av_log(v->parent, AV_LOG_WARNING, "Failed to reload playlist %d\n", + v->index); return ret; } /* If we need to reload the playlist again below (if ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat, hls: add a flag to signal unavailability of seeking
ffmpeg | branch: master | wm4 | Wed Jan 24 08:02:25 2018 +0100| [6194d7e56454897b9c5d9d52e82376b2a6e6b85c] | committer: wm4 avformat, hls: add a flag to signal unavailability of seeking The seek function can just return an error if seeking is unavailable, but often this is too late. Add a flag that signals that the stream is unseekable, and use it in HLS. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6194d7e56454897b9c5d9d52e82376b2a6e6b85c --- doc/APIchanges | 3 +++ libavformat/avformat.h | 5 + libavformat/hls.c | 8 ++-- libavformat/version.h | 4 ++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index c27f104c95..59e3b20c08 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2017-10-21 API changes, most recent first: +2018-01-xx - xxx - lavf 58.6.100 - avformat.h + Add AVFMTCTX_UNSEEKABLE (for HLS demuxer). + 2018-xx-xx - xxx - lavu 56.9.100 - aes_ctr.h Add method to set the 16-byte IV. diff --git a/libavformat/avformat.h b/libavformat/avformat.h index e5740be2b4..60ab9fbc80 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1275,6 +1275,11 @@ typedef struct AVProgram { #define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present (streams are added dynamically) */ +#define AVFMTCTX_UNSEEKABLE0x0002 /**< signal that the stream is definitely + not seekable, and attempts to call the + seek function will fail. For some + network protocols (e.g. HLS), this can + change dynamically at runtime. */ typedef struct AVChapter { int id; ///< unique ID to identify the chapter diff --git a/libavformat/hls.c b/libavformat/hls.c index ff7bdecc93..6e1a2e3f1e 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -930,6 +930,11 @@ fail: av_free(new_url); if (close_in) ff_format_io_close(c->ctx, &in); +c->ctx->ctx_flags = c->ctx->ctx_flags & ~(unsigned)AVFMTCTX_UNSEEKABLE; +if (!c->n_variants || !c->variants[0]->n_playlists || +!(c->variants[0]->playlists[0]->finished || + c->variants[0]->playlists[0]->type == PLS_TYPE_EVENT)) +c->ctx->ctx_flags |= AVFMTCTX_UNSEEKABLE; return ret; } @@ -2213,8 +2218,7 @@ static int hls_read_seek(AVFormatContext *s, int stream_index, int stream_subdemuxer_index; int64_t first_timestamp, seek_timestamp, duration; -if ((flags & AVSEEK_FLAG_BYTE) || -!(c->variants[0]->playlists[0]->finished || c->variants[0]->playlists[0]->type == PLS_TYPE_EVENT)) +if ((flags & AVSEEK_FLAG_BYTE) || (c->ctx->ctx_flags & AVFMTCTX_UNSEEKABLE)) return AVERROR(ENOSYS); first_timestamp = c->first_timestamp == AV_NOPTS_VALUE ? diff --git a/libavformat/version.h b/libavformat/version.h index 148fc75faa..5ff8a89ae0 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -32,8 +32,8 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 58 -#define LIBAVFORMAT_VERSION_MINOR 5 -#define LIBAVFORMAT_VERSION_MICRO 101 +#define LIBAVFORMAT_VERSION_MINOR 6 +#define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hls: do not allow fallback to generic seeking
ffmpeg | branch: master | wm4 | Wed Jan 24 07:58:52 2018 +0100| [637dfa39421c2806616d1aa454c9182db1aac3d9] | committer: wm4 hls: do not allow fallback to generic seeking This makes little sense due to how HLS works, and only causes some additional annoyances if the HLS read_seek function fails (for example if it's a live stream). It was most likely unintended. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=637dfa39421c2806616d1aa454c9182db1aac3d9 --- libavformat/hls.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/hls.c b/libavformat/hls.c index 950cc4c3bd..ff7bdecc93 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -2333,6 +2333,7 @@ AVInputFormat ff_hls_demuxer = { .long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming"), .priv_class = &hls_class, .priv_data_size = sizeof(HLSContext), +.flags = AVFMT_NOGENSEARCH, .read_probe = hls_probe, .read_header= hls_read_header, .read_packet= hls_read_packet, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/vf_transpose: Fix used plane count.
ffmpeg | branch: master | Michael Niedermayer | Wed Jan 24 19:38:05 2018 +0100| [c6939f65a116b1ffed345d29d8621ee4ffb32235] | committer: Michael Niedermayer avfilter/vf_transpose: Fix used plane count. Fixes out of array access Fixes: poc.mp4 Found-by: GwanYeong Kim Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c6939f65a116b1ffed345d29d8621ee4ffb32235 --- libavfilter/vf_transpose.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 982fb0c8ca..1e1a5c4b89 100644 --- a/libavfilter/vf_transpose.c +++ b/libavfilter/vf_transpose.c @@ -27,6 +27,7 @@ #include +#include "libavutil/avassert.h" #include "libavutil/imgutils.h" #include "libavutil/internal.h" #include "libavutil/intreadwrite.h" @@ -54,6 +55,7 @@ enum TransposeDir { typedef struct TransContext { const AVClass *class; int hsub, vsub; +int planes; int pixsteps[4]; int passthrough;///< PassthroughType, landscape passthrough mode enabled @@ -215,6 +217,10 @@ static int config_props_output(AVFilterLink *outlink) s->hsub = desc_in->log2_chroma_w; s->vsub = desc_in->log2_chroma_h; +s->planes = desc_in->nb_components; + +av_assert0(desc_in->nb_components == desc_out->nb_components); + av_image_fill_max_pixsteps(s->pixsteps, NULL, desc_out); @@ -272,7 +278,7 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, AVFrame *in = td->in; int plane; -for (plane = 0; out->data[plane]; plane++) { +for (plane = 0; plane < s->planes; plane++) { int hsub= plane == 1 || plane == 2 ? s->hsub : 0; int vsub= plane == 1 || plane == 2 ? s->vsub : 0; int pixstep = s->pixsteps[plane]; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_remaining_decode()
ffmpeg | branch: master | Michael Niedermayer | Mon Jan 15 23:46:44 2018 +0100| [a026a3efaeb9c2026668dccbbda339a21ab3206b] | committer: Michael Niedermayer avcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_remaining_decode() I suspect that this can be limited tighter, but i failed to find anything in the spec that would confirm that. Fixes: 4833/clusterfuzz-testcase-minimized-5302840101699584 Fixes: runtime error: left shift of 134217730 by 4 places cannot be represented in type 'int' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a026a3efaeb9c2026668dccbbda339a21ab3206b --- libavcodec/hevc_cabac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevc_cabac.c b/libavcodec/hevc_cabac.c index 743168500c..faa36d5459 100644 --- a/libavcodec/hevc_cabac.c +++ b/libavcodec/hevc_cabac.c @@ -998,7 +998,7 @@ static av_always_inline int coeff_abs_level_remaining_decode(HEVCContext *s, int } else { int prefix_minus3 = prefix - 3; -if (prefix == CABAC_MAX_BIN) { +if (prefix == CABAC_MAX_BIN || prefix_minus3 + rc_rice_param >= 31) { av_log(s->avctx, AV_LOG_ERROR, "CABAC_MAX_BIN : %d\n", prefix); return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/mjpegdec: Fix integer overflow in DC dequantization
ffmpeg | branch: master | Michael Niedermayer | Wed Jan 24 03:28:49 2018 +0100| [1bfc1aa004950c5ad527d823a08b8a19eef34eb0] | committer: Michael Niedermayer avcodec/mjpegdec: Fix integer overflow in DC dequantization Fixes: runtime error: signed integer overflow: -65535 * 65312 cannot be represented in type 'int' Fixes: 4900/clusterfuzz-testcase-minimized-5769019744321536 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1bfc1aa004950c5ad527d823a08b8a19eef34eb0 --- libavcodec/mjpegdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index e005dd0cd3..5055ee2826 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -715,7 +715,7 @@ static int decode_block(MJpegDecodeContext *s, int16_t *block, int component, av_log(s->avctx, AV_LOG_ERROR, "error dc\n"); return AVERROR_INVALIDDATA; } -val = val * quant_matrix[0] + s->last_dc[component]; +val = val * (unsigned)quant_matrix[0] + s->last_dc[component]; val = av_clip_int16(val); s->last_dc[component] = val; block[0] = val; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog