[FFmpeg-cvslog] Tag n2.5.3 : FFmpeg 2.5.3 release

2015-01-09 Thread git
[ffmpeg] [branch: refs/tags/n2.5.3]
Tag:c47dd7950774fc74c8ec9772812e0394f9173971
 http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=c47dd7950774fc74c8ec9772812e0394f9173971

Tagger: Michael Niedermayer michae...@gmx.at
Date:   Sat Jan 10 05:21:26 2015 +0100

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


[FFmpeg-cvslog] avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling issue

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Sat Jan 10 
02:27:49 2015 +0100| [bdb136d302182229f4c383f057d2c9ac565ae39d] | committer: 
Michael Niedermayer

avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling 
issue

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavfilter/internal.h |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index d3a859c..a7ec751 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -377,6 +377,8 @@ void ff_filter_graph_remove_filter(AVFilterGraph *graph, 
AVFilterContext *filter
 
 /**
  * Normalize the qscale factor
+ * FIXME the H264 qscale is a log based scale, mpeg1/2 is not, the code below
+ *   cannot be optimal
  */
 static inline int ff_norm_qscale(int qscale, int type)
 {

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


[FFmpeg-cvslog] avformat/movenc: workaround bug in PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Sat Jan 10 
03:43:54 2015 +0100| [7824dc5150c0ea44ffa7cd4d57803f9a9697e7d7] | committer: 
Michael Niedermayer

avformat/movenc: workaround bug in PathScale EKOPath(tm) Compiler Suite 
Version 4.0.12.1

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/movenc.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 0143e9b..2b39a42 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2530,7 +2530,8 @@ static int mov_write_mvhd_tag(AVIOContext *pb, 
MOVMuxContext *mov)
 }
 
 version = max_track_len  UINT32_MAX ? 0 : 1;
-(version == 1) ? avio_wb32(pb, 120) : avio_wb32(pb, 108); /* size */
+avio_wb32(pb, version == 1 ? 120 : 108); /* size */
+
 ffio_wfourcc(pb, mvhd);
 avio_w8(pb, version);
 avio_wb24(pb, 0); /* flags */

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


[FFmpeg-cvslog] configure: enable vsx together with altivec for ppc64el

2015-01-09 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun andreas.cadhal...@googlemail.com 
| Fri Jan  9 17:32:09 2015 +0100| [6108485cf70f04dbf4708bd84ce749da871fa3f1] | 
committer: Michael Niedermayer

configure: enable vsx together with altivec for ppc64el

The altivec optimizations on little endian ppc64 don't work without vsx.

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/configure b/configure
index 6de4bcc..94f9432 100755
--- a/configure
+++ b/configure
@@ -4432,7 +4432,7 @@ unsigned int endian = 'B'  24 | 'I'  16 | 'G'  8 | 
'E';
 EOF
 od -t x1 $TMPO | grep -q '42 *49 *47 *45'  enable bigendian
 
-if  [ $cpu = power7 ] || [ $cpu = power8 ] ;then
+if  [ $cpu = power7 ] || [ $cpu = power8 ] || enabled ppc64; then
 if ! enabled bigendian  enabled altivec ;then
 enable vsx
 fi

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


[FFmpeg-cvslog] avformat/movenc: move variable to a more local block

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Sat Jan 10 
04:50:50 2015 +0100| [6f838dee3cf86bf8b7196ef25bcce1cb4736a0c4] | committer: 
Michael Niedermayer

avformat/movenc: move variable to a more local block

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 2b39a42..bc2d9ef 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2507,12 +2507,12 @@ static int mov_write_mvex_tag(AVIOContext *pb, 
MOVMuxContext *mov)
 static int mov_write_mvhd_tag(AVIOContext *pb, MOVMuxContext *mov)
 {
 int max_track_id = 1, i;
-int64_t max_track_len_temp, max_track_len = 0;
+int64_t max_track_len = 0;
 int version;
 
 for (i = 0; i  mov-nb_streams; i++) {
 if (mov-tracks[i].entry  0  mov-tracks[i].timescale) {
-max_track_len_temp = av_rescale_rnd(mov-tracks[i].track_duration,
+int64_t max_track_len_temp = 
av_rescale_rnd(mov-tracks[i].track_duration,
 MOV_TIMESCALE,
 mov-tracks[i].timescale,
 AV_ROUND_UP);

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


[FFmpeg-cvslog] avformat/movenc: workaround bug in PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Sat Jan 
10 03:43:54 2015 +0100| [b089b582500ffd3c6370e1cd8d91fe7a7f21cc17] | committer: 
Michael Niedermayer

avformat/movenc: workaround bug in PathScale EKOPath(tm) Compiler Suite 
Version 4.0.12.1

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 7824dc5150c0ea44ffa7cd4d57803f9a9697e7d7)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/movenc.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 10e883c..ef25041 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2499,7 +2499,8 @@ static int mov_write_mvhd_tag(AVIOContext *pb, 
MOVMuxContext *mov)
 }
 
 version = max_track_len  UINT32_MAX ? 0 : 1;
-(version == 1) ? avio_wb32(pb, 120) : avio_wb32(pb, 108); /* size */
+avio_wb32(pb, version == 1 ? 120 : 108); /* size */
+
 ffio_wfourcc(pb, mvhd);
 avio_w8(pb, version);
 avio_wb24(pb, 0); /* flags */

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


[FFmpeg-cvslog] avfilter: Factorize the use of norm_qscale in pp7

2015-01-09 Thread Arwa Arif
ffmpeg | branch: master | Arwa Arif arwaarif1...@gmail.com | Sat Jan 10 
02:01:42 2015 +0530| [4df01d5d44cf65c141e5569c9cb6c57a77c70e39] | committer: 
Michael Niedermayer

avfilter: Factorize the use of norm_qscale in pp7

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavfilter/internal.h |   15 +++
 libavfilter/vf_pp7.c   |   14 +-
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index 308b115..d3a859c 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -31,6 +31,7 @@
 #include thread.h
 #include version.h
 #include video.h
+#include libavcodec/avcodec.h
 
 #define POOL_SIZE 32
 typedef struct AVFilterPool {
@@ -374,4 +375,18 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, 
const char *inst_name);
  */
 void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext 
*filter);
 
+/**
+ * Normalize the qscale factor
+ */
+static inline int ff_norm_qscale(int qscale, int type)
+{
+switch (type) {
+case FF_QSCALE_TYPE_MPEG1: return qscale;
+case FF_QSCALE_TYPE_MPEG2: return qscale  1;
+case FF_QSCALE_TYPE_H264:  return qscale  2;
+case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2)  2;
+}
+return qscale;
+}
+
 #endif /* AVFILTER_INTERNAL_H */
diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c
index 2f071f2..bb590a2 100644
--- a/libavfilter/vf_pp7.c
+++ b/libavfilter/vf_pp7.c
@@ -33,7 +33,6 @@
 #include libavutil/pixdesc.h
 #include internal.h
 #include vf_pp7.h
-#include libavcodec/avcodec.h
 
 enum mode {
 MODE_HARD,
@@ -87,17 +86,6 @@ static const int thres[16] = {
 N / (SN2 * SN0), N / (SN2 * SN2), N / (SN2 * SN0), N / (SN2 * SN2),
 };
 
-static inline int norm_qscale(int qscale, int type)
-{
-switch (type) {
-case FF_QSCALE_TYPE_MPEG1: return qscale;
-case FF_QSCALE_TYPE_MPEG2: return qscale  1;
-case FF_QSCALE_TYPE_H264:  return qscale  2;
-case FF_QSCALE_TYPE_VP56:  return (63 - qscale + 2)  2;
-}
-return qscale;
-}
-
 static void init_thres2(PP7Context *p)
 {
 int qp, i;
@@ -259,7 +247,7 @@ static void filter(PP7Context *p, uint8_t *dst, uint8_t 
*src,
 qp = p-qp;
 else {
 qp = qp_store[ (FFMIN(x, width - 1)  qps) + (FFMIN(y, height 
- 1)  qps) * qp_stride];
-qp = norm_qscale(qp, p-qscale_type);
+qp = ff_norm_qscale(qp, p-qscale_type);
 }
 for (; x  end; x++) {
 const int index = x + y * stride + (8 - 3) * (1 + stride) + 8; 
//FIXME silly offset

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


[FFmpeg-cvslog] ffserver: Use av_malloc_array()

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Tue Jan  6 
17:55:50 2015 +0100| [11d8fa5e9d695fc3f9f553dc313edd9d4e45ed18] | committer: 
Michael Niedermayer

ffserver: Use av_malloc_array()

Reviewed-by: Reynaldo H. Verdejo Pinochet reyna...@osg.samsung.com
Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/ffserver.c b/ffserver.c
index 1f20d19..0b69196 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2810,11 +2810,9 @@ static int prepare_sdp_description(FFServerStream 
*stream, uint8_t **pbuffer,
 snprintf(avc-filename, 1024, rtp://0.0.0.0);
 }
 
-if (avc-nb_streams = INT_MAX/sizeof(*avc-streams) ||
-!(avc-streams = av_malloc(avc-nb_streams * sizeof(*avc-streams
+if (!(avc-streams = av_malloc_array(avc-nb_streams, 
sizeof(*avc-streams
 goto sdp_done;
-if (avc-nb_streams = INT_MAX/sizeof(*avs) ||
-!(avs = av_malloc(avc-nb_streams * sizeof(*avs
+if (!(avs = av_malloc_array(avc-nb_streams, sizeof(*avs
 goto sdp_done;
 
 for(i = 0; i  stream-nb_streams; i++) {

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


[FFmpeg-cvslog] rm: fix memory leak on init failure

2015-01-09 Thread wm4
ffmpeg | branch: master | wm4 nfx...@googlemail.com | Fri Jan  9 21:24:54 
2015 +0100| [aab74a38b8ba910a383dd82953061d5c42772ae9] | committer: Michael 
Niedermayer

rm: fix memory leak on init failure

AVInputFormat.read_close is not called if AVInputFormat.read_header
fails, so this needs to be handled separately.

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/rmdec.c |   19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 299c742..d61e327 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -65,6 +65,8 @@ typedef struct {
 int audio_pkt_cnt; /// Output packet counter
 } RMDemuxContext;
 
+static int rm_read_close(AVFormatContext *s);
+
 static inline void get_strl(AVIOContext *pb, char *buf, int buf_size, int len)
 {
 int i;
@@ -505,6 +507,7 @@ static int rm_read_header(AVFormatContext *s)
 unsigned int data_off = 0, indx_off = 0;
 char buf[128], mime[128];
 int flags = 0;
+int ret = -1;
 
 tag = avio_rl32(pb);
 if (tag == MKTAG('.', 'r', 'a', 0xfd)) {
@@ -519,7 +522,7 @@ static int rm_read_header(AVFormatContext *s)
 
 for(;;) {
 if (avio_feof(pb))
-return -1;
+goto fail;
 tag = avio_rl32(pb);
 tag_size = avio_rb32(pb);
 avio_rb16(pb);
@@ -531,7 +534,7 @@ static int rm_read_header(AVFormatContext *s)
 tag,
 tag_size);
 if (tag_size  10  tag != MKTAG('D', 'A', 'T', 'A'))
-return -1;
+goto fail;
 switch(tag) {
 case MKTAG('P', 'R', 'O', 'P'):
 /* file header */
@@ -553,8 +556,10 @@ static int rm_read_header(AVFormatContext *s)
 break;
 case MKTAG('M', 'D', 'P', 'R'):
 st = avformat_new_stream(s, NULL);
-if (!st)
-return AVERROR(ENOMEM);
+if (!st) {
+ret = AVERROR(ENOMEM);
+goto fail;
+}
 st-id = avio_rb16(pb);
 avio_rb32(pb); /* max bit rate */
 st-codec-bit_rate = avio_rb32(pb); /* bit rate */
@@ -573,7 +578,7 @@ static int rm_read_header(AVFormatContext *s)
 st-priv_data = ff_rm_alloc_rmstream();
 if (ff_rm_read_mdpr_codecdata(s, s-pb, st, st-priv_data,
   avio_rb32(pb), mime)  0)
-return -1;
+goto fail;
 break;
 case MKTAG('D', 'A', 'T', 'A'):
 goto header_end;
@@ -598,6 +603,10 @@ static int rm_read_header(AVFormatContext *s)
 }
 
 return 0;
+
+fail:
+rm_read_close(s);
+return ret;
 }
 
 static int get_num(AVIOContext *pb, int *len)

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


[FFmpeg-cvslog] ffmpeg: remove unneeded NULL pointer check

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
15:51:32 2015 +0100| [04091552616e6c5bea754ebbee26f77cb8ba416e] | committer: 
Michael Niedermayer

ffmpeg: remove unneeded NULL pointer check

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 ffmpeg.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 0741eca..f9aa65f 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -458,7 +458,7 @@ static void ffmpeg_cleanup(int ret)
 for (i = 0; i  nb_output_files; i++) {
 OutputFile *of = output_files[i];
 AVFormatContext *s = of-ctx;
-if (s  s-oformat  !(s-oformat-flags  AVFMT_NOFILE)  s-pb)
+if (s  s-oformat  !(s-oformat-flags  AVFMT_NOFILE))
 avio_closep(s-pb);
 avformat_free_context(s);
 av_dict_free(of-opts);

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


[FFmpeg-cvslog] tools/uncoded_frame: Use avio_closep() to avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
15:46:13 2015 +0100| [323355413dbe576dada9919535c7b72f2d9a66b4] | committer: 
Michael Niedermayer

tools/uncoded_frame: Use avio_closep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 tools/uncoded_frame.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/uncoded_frame.c b/tools/uncoded_frame.c
index 53e71ea..3ca2ba4 100644
--- a/tools/uncoded_frame.c
+++ b/tools/uncoded_frame.c
@@ -269,7 +269,7 @@ fail:
 st = streams[i];
 if (st-mux) {
 if (st-mux-pb)
-avio_close(st-mux-pb);
+avio_closep(st-mux-pb);
 avformat_free_context(st-mux);
 }
 }

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


[FFmpeg-cvslog] h264: restore a block mistakenly removed in e10fd08a

2015-01-09 Thread Anton Khirnov
ffmpeg | branch: release/2.4 | Anton Khirnov an...@khirnov.net | Thu Dec 25 
22:46:39 2014 +0100| [883795fb0face00a07349fbd32f4775431a9f30d] | committer: 
Anton Khirnov

h264: restore a block mistakenly removed in e10fd08a

CC: libav-sta...@libav.org
Bug-ID: 781
(cherry picked from commit 60d4c6ff76467d4d8f55c1cc61ab6c618e8ea2f3)
Signed-off-by: Anton Khirnov an...@khirnov.net

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

 libavcodec/h264.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 562b102..4bc0a03 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1454,6 +1454,8 @@ static int decode_nal_units(H264Context *h, const uint8_t 
*buf, int buf_size,
 buf_index = find_start_code(buf, buf_size, buf_index, 
next_avc);
 if (buf_index = buf_size)
 break;
+if (buf_index = next_avc)
+continue;
 }
 
 hx = h-thread_context[context_count];

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


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

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.4 | Michael Niedermayer michae...@gmx.at | Fri Jan 
 9 17:06:27 2015 +0100| [33c8bb2c6a87e89ed4536ed2ebaa9a1dae2fbfcb] | committer: 
Michael Niedermayer

Merge commit '883795fb0face00a07349fbd32f4775431a9f30d' into release/2.4

* commit '883795fb0face00a07349fbd32f4775431a9f30d':
  h264: restore a block mistakenly removed in e10fd08a

See: 0ecb3075c1c243cfb656d1cbe0b19cdb91bde659
Merged-by: Michael Niedermayer michae...@gmx.at

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



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


Re: [FFmpeg-cvslog] Skip Exif data when auto-detecting jpeg images.

2015-01-09 Thread Carl Eugen Hoyos
Reimar Döffinger Reimar.Doeffinger at gmx.de writes:

  +if (AV_RB16(b) == 0xFFE1  AV_RB32(b + 4) == AV_RB32(Exif)) {
 
 Are we allowed to just assume that buf_size is = 8 
 (or that there is at least 8 bytes 0 padding)?

32 zeros are required by our API afaict.

I cannot comment on the undefined behaviour.

Carl Eugen

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


Re: [FFmpeg-cvslog] Skip Exif data when auto-detecting jpeg images.

2015-01-09 Thread Reimar Döffinger


On 09.01.2015, at 00:50, g...@videolan.org (Carl Eugen Hoyos) wrote:

 ffmpeg | branch: master | Carl Eugen Hoyos ceho...@ag.or.at | Fri Jan  9 
 00:30:02 2015 +0100| [cd3405282c7007a535b297d14e50e4ff12c18679] | committer: 
 Carl Eugen Hoyos
 
 Skip Exif data when auto-detecting jpeg images.
 
 http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd3405282c7007a535b297d14e50e4ff12c18679
 ---
 
 libavformat/img2dec.c |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
 index 015a20a..329e61d 100644
 --- a/libavformat/img2dec.c
 +++ b/libavformat/img2dec.c
 @@ -643,14 +643,18 @@ static int j2k_probe(AVProbeData *p)
 static int jpeg_probe(AVProbeData *p)
 {
 const uint8_t *b = p-buf;
 -int i, state = 0xD8;
 +int i, state = 0xD8, exif_size = 0;
 
 if (AV_RB16(b) != 0xFFD8 ||
 AV_RB32(b) == 0xFFD8FFF7)
 return 0;
 
 b += 2;
 -for (i = 0; i  p-buf_size - 2; i++) {
 +if (AV_RB16(b) == 0xFFE1  AV_RB32(b + 4) == AV_RB32(Exif)) {

Are we allowed to just assume that buf_size is = 8 (or that there is at least 
8 bytes 0 padding)?

 +exif_size = AV_RB16(b + 2) + 2;
 +b += exif_size;

Also I don't know how we handle it otherwise, but the pointer increment is 
already undefined behaviour strictly speaking if buf_size  exif_size + 2
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


Re: [FFmpeg-cvslog] lavfi/boxblur: Readd 8bit colour spaces on big-endian.

2015-01-09 Thread Reimar Döffinger
On 08.01.2015, at 17:05, g...@videolan.org (Carl Eugen Hoyos) wrote:
 ffmpeg | branch: master | Carl Eugen Hoyos ceho...@ag.or.at | Thu Jan  8 
 15:24:59 2015 +0100| [26ac6d543598f17ceb6771bce08a00291e62a4ef] | committer: 
 Carl Eugen Hoyos
 
 lavfi/boxblur: Readd 8bit colour spaces on big-endian.
 
 http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=26ac6d543598f17ceb6771bce08a00291e62a4ef
 ---
 
 libavfilter/vf_boxblur.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libavfilter/vf_boxblur.c b/libavfilter/vf_boxblur.c
 index 89cf015..3ccf268 100644
 --- a/libavfilter/vf_boxblur.c
 +++ b/libavfilter/vf_boxblur.c
 @@ -124,7 +124,7 @@ static int query_formats(AVFilterContext *ctx)
 const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt);
 if (!(desc-flags  (AV_PIX_FMT_FLAG_HWACCEL | 
 AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_PAL)) 
 (desc-flags  AV_PIX_FMT_FLAG_PLANAR || desc-nb_components == 
 1) 
 -!(desc-flags  AV_PIX_FMT_FLAG_BE) == !HAVE_BIGENDIAN)
 +(!(desc-flags  AV_PIX_FMT_FLAG_BE) == !HAVE_BIGENDIAN) || 
 desc-comp[0].depth_minus1 == 7)

That doesn't seem quite right if there's more than one component, at some point 
we might add a format that has 8 bit for the first and more bits for some other 
component.
Maybe adding a common function that checks for native-endian would make it 
easier to understand, too.
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 12:53:53 2015 +0100| [918ed73b70a9ab7c48969256a399b2c2a4f0893c] | committer: 
Michael Niedermayer

avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale 
pointer in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit bbfca8e84b0e69abba523d665536c0135fc1c00e)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5da110d..5a282a7c 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2829,6 +2829,7 @@ int ff_alloc_extradata(AVCodecContext *avctx, int size)
 int ret;
 
 if (size  0 || size = INT32_MAX - FF_INPUT_BUFFER_PADDING_SIZE) {
+avctx-extradata = NULL;
 avctx-extradata_size = 0;
 return AVERROR(EINVAL);
 }

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


[FFmpeg-cvslog] avformat/mov: use av_freep() to avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 12:45:25 2015 +0100| [0d3a07852c3ccada8948c15e593669a21089e316] | committer: 
Michael Niedermayer

avformat/mov: use av_freep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 383c6a3a07b71981bd32d083496f5a4935f620f9)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/mov.c |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 47f0073..2313674 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1153,7 +1153,7 @@ static int mov_read_wave(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 st-codec-codec_id == AV_CODEC_ID_QDMC ||
 st-codec-codec_id == AV_CODEC_ID_SPEEX) {
 // pass all frma atom to codec, needed at least for QDMC and QDM2
-av_free(st-codec-extradata);
+av_freep(st-codec-extradata);
 if (ff_get_extradata(st-codec, pb, atom.size)  0)
 return AVERROR(ENOMEM);
 } else if (atom.size  8) { /* to read frma, esds atoms */
@@ -1193,7 +1193,7 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 av_log(c, AV_LOG_WARNING, ignoring multiple glbl\n);
 return 0;
 }
-av_free(st-codec-extradata);
+av_freep(st-codec-extradata);
 if (ff_get_extradata(st-codec, pb, atom.size)  0)
 return AVERROR(ENOMEM);
 
@@ -1218,7 +1218,7 @@ static int mov_read_dvc1(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 return 0;
 
 avio_seek(pb, 6, SEEK_CUR);
-av_free(st-codec-extradata);
+av_freep(st-codec-extradata);
 if ((ret = ff_get_extradata(st-codec, pb, atom.size - 7))  0)
 return ret;
 
@@ -1244,7 +1244,7 @@ static int mov_read_strf(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 return AVERROR_INVALIDDATA;
 
 avio_skip(pb, 40);
-av_free(st-codec-extradata);
+av_freep(st-codec-extradata);
 if (ff_get_extradata(st-codec, pb, atom.size - 40)  0)
 return AVERROR(ENOMEM);
 return 0;
@@ -4113,7 +4113,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket 
*pkt)
 #if CONFIG_DV_DEMUXER
 if (mov-dv_demux  sc-dv_audio_container) {
 avpriv_dv_produce_packet(mov-dv_demux, pkt, pkt-data, pkt-size, 
pkt-pos);
-av_free(pkt-data);
+av_freep(pkt-data);
 pkt-size = 0;
 ret = avpriv_dv_get_packet(mov-dv_demux, pkt);
 if (ret  0)

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


[FFmpeg-cvslog] lavfi: check av_strdup() return value

2015-01-09 Thread Paul B Mahol
ffmpeg | branch: release/2.5 | Paul B Mahol one...@gmail.com | Tue Jan  6 
09:42:59 2015 +| [c7a2ac6b6bd5e3f4d11f06caaeff064c263ad829] | committer: 
Michael Niedermayer

lavfi: check av_strdup() return value

Signed-off-by: Paul B Mahol one...@gmail.com
(cherry picked from commit 145a84717b62e086cdb5f26649ad9f1b51ef38d0)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavfilter/af_amix.c   |2 ++
 libavfilter/af_join.c   |2 ++
 libavfilter/split.c |2 ++
 libavfilter/src_movie.c |2 ++
 4 files changed, 8 insertions(+)

diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
index e40969f..fd9d135 100644
--- a/libavfilter/af_amix.c
+++ b/libavfilter/af_amix.c
@@ -496,6 +496,8 @@ static av_cold int init(AVFilterContext *ctx)
 snprintf(name, sizeof(name), input%d, i);
 pad.type   = AVMEDIA_TYPE_AUDIO;
 pad.name   = av_strdup(name);
+if (!pad.name)
+return AVERROR(ENOMEM);
 pad.filter_frame   = filter_frame;
 
 ff_insert_inpad(ctx, i, pad);
diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c
index a1717c6..71a454b 100644
--- a/libavfilter/af_join.c
+++ b/libavfilter/af_join.c
@@ -214,6 +214,8 @@ static av_cold int join_init(AVFilterContext *ctx)
 snprintf(name, sizeof(name), input%d, i);
 pad.type   = AVMEDIA_TYPE_AUDIO;
 pad.name   = av_strdup(name);
+if (!pad.name)
+return AVERROR(ENOMEM);
 pad.filter_frame   = filter_frame;
 
 pad.needs_fifo = 1;
diff --git a/libavfilter/split.c b/libavfilter/split.c
index 6abd5ee..7353810 100644
--- a/libavfilter/split.c
+++ b/libavfilter/split.c
@@ -52,6 +52,8 @@ static av_cold int split_init(AVFilterContext *ctx)
 snprintf(name, sizeof(name), output%d, i);
 pad.type = ctx-filter-inputs[0].type;
 pad.name = av_strdup(name);
+if (!pad.name)
+return AVERROR(ENOMEM);
 
 ff_insert_outpad(ctx, i, pad);
 }
diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index 0b97b82..908c03e 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -289,6 +289,8 @@ static av_cold int movie_common_init(AVFilterContext *ctx)
 snprintf(name, sizeof(name), out%d, i);
 pad.type  = movie-st[i].st-codec-codec_type;
 pad.name  = av_strdup(name);
+if (!pad.name)
+return AVERROR(ENOMEM);
 pad.config_props  = movie_config_output_props;
 pad.request_frame = movie_request_frame;
 ff_insert_outpad(ctx, i, pad);

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


[FFmpeg-cvslog] avformat/cdxl: Fix integer overflow of image_size

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Wed Dec 
31 21:41:46 2014 +0100| [68c63470895d8b8016931af2f94e1dd29b4d8b26] | committer: 
Michael Niedermayer

avformat/cdxl: Fix integer overflow of image_size

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 3eb5cbe0c50d0a0bbe10bcabbd6b16d73d93c128)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/cdxl.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/cdxl.c b/libavformat/cdxl.c
index e3e379a..6d8e750 100644
--- a/libavformat/cdxl.c
+++ b/libavformat/cdxl.c
@@ -127,6 +127,8 @@ static int cdxl_read_packet(AVFormatContext *s, AVPacket 
*pkt)
 height   = AV_RB16(cdxl-header[16]);
 palette_size = AV_RB16(cdxl-header[20]);
 audio_size   = AV_RB16(cdxl-header[22]);
+if (FFALIGN(width, 16) * (uint64_t)height * cdxl-header[19]  INT_MAX)
+return AVERROR_INVALIDDATA;
 image_size   = FFALIGN(width, 16) * height * cdxl-header[19] / 8;
 video_size   = palette_size + image_size;
 

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


[FFmpeg-cvslog] avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 12:48:38 2015 +0100| [2791eba1d78af65884b1b02d482c930b1d301e54] | committer: 
Michael Niedermayer

avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 6e70e4aca50696040cc9256ec96e5c31d9641432)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/matroskadec.c |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index e9ba1e9..3f327fd 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1080,7 +1080,7 @@ static void ebml_free(EbmlSyntax *syntax, void *data)
 for (j = 0; j  list-nb_elem;
  j++, ptr += syntax[i].list_elem_size)
 ebml_free(syntax[i].def.n, ptr);
-av_free(list-elem);
+av_freep(list-elem);
 } else
 ebml_free(syntax[i].def.n, data_off);
 default:
@@ -2134,7 +2134,7 @@ static int matroska_deliver_packet(MatroskaDemuxContext 
*matroska,
 {
 if (matroska-num_packets  0) {
 memcpy(pkt, matroska-packets[0], sizeof(AVPacket));
-av_free(matroska-packets[0]);
+av_freep(matroska-packets[0]);
 if (matroska-num_packets  1) {
 void *newpackets;
 memmove(matroska-packets[0], matroska-packets[1],
@@ -2165,7 +2165,7 @@ static void matroska_clear_queue(MatroskaDemuxContext 
*matroska)
 int n;
 for (n = 0; n  matroska-num_packets; n++) {
 av_free_packet(matroska-packets[n]);
-av_free(matroska-packets[n]);
+av_freep(matroska-packets[n]);
 }
 av_freep(matroska-packets);
 matroska-num_packets = 0;
@@ -3003,7 +3003,7 @@ static int matroska_read_close(AVFormatContext *s)
 
 for (n = 0; n  matroska-tracks.nb_elem; n++)
 if (tracks[n].type == MATROSKA_TRACK_TYPE_AUDIO)
-av_free(tracks[n].audio.buf);
+av_freep(tracks[n].audio.buf);
 ebml_free(matroska_cluster, matroska-current_cluster);
 ebml_free(matroska_segment, matroska);
 

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


[FFmpeg-cvslog] mov: Fix negative size calculation in mov_read_default().

2015-01-09 Thread Dale Curtis
ffmpeg | branch: release/2.5 | Dale Curtis dalecur...@chromium.org | Mon Jan  
5 16:34:17 2015 -0800| [0ce35b8ce8b9e06a4dedc62b4fe10261db67f0a3] | committer: 
Michael Niedermayer

mov: Fix negative size calculation in mov_read_default().

The previous code assumed if an atom was marked with a 64-bit
size extension, it actually had that data available. The new
code verfies there's enough data in the atom for this to be
done.

Failure to verify causes total_size  atom.size which will
result in negative size calculations later on.

Found-by: Paul Mehta p...@paulmehta.com
Signed-off-by: Dale Curtis dalecur...@chromium.org
Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 3ebd76a9c57558e284e94da367dd23b435e6a6d0)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 11fdcf0..47f0073 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3431,7 +3431,7 @@ static int mov_read_default(MOVContext *c, AVIOContext 
*pb, MOVAtom atom)
 }
 }
 total_size += 8;
-if (a.size == 1) { /* 64 bit extended size */
+if (a.size == 1  total_size + 8 = atom.size) { /* 64 bit 
extended size */
 a.size = avio_rb64(pb) - 8;
 total_size += 8;
 }

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


[FFmpeg-cvslog] avformat/segment: Use av_freep() avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Thu Dec 
25 12:38:20 2014 +0100| [bcd7f35717dbcb4bae3790912c9c08889c6b588e] | committer: 
Michael Niedermayer

avformat/segment: Use av_freep() avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 68fa549230af35179df2a2af2bdb84ee6c825bed)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/segment.c |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavformat/segment.c b/libavformat/segment.c
index 2cad6e3..56ffcdc 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -343,7 +343,7 @@ static int segment_end(AVFormatContext *s, int 
write_trailer, int is_last)
 if (seg-list_size  seg-segment_count = seg-list_size) {
 entry = seg-segment_list_entries;
 seg-segment_list_entries = seg-segment_list_entries-next;
-av_free(entry-filename);
+av_freep(entry-filename);
 av_freep(entry);
 }
 
@@ -501,10 +501,10 @@ static int open_null_ctx(AVIOContext **ctx)
 return 0;
 }
 
-static void close_null_ctx(AVIOContext *pb)
+static void close_null_ctxp(AVIOContext **pb)
 {
-av_free(pb-buffer);
-av_free(pb);
+av_freep((*pb)-buffer);
+av_freep(pb);
 }
 
 static int select_reference_stream(AVFormatContext *s)
@@ -687,7 +687,7 @@ static int seg_write_header(AVFormatContext *s)
 s-avoid_negative_ts = 1;
 
 if (!seg-write_header_trailer) {
-close_null_ctx(oc-pb);
+close_null_ctxp(oc-pb);
 if ((ret = avio_open2(oc-pb, oc-filename, AVIO_FLAG_WRITE,
   s-interrupt_callback, NULL))  0)
 goto fail;
@@ -820,7 +820,7 @@ static int seg_write_trailer(struct AVFormatContext *s)
 goto fail;
 open_null_ctx(oc-pb);
 ret = av_write_trailer(oc);
-close_null_ctx(oc-pb);
+close_null_ctxp(oc-pb);
 } else {
 ret = segment_end(s, 1, 1);
 }
@@ -836,7 +836,7 @@ fail:
 cur = seg-segment_list_entries;
 while (cur) {
 next = cur-next;
-av_free(cur-filename);
+av_freep(cur-filename);
 av_free(cur);
 cur = next;
 }

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


[FFmpeg-cvslog] avfilter/vf_sab: fix filtering tiny images

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Sun Jan 
 4 01:03:26 2015 +0100| [252ba4a9259fcaf18f5f340da364e7d536bc6788] | committer: 
Michael Niedermayer

avfilter/vf_sab: fix filtering tiny images

Fixes out of array reads

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 9bff052b51f27f6cce04e8d7d8b405c710d7ad67)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavfilter/vf_sab.c |   22 --
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/libavfilter/vf_sab.c b/libavfilter/vf_sab.c
index aa38b53..b8af27c 100644
--- a/libavfilter/vf_sab.c
+++ b/libavfilter/vf_sab.c
@@ -220,6 +220,19 @@ static int config_props(AVFilterLink *inlink)
 
 #define NB_PLANES 4
 
+static inline int mirror(int x, int w)
+{
+if (!w)
+return 0;
+
+while ((unsigned)x  (unsigned)w) {
+x = -x;
+if (x  0)
+x += 2 * w;
+}
+return x;
+}
+
 static void blur(uint8_t   *dst, const int dst_linesize,
  const uint8_t *src, const int src_linesize,
  const int w, const int h, FilterParam *fp)
@@ -253,8 +266,7 @@ static void blur(uint8_t   *dst, const int dst_linesize,
 for (dy = 0; dy  radius*2 + 1; dy++) {
 int dx;
 int iy = y+dy - radius;
-if  (iy  0)  iy = -iy;
-else if (iy = h) iy = h+h-iy-1;
+iy = mirror(iy, h-1);
 
 for (dx = 0; dx  radius*2 + 1; dx++) {
 const int ix = x+dx - radius;
@@ -265,13 +277,11 @@ static void blur(uint8_t   *dst, const int 
dst_linesize,
 for (dy = 0; dy  radius*2+1; dy++) {
 int dx;
 int iy = y+dy - radius;
-if  (iy   0) iy = -iy;
-else if (iy = h) iy = h+h-iy-1;
+iy = mirror(iy, h-1);
 
 for (dx = 0; dx  radius*2 + 1; dx++) {
 int ix = x+dx - radius;
-if  (ix  0)  ix = -ix;
-else if (ix = w) ix = w+w-ix-1;
+ix = mirror(ix, w-1);
 UPDATE_FACTOR;
 }
 }

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


[FFmpeg-cvslog] avcodec/dvdsubdec: fix out of bounds accesses

2015-01-09 Thread wm4
ffmpeg | branch: release/2.5 | wm4 nfx...@googlemail.com | Mon Jan  5 
04:45:26 2015 +0100| [e0a12b3dc3a252412e91416ebbbf9449e82e4bd0] | committer: 
Michael Niedermayer

avcodec/dvdsubdec: fix out of bounds accesses

The code blindly trusted buffer offsets read from the file in the RLE
decoder. Explicitly check the offset. Also error out on other RLE
decoding errors.

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit c9151de7c42553bb145be608df8513c1287f1f24)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/dvdsubdec.c |   13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 39604f3..20b9d41 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -108,6 +108,9 @@ static int decode_rle(uint8_t *bitmap, int linesize, int w, 
int h,
 int x, y, len, color;
 uint8_t *d;
 
+if (start = buf_size)
+return -1;
+
 bit_len = (buf_size - start) * 8;
 init_get_bits(gb, buf + start, bit_len);
 
@@ -359,10 +362,12 @@ static int decode_dvd_subtitles(DVDSubContext *ctx, 
AVSubtitle *sub_header,
 sub_header-rects[0] = av_mallocz(sizeof(AVSubtitleRect));
 sub_header-num_rects = 1;
 sub_header-rects[0]-pict.data[0] = bitmap;
-decode_rle(bitmap, w * 2, w, (h + 1) / 2,
-   buf, offset1, buf_size, is_8bit);
-decode_rle(bitmap + w, w * 2, w, h / 2,
-   buf, offset2, buf_size, is_8bit);
+if (decode_rle(bitmap, w * 2, w, (h + 1) / 2,
+   buf, offset1, buf_size, is_8bit)  0)
+goto fail;
+if (decode_rle(bitmap + w, w * 2, w, h / 2,
+   buf, offset2, buf_size, is_8bit)  0)
+goto fail;
 sub_header-rects[0]-pict.data[1] = 
av_mallocz(AVPALETTE_SIZE);
 if (is_8bit) {
 if (!yuv_palette)

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


[FFmpeg-cvslog] avformat/mov: fix integer overflow in mov_read_udta_string()

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 04:29:10 2015 +0100| [25312a427bda360a98c6a38be7af9e5f686c9902] | committer: 
Michael Niedermayer

avformat/mov: fix integer overflow in mov_read_udta_string()

Found-by: Paul Mehta p...@paulmehta.com
Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 3859868c75313e318ebc5d0d33baada62d45dd75)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 3a93897..11fdcf0 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -355,7 +355,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext 
*pb, MOVAtom atom)
 
 if (!key)
 return 0;
-if (atom.size  0)
+if (atom.size  0 || str_size = INT_MAX/2)
 return AVERROR_INVALIDDATA;
 
 str_size_alloc = str_size  1; // worst-case requirement for output 
string in case of utf8 coded input

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


[FFmpeg-cvslog] mov: Fix overflow and error handling in read_tfra().

2015-01-09 Thread Dale Curtis
ffmpeg | branch: release/2.5 | Dale Curtis dalecur...@chromium.org | Tue Jan  
6 04:00:43 2015 +0100| [9143ab0e5a75519c899cae2996d07b3f69bcfb24] | committer: 
Michael Niedermayer

mov: Fix overflow and error handling in read_tfra().

Under abnormal conditions the item_count may exceed the max
allocation size on 32-bit systems, this causes the allocated
size to overflow and become too small for the given count.

Additionally, if av_reallocp() fails its allocation, the
fragment_index_count is not correctly decremented.

Ensuring further havoc may be wrought, the error code for
read_tfra() is not checked upon return.

Found-by: Paul Mehta p...@paulmehta.com

positive return code and use of _array functions by commiter

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit db42d93a61be26873be6115c57f5921b4dfdec14)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/mov.c |   36 +---
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index b888c67..3a93897 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3782,35 +3782,39 @@ static void export_orphan_timecode(AVFormatContext *s)
 static int read_tfra(MOVContext *mov, AVIOContext *f)
 {
 MOVFragmentIndex* index = NULL;
-int version, fieldlength, i, j, err;
+int version, fieldlength, i, j;
 int64_t pos = avio_tell(f);
 uint32_t size = avio_rb32(f);
+void *tmp;
+
 if (avio_rb32(f) != MKBETAG('t', 'f', 'r', 'a')) {
-return -1;
+return 1;
 }
 av_log(mov-fc, AV_LOG_VERBOSE, found tfra\n);
 index = av_mallocz(sizeof(MOVFragmentIndex));
 if (!index) {
 return AVERROR(ENOMEM);
 }
-mov-fragment_index_count++;
-if ((err = av_reallocp(mov-fragment_index_data,
-   mov-fragment_index_count *
-   sizeof(MOVFragmentIndex*)))  0) {
+
+tmp = av_realloc_array(mov-fragment_index_data,
+   mov-fragment_index_count + 1,
+   sizeof(MOVFragmentIndex*));
+if (!tmp) {
 av_freep(index);
-return err;
+return AVERROR(ENOMEM);
 }
-mov-fragment_index_data[mov-fragment_index_count - 1] =
-index;
+mov-fragment_index_data = tmp;
+mov-fragment_index_data[mov-fragment_index_count++] = index;
 
 version = avio_r8(f);
 avio_rb24(f);
 index-track_id = avio_rb32(f);
 fieldlength = avio_rb32(f);
 index-item_count = avio_rb32(f);
-index-items = av_mallocz(
-index-item_count * sizeof(MOVFragmentIndexItem));
+index-items = av_mallocz_array(
+index-item_count, sizeof(MOVFragmentIndexItem));
 if (!index-items) {
+index-item_count = 0;
 return AVERROR(ENOMEM);
 }
 for (i = 0; i  index-item_count; i++) {
@@ -3864,11 +3868,13 @@ static int mov_read_mfra(MOVContext *c, AVIOContext *f)
 av_log(c-fc, AV_LOG_DEBUG, doesn't look like mfra (tag mismatch)\n);
 goto fail;
 }
-ret = 0;
 av_log(c-fc, AV_LOG_VERBOSE, stream has mfra\n);
-while (!read_tfra(c, f)) {
-/* Empty */
-}
+do {
+ret = read_tfra(c, f);
+if (ret  0)
+goto fail;
+} while (!ret);
+ret = 0;
 fail:
 seek_ret = avio_seek(f, original_pos, SEEK_SET);
 if (seek_ret  0) {

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


[FFmpeg-cvslog] mov: Avoid overflow with mov_metadata_raw()

2015-01-09 Thread Dale Curtis
ffmpeg | branch: release/2.5 | Dale Curtis dalecur...@chromium.org | Mon Jan  
5 16:19:09 2015 -0800| [022bfd3dd47c3a2b59ce3eb1142aecc199f320ed] | committer: 
Michael Niedermayer

mov: Avoid overflow with mov_metadata_raw()

The code previously added 1 to len without checking its size,
resulting in an overflow which can corrupt value[-1] -- which
may be used to store unaligned ptr information for certain
allocators.

Found-by: Paul Mehta p...@paulmehta.com
Signed-off-by: Dale Curtis dalecur...@chromium.org

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

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 57e4524..b888c67 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -210,6 +210,9 @@ static int mov_read_covr(MOVContext *c, AVIOContext *pb, 
int type, int len)
 static int mov_metadata_raw(MOVContext *c, AVIOContext *pb,
 unsigned len, const char *key)
 {
+// Check for overflow.
+if (len = INT_MAX)
+return AVERROR(EINVAL);
 char *value = av_malloc(len + 1);
 if (!value)
 return AVERROR(ENOMEM);

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


[FFmpeg-cvslog] lavfi: port mp=pp7 to libavfilter

2015-01-09 Thread Arwa Arif
ffmpeg | branch: master | Arwa Arif arwaarif1...@gmail.com | Thu Dec 25 
10:08:24 2014 +0530| [a299cd5ab3567bdf855dc84cdbed4d22ea5fcbb6] | committer: 
Stefano Sabatini

lavfi: port mp=pp7 to libavfilter

The only difference with mp=pp7 is that default mode is medium, as stated
in the MPlayer docs, rather than hard.

Signed-off-by: Stefano Sabatini stefa...@gmail.com

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

 LICENSE.md   |1 +
 configure|1 +
 doc/filters.texi |   26 +++
 libavfilter/Makefile |1 +
 libavfilter/allfilters.c |1 +
 libavfilter/version.h|2 +-
 libavfilter/vf_pp7.c |  419 ++
 libavfilter/vf_pp7.h |   46 +
 libavfilter/x86/Makefile |1 +
 libavfilter/x86/vf_pp7.c |   68 
 10 files changed, 565 insertions(+), 1 deletion(-)

diff --git a/LICENSE.md b/LICENSE.md
index 5659973..e612c22 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -43,6 +43,7 @@ Specifically, the GPL parts of FFmpeg are:
 - vf_perspective.c
 - vf_phase.c
 - vf_pp.c
+- vf_pp7.c
 - vf_pullup.c
 - vf_sab.c
 - vf_smartblur.c
diff --git a/configure b/configure
index 51999de..6de4bcc 100755
--- a/configure
+++ b/configure
@@ -2600,6 +2600,7 @@ mpdecimate_filter_select=pixelutils
 mptestsrc_filter_deps=gpl
 negate_filter_deps=lut_filter
 perspective_filter_deps=gpl
+pp7_filter_deps=gpl
 ocv_filter_deps=libopencv
 owdenoise_filter_deps=gpl
 pan_filter_deps=swresample
diff --git a/doc/filters.texi b/doc/filters.texi
index f14f6a9..0fa60c6 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -7193,6 +7193,32 @@ pp=hb|y/vb|a
 @end example
 @end itemize
 
+@section pp7
+Apply Postprocessing filter 7. It is variant of the @ref{spp} filter,
+similar to spp = 6 with 7 point DCT, where only the center sample is
+used after IDCT.
+
+The filter accepts the following options:
+
+@table @option
+@item qp
+Force a constant quantization parameter. It accepts an integer in range
+0 to 63. If not set, the filter will use the QP from the video stream
+(if available).
+
+@item mode
+Set thresholding mode. Available modes are:
+
+@table @samp
+@item hard
+Set hard thresholding.
+@item soft
+Set soft thresholding (better de-ringing effect, but likely blurrier).
+@item medium
+Set medium thresholding (good results, default).
+@end table
+@end table
+
 @section psnr
 
 Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index 0ead6c5..3f8016a 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -164,6 +164,7 @@ OBJS-$(CONFIG_PERSPECTIVE_FILTER)+= 
vf_perspective.o
 OBJS-$(CONFIG_PHASE_FILTER)  += vf_phase.o
 OBJS-$(CONFIG_PIXDESCTEST_FILTER)+= vf_pixdesctest.o
 OBJS-$(CONFIG_PP_FILTER) += vf_pp.o
+OBJS-$(CONFIG_PP7_FILTER)+= vf_pp7.o
 OBJS-$(CONFIG_PSNR_FILTER)   += vf_psnr.o dualinput.o 
framesync.o
 OBJS-$(CONFIG_PULLUP_FILTER) += vf_pullup.o
 OBJS-$(CONFIG_REMOVELOGO_FILTER) += bbox.o lswsutils.o lavfutils.o 
vf_removelogo.o
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index 6543629..a330eb9 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -179,6 +179,7 @@ void avfilter_register_all(void)
 REGISTER_FILTER(PHASE,  phase,  vf);
 REGISTER_FILTER(PIXDESCTEST,pixdesctest,vf);
 REGISTER_FILTER(PP, pp, vf);
+REGISTER_FILTER(PP7,pp7,vf);
 REGISTER_FILTER(PSNR,   psnr,   vf);
 REGISTER_FILTER(PULLUP, pullup, vf);
 REGISTER_FILTER(REMOVELOGO, removelogo, vf);
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 50967f4..b931aa9 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -30,7 +30,7 @@
 #include libavutil/version.h
 
 #define LIBAVFILTER_VERSION_MAJOR  5
-#define LIBAVFILTER_VERSION_MINOR  6
+#define LIBAVFILTER_VERSION_MINOR  7
 #define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c
new file mode 100644
index 000..2f071f2
--- /dev/null
+++ b/libavfilter/vf_pp7.c
@@ -0,0 +1,419 @@
+/*
+ * Copyright (c) 2005 Michael Niedermayer michae...@gmx.at
+ * Copyright (c) 2014 Arwa Arif arwaarif1...@gmail.com
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg 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.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

[FFmpeg-cvslog] ffmpeg: Clear error message array at init.

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Thu Jan 
 8 23:02:30 2015 +0100| [f9bbc26e691fb0adbef03e8fd1ea556287fe2af7] | committer: 
Michael Niedermayer

ffmpeg: Clear error message array at init.

This avoids printing uninitialized bytes if no error message is set

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 6d1a2efb8ac399a003ea7d3b6f8c641d192567ee)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 ffmpeg.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index eef774b..2be1004 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2521,7 +2521,7 @@ static int transcode_init(void)
 AVFormatContext *oc;
 OutputStream *ost;
 InputStream *ist;
-char error[1024];
+char error[1024] = {0};
 int want_sdp = 1;
 
 for (i = 0; i  nb_filtergraphs; i++) {

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


[FFmpeg-cvslog] avformat/flvdec: Increase string array size

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Thu Jan 
 1 18:15:16 2015 +0100| [5bb31e856d7c4f0aa3cefbe0d199be4f1cc0c4fb] | committer: 
Michael Niedermayer

avformat/flvdec: Increase string array size

Fixes parsing httphostheader of Scarlatti\,\ Pieter-Jan\ Belder\ -\ Sonata\ 
K113\ in\ A\ major\ -\ Alle.flv

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit eb767a276bfdb9a0493bdb0b38203638230b7ccb)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 568a654..da277a1 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -390,7 +390,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream 
*astream,
 FLVContext *flv = s-priv_data;
 AVIOContext *ioc;
 AMFDataType amf_type;
-char str_val[256];
+char str_val[1024];
 double num_val;
 
 num_val  = 0;

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


[FFmpeg-cvslog] vp9: fix parser return values in error case

2015-01-09 Thread wm4
ffmpeg | branch: release/2.5 | wm4 nfx...@googlemail.com | Fri Jan  9 
02:13:36 2015 +0100| [3032291b3a88fb25e3cf0d09a61792768e84a578] | committer: 
Michael Niedermayer

vp9: fix parser return values in error case

The parser must always set the out_size and out_data pointers. The API
seems to require it, and the common code in parser.c also relies on it.

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit b88e80589bd11ef935a5e9dab53d4edb00de16e4)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/vp9_parser.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/vp9_parser.c b/libavcodec/vp9_parser.c
index af033c2..922f36f 100644
--- a/libavcodec/vp9_parser.c
+++ b/libavcodec/vp9_parser.c
@@ -77,6 +77,8 @@ static int parse(AVCodecParserContext *ctx,
 idx += a; \
 if (sz  size) { \
 s-n_frames = 0; \
+*out_size = 0; \
+*out_data = data; \
 av_log(avctx, AV_LOG_ERROR, \
Superframe packet size too big: %u  %d\n, \
sz, size); \

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


[FFmpeg-cvslog] avformat/mov: Fix mixed declaration and statement warning

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 19:51:38 2015 +0100| [d0041dc8c4d79cf269650d0790956e0eeeb3dc31] | committer: 
Michael Niedermayer

avformat/mov: Fix mixed declaration and statement warning

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit db27f50e0658e91758e8a17fdcf390e6bc93c1d2)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/mov.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 2313674..7455e3b 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -210,10 +210,11 @@ static int mov_read_covr(MOVContext *c, AVIOContext *pb, 
int type, int len)
 static int mov_metadata_raw(MOVContext *c, AVIOContext *pb,
 unsigned len, const char *key)
 {
+char *value;
 // Check for overflow.
 if (len = INT_MAX)
 return AVERROR(EINVAL);
-char *value = av_malloc(len + 1);
+value = av_malloc(len + 1);
 if (!value)
 return AVERROR(ENOMEM);
 avio_read(pb, value, len);

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


[FFmpeg-cvslog] configure: bump year

2015-01-09 Thread James Almer
ffmpeg | branch: release/2.5 | James Almer jamr...@gmail.com | Sat Jan  3 
01:40:02 2015 -0300| [b834dc14da082473e532da2baff1b28ce85f2b49] | committer: 
Michael Niedermayer

configure: bump year

Happy new year!
(cherry picked from commit b8db25a3338b67186837c49580fe538d63dd73c7)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/configure b/configure
index d25f155..9190c4e 100755
--- a/configure
+++ b/configure
@@ -5678,7 +5678,7 @@ cat  $TMPH EOF
 #define FFMPEG_CONFIG_H
 #define FFMPEG_CONFIGURATION $(c_escape $FFMPEG_CONFIGURATION)
 #define FFMPEG_LICENSE $(c_escape $license)
-#define CONFIG_THIS_YEAR 2014
+#define CONFIG_THIS_YEAR 2015
 #define FFMPEG_DATADIR $(eval c_escape $datadir)
 #define AVCONV_DATADIR $(eval c_escape $datadir)
 #define CC_IDENT $(c_escape ${cc_ident:-Unknown compiler})

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


[FFmpeg-cvslog] avformat/flvdec: do not inject dts= 0 metadata packets which failed to be parsed into a new data stream

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Thu Jan 
 1 18:07:24 2015 +0100| [eac0451e47381300fc2944268faf9cda550e6481] | committer: 
Michael Niedermayer

avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed 
into a new data stream

Such data streams (which then contain no other packets except the faulty one)
confuse some user applications, like VLC
Works around vlcticket 12389

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 322f0f5960a743cac47252d90a0f1ea7a025feff)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavformat/flvdec.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 54f2f56..568a654 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -558,13 +558,13 @@ static int flv_read_metabody(AVFormatContext *s, int64_t 
next_pos)
 type = avio_r8(ioc);
 if (type != AMF_DATA_TYPE_STRING ||
 amf_get_string(ioc, buffer, sizeof(buffer))  0)
-return -1;
+return 2;
 
 if (!strcmp(buffer, onTextData))
 return 1;
 
 if (strcmp(buffer, onMetaData)  strcmp(buffer, onCuePoint))
-return -1;
+return 2;
 
 // find the streams now so that amf_parse_object doesn't need to do
 // the lookup every time it is called.
@@ -822,7 +822,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket 
*pkt)
 stream_type=FLV_STREAM_TYPE_DATA;
 if (size  13 + 1 + 4  dts == 0) { // Header-type metadata stuff
 meta_pos = avio_tell(s-pb);
-if (flv_read_metabody(s, next) == 0) {
+if (flv_read_metabody(s, next) = 0) {
 goto skip;
 }
 avio_seek(s-pb, meta_pos, SEEK_SET);

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


[FFmpeg-cvslog] avcodec/dvdsubdec: error on bitmaps with size 0

2015-01-09 Thread wm4
ffmpeg | branch: release/2.5 | wm4 nfx...@googlemail.com | Wed Jan  7 
23:57:50 2015 +0100| [3d71024f8ab35721f674f116ac84d734a1c6d517] | committer: 
Michael Niedermayer

avcodec/dvdsubdec: error on bitmaps with size 0

Attemtping to decode them could lead to invalid writes with some fuzzed
samples.

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit bcaa9099b3648b47060e1724a97dc98b63c83702)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/dvdsubdec.c |3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 20b9d41..08e4195 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -111,6 +111,9 @@ static int decode_rle(uint8_t *bitmap, int linesize, int w, 
int h,
 if (start = buf_size)
 return -1;
 
+if (w = 0 || h = 0)
+return -1;
+
 bit_len = (buf_size - start) * 8;
 init_get_bits(gb, buf + start, bit_len);
 

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


[FFmpeg-cvslog] cmdutils: Use 64bit for file size/ offset related variable in cmdutils_read_file()

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: release/2.5 | Michael Niedermayer michae...@gmx.at | Tue Jan 
 6 13:12:22 2015 +0100| [b3c082412cdaa2a2c82dcca91a57e9cbf1f2a84d] | committer: 
Michael Niedermayer

cmdutils: Use 64bit for file size/offset related variable in 
cmdutils_read_file()

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 369b4cd4120bf67aa5187b6bc72574970a24ca22)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 cmdutils.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmdutils.c b/cmdutils.c
index b68dae9..708b536 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1860,7 +1860,7 @@ int read_yesno(void)
 
 int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
 {
-int ret;
+int64_t ret;
 FILE *f = av_fopen_utf8(filename, rb);
 
 if (!f) {

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


[FFmpeg-cvslog] avcodec/dvdsubdec: fix accessing dangling pointers

2015-01-09 Thread wm4
ffmpeg | branch: release/2.5 | wm4 nfx...@googlemail.com | Thu Jan  8 
17:19:17 2015 +0100| [b895e29941f06ec7c96a8a0a5036cc11274fdb51] | committer: 
Michael Niedermayer

avcodec/dvdsubdec: fix accessing dangling pointers

dvdsub_decode() can call append_to_cached_buf() 2 times, the second time
with ctx-buf as argument. If the second append_to_cached_buf() reallocs
ctx-buf, the argument will be a pointer to the previous, freed block.
This can cause invalid reads at least with some fuzzed files - and
possibly with valid files.

Since packets can apparently not be larger than 64K (even if packets are
combined), just use a fixed size buffer. It will be allocated as part of
the DVDSubContext, and although some memory is wasted, it's relatively
minimal by modern standards and should be acceptable.

Signed-off-by: Michael Niedermayer michae...@gmx.at
(cherry picked from commit 816577716bc6170bccfea3b9e865618b69a4b426)

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/dvdsubdec.c |   12 +++-
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 08e4195..222c71b 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -39,7 +39,7 @@ typedef struct DVDSubContext
   int  has_palette;
   uint8_t  colormap[4];
   uint8_t  alpha[256];
-  uint8_t *buf;
+  uint8_t  buf[0x1];
   int  buf_size;
   int  forced_subs_only;
 #ifdef DEBUG
@@ -509,15 +509,11 @@ static int append_to_cached_buf(AVCodecContext *avctx,
 {
 DVDSubContext *ctx = avctx-priv_data;
 
-if (ctx-buf_size  0x - buf_size) {
+if (ctx-buf_size = sizeof(ctx-buf) - buf_size) {
 av_log(avctx, AV_LOG_WARNING, Attempt to reconstruct 
too large SPU packets aborted.\n);
-av_freep(ctx-buf);
 return AVERROR_INVALIDDATA;
 }
-ctx-buf = av_realloc(ctx-buf, ctx-buf_size + buf_size);
-if (!ctx-buf)
-return AVERROR(ENOMEM);
 memcpy(ctx-buf + ctx-buf_size, buf, buf_size);
 ctx-buf_size += buf_size;
 return 0;
@@ -533,7 +529,7 @@ static int dvdsub_decode(AVCodecContext *avctx,
 AVSubtitle *sub = data;
 int is_menu;
 
-if (ctx-buf) {
+if (ctx-buf_size) {
 int ret = append_to_cached_buf(avctx, buf, buf_size);
 if (ret  0) {
 *data_size = 0;
@@ -575,7 +571,6 @@ static int dvdsub_decode(AVCodecContext *avctx,
 }
 #endif
 
-av_freep(ctx-buf);
 ctx-buf_size = 0;
 *data_size = 1;
 return buf_size;
@@ -719,7 +714,6 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
 static av_cold int dvdsub_close(AVCodecContext *avctx)
 {
 DVDSubContext *ctx = avctx-priv_data;
-av_freep(ctx-buf);
 ctx-buf_size = 0;
 return 0;
 }

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


[FFmpeg-cvslog] avcodec/ass_split: use *alloc_array()

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
20:20:00 2015 +0100| [aefb99f2c0554a10f695eed569f0b94d7e462a34] | committer: 
Michael Niedermayer

avcodec/ass_split: use *alloc_array()

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/ass_split.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/ass_split.c b/libavcodec/ass_split.c
index cc4f961..2458cb9 100644
--- a/libavcodec/ass_split.c
+++ b/libavcodec/ass_split.c
@@ -207,7 +207,7 @@ static uint8_t *realloc_section_array(ASSSplitContext *ctx)
 const ASSSection *section = ass_sections[ctx-current_section];
 int *count = (int *)((uint8_t *)ctx-ass + section-offset_count);
 void **section_ptr = (void **)((uint8_t *)ctx-ass + section-offset);
-uint8_t *tmp = av_realloc(*section_ptr, (*count+1)*section-size);
+uint8_t *tmp = av_realloc_array(*section_ptr, (*count+1), section-size);
 if (!tmp)
 return NULL;
 *section_ptr = tmp;
@@ -232,7 +232,7 @@ static inline const char *skip_space(const char *buf)
 static int *get_default_field_orders(const ASSSection *section)
 {
 int i;
-int *order = av_malloc(FF_ARRAY_ELEMS(section-fields) * sizeof(*order));
+int *order = av_malloc_array(FF_ARRAY_ELEMS(section-fields), 
sizeof(*order));
 
 if (!order)
 return NULL;
@@ -265,7 +265,7 @@ static const char *ass_split_section(ASSSplitContext *ctx, 
const char *buf)
 while (!is_eol(*buf)) {
 buf = skip_space(buf);
 len = strcspn(buf, , \r\n);
-if (!(tmp = av_realloc(order, (*number + 1) * sizeof(*order
+if (!(tmp = av_realloc_array(order, (*number + 1), 
sizeof(*order
 return NULL;
 order = tmp;
 order[*number] = -1;

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


[FFmpeg-cvslog] mpeg4audio: check the init_get_bits() return value

2015-01-09 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov an...@khirnov.net | Thu Jan  1 
17:56:56 2015 +0100| [7e4e010b80e76862e83afbd41c25d50e72f0b44c] | committer: 
Anton Khirnov

mpeg4audio: check the init_get_bits() return value

Fixes possible invalid reads.

CC:libav-sta...@libav.org

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

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

diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c
index 0fb9b96..2363cb6 100644
--- a/libavcodec/mpeg4audio.c
+++ b/libavcodec/mpeg4audio.c
@@ -80,9 +80,11 @@ int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const 
uint8_t *buf,
  int bit_size, int sync_extension)
 {
 GetBitContext gb;
-int specific_config_bitindex;
+int specific_config_bitindex, ret;
 
-init_get_bits(gb, buf, bit_size);
+ret = init_get_bits(gb, buf, bit_size);
+if (ret  0)
+return ret;
 c-object_type = get_object_type(gb);
 c-sample_rate = get_sample_rate(gb, c-sampling_index);
 c-chan_config = get_bits(gb, 4);

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


[FFmpeg-cvslog] Merge commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c'

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
20:51:17 2015 +0100| [1cf0f27985965c28049b7a8481c859867dad3948] | committer: 
Michael Niedermayer

Merge commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c'

* commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c':
  mpeg4audio: check the init_get_bits() return value

Conflicts:
libavcodec/mpeg4audio.c

See: deefdf9788467edd262b9c29a4f6e33d2ae84b8c
Merged-by: Michael Niedermayer michae...@gmx.at

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



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


[FFmpeg-cvslog] matroskaenc: refuse to write AAC without valid extradata

2015-01-09 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov an...@khirnov.net | Thu Jan  1 
18:22:46 2015 +0100| [51da7d02748cc54b7d009115e76efa940b99a8ef] | committer: 
Anton Khirnov

matroskaenc: refuse to write AAC without valid extradata

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

 libavformat/matroskaenc.c |   16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 1d55b66..3427c59 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -520,20 +520,21 @@ static int put_flac_codecpriv(AVFormatContext *s,
 return 0;
 }
 
-static void get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec,
- int *sample_rate, int *output_sample_rate)
+static int get_aac_sample_rates(AVFormatContext *s, AVCodecContext *codec,
+int *sample_rate, int *output_sample_rate)
 {
 MPEG4AudioConfig mp4ac;
 
 if (avpriv_mpeg4audio_get_config(mp4ac, codec-extradata,
  codec-extradata_size * 8, 1)  0) {
-av_log(s, AV_LOG_WARNING,
+av_log(s, AV_LOG_ERROR,
Error parsing AAC extradata, unable to determine 
samplerate.\n);
-return;
+return AVERROR(EINVAL);
 }
 
 *sample_rate= mp4ac.sample_rate;
 *output_sample_rate = mp4ac.ext_sample_rate;
+return 0;
 }
 
 static int mkv_write_native_codecprivate(AVFormatContext *s,
@@ -748,8 +749,11 @@ static int mkv_write_track(AVFormatContext *s, 
MatroskaMuxContext *mkv,
 if (!bit_depth)
 bit_depth = av_get_bytes_per_sample(codec-sample_fmt)  3;
 
-if (codec-codec_id == AV_CODEC_ID_AAC)
-get_aac_sample_rates(s, codec, sample_rate, output_sample_rate);
+if (codec-codec_id == AV_CODEC_ID_AAC) {
+ret = get_aac_sample_rates(s, codec, sample_rate, 
output_sample_rate);
+if (ret  0)
+return ret;
+}
 
 track = start_ebml_master(pb, MATROSKA_ID_TRACKENTRY, 0);
 put_ebml_uint (pb, MATROSKA_ID_TRACKNUMBER , i + 1);

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


[FFmpeg-cvslog] Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
21:25:26 2015 +0100| [f95cd5a235bae89510cfe4320f2189c9cfbcc457] | committer: 
Michael Niedermayer

Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'

* commit '51da7d02748cc54b7d009115e76efa940b99a8ef':
  matroskaenc: refuse to write AAC without valid extradata

Merged-by: Michael Niedermayer michae...@gmx.at

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



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


[FFmpeg-cvslog] vp9: fix parser return values in error case

2015-01-09 Thread wm4
ffmpeg | branch: master | wm4 nfx...@googlemail.com | Fri Jan  9 02:13:36 
2015 +0100| [b88e80589bd11ef935a5e9dab53d4edb00de16e4] | committer: Michael 
Niedermayer

vp9: fix parser return values in error case

The parser must always set the out_size and out_data pointers. The API
seems to require it, and the common code in parser.c also relies on it.

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

 libavcodec/vp9_parser.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/vp9_parser.c b/libavcodec/vp9_parser.c
index af033c2..922f36f 100644
--- a/libavcodec/vp9_parser.c
+++ b/libavcodec/vp9_parser.c
@@ -77,6 +77,8 @@ static int parse(AVCodecParserContext *ctx,
 idx += a; \
 if (sz  size) { \
 s-n_frames = 0; \
+*out_size = 0; \
+*out_data = data; \
 av_log(avctx, AV_LOG_ERROR, \
Superframe packet size too big: %u  %d\n, \
sz, size); \

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


[FFmpeg-cvslog] avformat/tee: Simplify code by using avio_closep()

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
13:40:09 2015 +0100| [ef3a6a48b56dce552f4bc8b60403d2d53484c2f8] | committer: 
Michael Niedermayer

avformat/tee: Simplify code by using avio_closep()

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/tee.c b/libavformat/tee.c
index 681f943..e3d466a 100644
--- a/libavformat/tee.c
+++ b/libavformat/tee.c
@@ -305,8 +305,7 @@ static void close_slaves(AVFormatContext *avf)
 av_freep(tee-slaves[i].stream_map);
 av_freep(tee-slaves[i].bsfs);
 
-avio_close(avf2-pb);
-avf2-pb = NULL;
+avio_closep(avf2-pb);
 avformat_free_context(avf2);
 tee-slaves[i].avf = NULL;
 }
@@ -437,10 +436,9 @@ static int tee_write_trailer(AVFormatContext *avf)
 if (!ret_all)
 ret_all = ret;
 if (!(avf2-oformat-flags  AVFMT_NOFILE)) {
-if ((ret = avio_close(avf2-pb))  0)
+if ((ret = avio_closep(avf2-pb))  0)
 if (!ret_all)
 ret_all = ret;
-avf2-pb = NULL;
 }
 }
 close_slaves(avf);

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


[FFmpeg-cvslog] avformat/utils: Use avio_closep() to avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
13:39:06 2015 +0100| [2959a612326c5e473518eb91c4b66020468a11fe] | committer: 
Michael Niedermayer

avformat/utils: Use avio_closep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 7581957..cb8b42b 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -496,7 +496,7 @@ fail:
 ff_id3v2_free_extra_meta(id3v2_extra_meta);
 av_dict_free(tmp);
 if (s-pb  !(s-flags  AVFMT_FLAG_CUSTOM_IO))
-avio_close(s-pb);
+avio_closep(s-pb);
 avformat_free_context(s);
 *ps = NULL;
 return ret;

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


[FFmpeg-cvslog] avformat/sapenc: Use avio_closep() to avoid leaving stale pointers in memory

2015-01-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer michae...@gmx.at | Fri Jan  9 
13:39:48 2015 +0100| [643dee846addc190fe2596ca8d9b53bafeba080f] | committer: 
Michael Niedermayer

avformat/sapenc: Use avio_closep() to avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer michae...@gmx.at

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

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

diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c
index f909557..07fbf48 100644
--- a/libavformat/sapenc.c
+++ b/libavformat/sapenc.c
@@ -49,7 +49,7 @@ static int sap_write_close(AVFormatContext *s)
 if (!rtpctx)
 continue;
 av_write_trailer(rtpctx);
-avio_close(rtpctx-pb);
+avio_closep(rtpctx-pb);
 avformat_free_context(rtpctx);
 s-streams[i]-priv_data = NULL;
 }

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