[FFmpeg-cvslog] lavc/aarch64/sbrdsp_neon: fix build on old binutils

2018-01-26 Thread Rodger Combs
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

2018-01-26 Thread Rodger Combs
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

2018-01-26 Thread wm4
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

2018-01-26 Thread wm4
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

2018-01-26 Thread wm4
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.

2018-01-26 Thread Michael Niedermayer
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()

2018-01-26 Thread Michael Niedermayer
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

2018-01-26 Thread Michael Niedermayer
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