[FFmpeg-cvslog] af_hdcd: Add analyze mode

2016-08-08 Thread Burt P
ffmpeg | branch: master | Burt P  | Sun Aug  7 02:48:21 2016 
-0500| [b2b659b17df235d49f2d164a1a8284dae37a2133] | committer: Burt P

af_hdcd: Add analyze mode

A new mode, selected by filter option, to aid in analysis of HDCD
encoded audio. In this mode the audio is replaced by a solid tone and
the amplitude is adjusted to signal some specified aspect of the process.
The output file can be loaded in an audio editor alongside the original,
where the user can see where different features or states are present.

Signed-off-by: Burt P 

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

 doc/filters.texi  |  32 ++
 libavfilter/af_hdcd.c | 163 +++---
 2 files changed, 187 insertions(+), 8 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 969df5e..bf95e0f 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -8356,6 +8356,38 @@ ffmpeg -i HDCD16.wav -af hdcd OUT16.wav
 ffmpeg -i HDCD16.wav -af hdcd -acodec pcm_s24le OUT24.wav
 @end example
 
+The filter accepts the following options:
+
+@table @option
+@item process_stereo
+Process the stereo channels together. If target_gain does not match between
+channels, consider it invalid and use the last valid target_gain.
+
+@item force_pe
+Always extend peaks above -3dBFS even if PE isn't signaled.
+
+@item analyze_mode
+Replace audio with a solid tone and adjust the amplitude to signal some
+specific aspect of the decoding process. The output file can be loaded in
+an audio editor alongside the original to aid analysis.
+
+@code{analyze_mode=pe:force_pe=1} can be used to see all samples above the PE 
level.
+
+Modes are:
+@table @samp
+@item 0, off
+Disabled
+@item 1, lle
+Gain adjustment level at each sample
+@item 2, pe
+Samples where peak extend occurs
+@item 3, cdt
+Samples where the code detect timer is active
+@item 4, tgm
+Samples where the target gain does not match between channels
+@end table
+@end table
+
 @section hflip
 
 Flip the input video horizontally.
diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c
index 610dd9e..e4e37e2 100644
--- a/libavfilter/af_hdcd.c
+++ b/libavfilter/af_hdcd.c
@@ -870,6 +870,26 @@ static const char * const pe_str[] = {
  * the always-negative value is stored positive, so make it negative */
 #define GAINTOFLOAT(g) (g) ? -(float)(g>>1) - ((g & 1) ? 0.5 : 0.0) : 0.0
 
+#define HDCD_ANA_OFF 0
+#define HDCD_ANA_OFF_DESC "disabled"
+#define HDCD_ANA_LLE 1
+#define HDCD_ANA_LLE_DESC "gain adjustment level at each sample"
+#define HDCD_ANA_PE  2
+#define HDCD_ANA_PE_DESC  "samples where peak extend occurs"
+#define HDCD_ANA_CDT 3
+#define HDCD_ANA_CDT_DESC "samples where the code detect timer is active"
+#define HDCD_ANA_TGM 4
+#define HDCD_ANA_TGM_DESC "samples where the target gain does not match 
between channels"
+#define HDCD_ANA_TOP 5 /* used in max value of AVOption */
+
+static const char * const ana_mode_str[] = {
+HDCD_ANA_OFF_DESC,
+HDCD_ANA_LLE_DESC,
+HDCD_ANA_PE_DESC,
+HDCD_ANA_CDT_DESC,
+HDCD_ANA_TGM_DESC,
+};
+
 typedef struct HDCDContext {
 const AVClass *class;
 hdcd_state_t state[HDCD_MAX_CHANNELS];
@@ -885,6 +905,12 @@ typedef struct HDCDContext {
  * default is off */
 int force_pe;
 
+/* analyze mode replaces the audio with a solid tone and adjusts
+ * the amplitude to signal some specific aspect of the decoding
+ * process. See docs or HDCD_ANA_* defines. */
+int analyze_mode;
+int ana_snb;/* used in tone generation */
+
 /* config_input() and config_output() scan links for any resampling
  * or format changes. If found, warnings are issued and bad_config
  * is set. */
@@ -909,6 +935,13 @@ static const AVOption hdcd_options[] = {
 OFFSET(process_stereo), AV_OPT_TYPE_BOOL, { .i64 = 
HDCD_PROCESS_STEREO_DEFAULT }, 0, 1, A },
 { "force_pe", "Always extend peaks above -3dBFS even when PE is not 
signaled.",
 OFFSET(force_pe), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, A },
+{ "analyze_mode",  "Replace audio with solid tone and signal some 
processing aspect in the amplitude.",
+OFFSET(analyze_mode), AV_OPT_TYPE_INT, { .i64=HDCD_ANA_OFF }, 0, 
HDCD_ANA_TOP-1, A, "analyze_mode"},
+{ "off", HDCD_ANA_OFF_DESC, 0, AV_OPT_TYPE_CONST, {.i64=HDCD_ANA_OFF}, 
0, 0, A, "analyze_mode" },
+{ "lle", HDCD_ANA_LLE_DESC, 0, AV_OPT_TYPE_CONST, {.i64=HDCD_ANA_LLE}, 
0, 0, A, "analyze_mode" },
+{ "pe",  HDCD_ANA_PE_DESC,  0, AV_OPT_TYPE_CONST, {.i64=HDCD_ANA_PE},  
0, 0, A, "analyze_mode" },
+{ "cdt", HDCD_ANA_CDT_DESC, 0, AV_OPT_TYPE_CONST, {.i64=HDCD_ANA_CDT}, 
0, 0, A, "analyze_mode" },
+{ "tgm", HDCD_ANA_TGM_DESC, 0, AV_OPT_TYPE_CONST, {.i64=HDCD_ANA_TGM}, 
0, 0, A, "analyze_mode" },
 {NULL}
 };
 
@@ -1209,6 +1242,77 @@ static int hdcd_scan_stereo(HDCDContext *ctx, const 
int32_t *samples, int max)
 return result;
 }
 
+/* encode a value in

[FFmpeg-cvslog] af_hdcd: Don't warn if converting from AV_SAMPLE_FMT_S16P

2016-08-08 Thread Burt P
ffmpeg | branch: master | Burt P  | Mon Aug  8 11:14:08 2016 
-0500| [dbd7a84c814161926e5f298eae1f5ea17082f814] | committer: Burt P

af_hdcd: Don't warn if converting from AV_SAMPLE_FMT_S16P

Also checking AVFilterLink->type is AVMEDIA_TYPE_AUDIO before
calling av_get_sample_fmt_name() on AVFilterLink->format.

Signed-off-by: Burt P 

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

 libavfilter/af_hdcd.c | 34 --
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c
index e4e37e2..9377eb6 100644
--- a/libavfilter/af_hdcd.c
+++ b/libavfilter/af_hdcd.c
@@ -1714,13 +1714,17 @@ static int config_input(AVFilterLink *inlink) {
 AVFilterLink *lk = inlink;
 while(lk != NULL) {
 AVFilterContext *nextf = lk->src;
-if (lk->format != AV_SAMPLE_FMT_S16 || lk->sample_rate != 44100) {
-av_log(ctx, AV_LOG_WARNING, "An input format is %s@%dHz at %s. It 
will truncated/resampled to s16@44100Hz.\n",
-av_get_sample_fmt_name(lk->format), lk->sample_rate,
-(nextf->name) ? nextf->name : ""
-);
-s->bad_config = 1;
-break;
+if (lk->type == AVMEDIA_TYPE_AUDIO) {
+int sfok = (lk->format == AV_SAMPLE_FMT_S16 ||
+lk->format == AV_SAMPLE_FMT_S16P);
+if ( !sfok || lk->sample_rate != 44100) {
+av_log(ctx, AV_LOG_WARNING, "An input format is %s@%dHz at %s. 
It will truncated/resampled to s16@44100Hz.\n",
+av_get_sample_fmt_name(lk->format), lk->sample_rate,
+(nextf->name) ? nextf->name : ""
+);
+s->bad_config = 1;
+break;
+}
 }
 lk = (nextf->inputs) ? nextf->inputs[0] : NULL;
 }
@@ -1746,13 +1750,15 @@ static int config_output(AVFilterLink *outlink) {
 AVFilterLink *lk = outlink;
 while(lk != NULL) {
 AVFilterContext *nextf = lk->dst;
-if (lk->format == AV_SAMPLE_FMT_S16 || lk->format == AV_SAMPLE_FMT_U8) 
{
-av_log(ctx, AV_LOG_WARNING, "s24 output is being truncated to %s 
at %s. (Try -f s24le after the filter)\n",
-av_get_sample_fmt_name(lk->format),
-(nextf->name) ? nextf->name : ""
-);
-s->bad_config = 1;
-break;
+if (lk->type == AVMEDIA_TYPE_AUDIO) {
+if (lk->format == AV_SAMPLE_FMT_S16 || lk->format == 
AV_SAMPLE_FMT_U8) {
+av_log(ctx, AV_LOG_WARNING, "s24 output is being truncated to 
%s at %s.\n",
+av_get_sample_fmt_name(lk->format),
+(nextf->name) ? nextf->name : ""
+);
+s->bad_config = 1;
+break;
+}
 }
 lk = (nextf->outputs) ? nextf->outputs[0] : NULL;
 }

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


[FFmpeg-cvslog] avformat/id3v2: Mark variable as unused to avoid "set but not used" warning

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Aug  8 14:36:04 2016 +0200| [65298a192a9292eb56739b4100e4aa51ce2a9aab] | 
committer: Michael Niedermayer

avformat/id3v2: Mark variable as unused to avoid "set but not used" warning

Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 380a982..921a7c2 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -408,7 +408,7 @@ static void read_comment(AVFormatContext *s, AVIOContext 
*pb, int taglen,
 const char *key = "comment";
 uint8_t *dst;
 int encoding, dict_flags = AV_DICT_DONT_OVERWRITE | 
AV_DICT_DONT_STRDUP_VAL;
-int language;
+av_unused int language;
 
 if (taglen < 4)
 return;

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


[FFmpeg-cvslog] avcodec/rawdec: Fix palette handling with changing palettes

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Thu 
Aug  4 12:26:41 2016 +0200| [6aa39080ccea2b60433e920417844c3a3c0da50b] | 
committer: Michael Niedermayer

avcodec/rawdec: Fix palette handling with changing palettes

Fixes out of array access

Fixes: poc.swf
Found-by: 连一汉 
Signed-off-by: Michael Niedermayer 

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

 libavcodec/rawdec.c | 25 +
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 765e567..f97a839 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -365,20 +365,29 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 if (avctx->pix_fmt == AV_PIX_FMT_PAL8) {
 const uint8_t *pal = av_packet_get_side_data(avpkt, 
AV_PKT_DATA_PALETTE,
  NULL);
-if (pal) {
-av_buffer_unref(&context->palette);
+int ret;
+if (!context->palette)
 context->palette = av_buffer_alloc(AVPALETTE_SIZE);
-if (!context->palette) {
-av_buffer_unref(&frame->buf[0]);
-return AVERROR(ENOMEM);
-}
+if (!context->palette) {
+av_buffer_unref(&frame->buf[0]);
+return AVERROR(ENOMEM);
+}
+ret = av_buffer_make_writable(&context->palette);
+if (ret < 0) {
+av_buffer_unref(&frame->buf[0]);
+return ret;
+}
+
+if (pal) {
 memcpy(context->palette->data, pal, AVPALETTE_SIZE);
 frame->palette_has_changed = 1;
 } else if (context->is_nut_pal8) {
 int vid_size = avctx->width * avctx->height;
-if (avpkt->size - vid_size) {
+int pal_size = avpkt->size - vid_size;
+
+if (avpkt->size > vid_size && pal_size <= AVPALETTE_SIZE) {
 pal = avpkt->data + vid_size;
-memcpy(context->palette->data, pal, avpkt->size - vid_size);
+memcpy(context->palette->data, pal, pal_size);
 frame->palette_has_changed = 1;
 }
 }

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


[FFmpeg-cvslog] cmdutils: remove the current working directory from the DLL search path on win32

2016-08-08 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Mon Aug  8 
15:27:41 2016 +0200| [3bf142c77337814458ed8e036796934032d9837f] | committer: 
Michael Niedermayer

cmdutils: remove the current working directory from the DLL search path on win32

Reviewed-by: Matt Oliver 
Signed-off-by: Michael Niedermayer 

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

 cmdutils.c | 9 +
 cmdutils.h | 5 +
 ffmpeg.c   | 2 ++
 ffplay.c   | 2 ++
 ffprobe.c  | 2 ++
 ffserver.c | 1 +
 6 files changed, 21 insertions(+)

diff --git a/cmdutils.c b/cmdutils.c
index 03a4836..6960f8c 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -107,6 +107,15 @@ static void log_callback_report(void *ptr, int level, 
const char *fmt, va_list v
 }
 }
 
+void init_dynload(void)
+{
+#ifdef _WIN32
+/* Calling SetDllDirectory with the empty string (but not NULL) removes the
+ * current working directory from the DLL search path as a security 
pre-caution. */
+SetDllDirectory("");
+#endif
+}
+
 static void (*program_exit)(int ret);
 
 void register_exit(void (*cb)(int ret))
diff --git a/cmdutils.h b/cmdutils.h
index 83ea4ad..67bf484 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -62,6 +62,11 @@ void register_exit(void (*cb)(int ret));
 void exit_program(int ret) av_noreturn;
 
 /**
+ * Initialize dynamic library loading
+ */
+void init_dynload(void);
+
+/**
  * Initialize the cmdutils option system, in particular
  * allocate the *_opts contexts.
  */
diff --git a/ffmpeg.c b/ffmpeg.c
index d6282bd..bae515d 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -4293,6 +4293,8 @@ int main(int argc, char **argv)
 int ret;
 int64_t ti;
 
+init_dynload();
+
 register_exit(ffmpeg_cleanup);
 
 setvbuf(stderr,NULL,_IONBF,0); /* win32 runtime needs this */
diff --git a/ffplay.c b/ffplay.c
index 651e0cf..adbe9cb 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -3776,6 +3776,8 @@ int main(int argc, char **argv)
 char dummy_videodriver[] = "SDL_VIDEODRIVER=dummy";
 char alsa_bufsize[] = "SDL_AUDIO_ALSA_SET_BUFFER_SIZE=1";
 
+init_dynload();
+
 av_log_set_flags(AV_LOG_SKIP_REPEATED);
 parse_loglevel(argc, argv, options);
 
diff --git a/ffprobe.c b/ffprobe.c
index a49be6a..657867d 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -3241,6 +3241,8 @@ int main(int argc, char **argv)
 char *w_name = NULL, *w_args = NULL;
 int ret, i;
 
+init_dynload();
+
 av_log_set_flags(AV_LOG_SKIP_REPEATED);
 register_exit(ffprobe_cleanup);
 
diff --git a/ffserver.c b/ffserver.c
index 1a27583..453d790 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3980,6 +3980,7 @@ int main(int argc, char **argv)
 int cfg_parsed;
 int ret = EXIT_FAILURE;
 
+init_dynload();
 
 config.filename = av_strdup("/etc/ffserver.conf");
 

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


[FFmpeg-cvslog] cmdutils: remove the current working directory from the DLL search path on win32

2016-08-08 Thread Hendrik Leppkes
ffmpeg | branch: release/3.1 | Hendrik Leppkes  | Mon Aug  
8 15:27:41 2016 +0200| [9745c5ebf87311657b7ba42eb36a7b05de57cb07] | committer: 
Michael Niedermayer

cmdutils: remove the current working directory from the DLL search path on win32

Reviewed-by: Matt Oliver 
Signed-off-by: Michael Niedermayer 
(cherry picked from commit 3bf142c77337814458ed8e036796934032d9837f)
Signed-off-by: Michael Niedermayer 

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

 cmdutils.c | 9 +
 cmdutils.h | 5 +
 ffmpeg.c   | 2 ++
 ffplay.c   | 2 ++
 ffprobe.c  | 2 ++
 ffserver.c | 1 +
 6 files changed, 21 insertions(+)

diff --git a/cmdutils.c b/cmdutils.c
index 03a4836..6960f8c 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -107,6 +107,15 @@ static void log_callback_report(void *ptr, int level, 
const char *fmt, va_list v
 }
 }
 
+void init_dynload(void)
+{
+#ifdef _WIN32
+/* Calling SetDllDirectory with the empty string (but not NULL) removes the
+ * current working directory from the DLL search path as a security 
pre-caution. */
+SetDllDirectory("");
+#endif
+}
+
 static void (*program_exit)(int ret);
 
 void register_exit(void (*cb)(int ret))
diff --git a/cmdutils.h b/cmdutils.h
index 83ea4ad..67bf484 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -62,6 +62,11 @@ void register_exit(void (*cb)(int ret));
 void exit_program(int ret) av_noreturn;
 
 /**
+ * Initialize dynamic library loading
+ */
+void init_dynload(void);
+
+/**
  * Initialize the cmdutils option system, in particular
  * allocate the *_opts contexts.
  */
diff --git a/ffmpeg.c b/ffmpeg.c
index 9ffd833..b26995d 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -4303,6 +4303,8 @@ int main(int argc, char **argv)
 int ret;
 int64_t ti;
 
+init_dynload();
+
 register_exit(ffmpeg_cleanup);
 
 setvbuf(stderr,NULL,_IONBF,0); /* win32 runtime needs this */
diff --git a/ffplay.c b/ffplay.c
index 651e0cf..adbe9cb 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -3776,6 +3776,8 @@ int main(int argc, char **argv)
 char dummy_videodriver[] = "SDL_VIDEODRIVER=dummy";
 char alsa_bufsize[] = "SDL_AUDIO_ALSA_SET_BUFFER_SIZE=1";
 
+init_dynload();
+
 av_log_set_flags(AV_LOG_SKIP_REPEATED);
 parse_loglevel(argc, argv, options);
 
diff --git a/ffprobe.c b/ffprobe.c
index b9c3760..aee9ba9 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -3241,6 +3241,8 @@ int main(int argc, char **argv)
 char *w_name = NULL, *w_args = NULL;
 int ret, i;
 
+init_dynload();
+
 av_log_set_flags(AV_LOG_SKIP_REPEATED);
 register_exit(ffprobe_cleanup);
 
diff --git a/ffserver.c b/ffserver.c
index 1a27583..453d790 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3980,6 +3980,7 @@ int main(int argc, char **argv)
 int cfg_parsed;
 int ret = EXIT_FAILURE;
 
+init_dynload();
 
 config.filename = av_strdup("/etc/ffserver.conf");
 

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


[FFmpeg-cvslog] avcodec/raw: Fix decoding of ilacetest.mov

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: release/3.1 | Michael Niedermayer  | 
Sun Aug  7 16:27:31 2016 +0200| [e160064d39d5f08a1b206660b6ad8855acb8897d] | 
committer: Michael Niedermayer

avcodec/raw: Fix decoding of ilacetest.mov

Signed-off-by: Michael Niedermayer 
(cherry picked from commit bbec14de3126dbc4e1ec2b32ed714dab173386aa)
Signed-off-by: Michael Niedermayer 

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

 libavcodec/raw.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/raw.c b/libavcodec/raw.c
index bfa2537..d36b68b 100644
--- a/libavcodec/raw.c
+++ b/libavcodec/raw.c
@@ -31,6 +31,7 @@
 const PixelFormatTag ff_raw_pix_fmt_tags[] = {
 { AV_PIX_FMT_YUV420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */
 { AV_PIX_FMT_YUV420P, MKTAG('I', 'Y', 'U', 'V') },
+{ AV_PIX_FMT_YUV420P, MKTAG('y', 'v', '1', '2') },
 { AV_PIX_FMT_YUV420P, MKTAG('Y', 'V', '1', '2') },
 { AV_PIX_FMT_YUV410P, MKTAG('Y', 'U', 'V', '9') },
 { AV_PIX_FMT_YUV410P, MKTAG('Y', 'V', 'U', '9') },

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


[FFmpeg-cvslog] avcodec/rawdec: Fix palette handling with changing palettes

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: release/3.1 | Michael Niedermayer  | 
Thu Aug  4 12:26:41 2016 +0200| [19d2921bbfec13c7a843bdbdb5687cf821b02cff] | 
committer: Michael Niedermayer

avcodec/rawdec: Fix palette handling with changing palettes

Fixes out of array access

Fixes: poc.swf
Found-by: 连一汉 
Signed-off-by: Michael Niedermayer 
(cherry picked from commit 6aa39080ccea2b60433e920417844c3a3c0da50b)
Signed-off-by: Michael Niedermayer 

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

 libavcodec/rawdec.c | 25 +
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 765e567..f97a839 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -365,20 +365,29 @@ static int raw_decode(AVCodecContext *avctx, void *data, 
int *got_frame,
 if (avctx->pix_fmt == AV_PIX_FMT_PAL8) {
 const uint8_t *pal = av_packet_get_side_data(avpkt, 
AV_PKT_DATA_PALETTE,
  NULL);
-if (pal) {
-av_buffer_unref(&context->palette);
+int ret;
+if (!context->palette)
 context->palette = av_buffer_alloc(AVPALETTE_SIZE);
-if (!context->palette) {
-av_buffer_unref(&frame->buf[0]);
-return AVERROR(ENOMEM);
-}
+if (!context->palette) {
+av_buffer_unref(&frame->buf[0]);
+return AVERROR(ENOMEM);
+}
+ret = av_buffer_make_writable(&context->palette);
+if (ret < 0) {
+av_buffer_unref(&frame->buf[0]);
+return ret;
+}
+
+if (pal) {
 memcpy(context->palette->data, pal, AVPALETTE_SIZE);
 frame->palette_has_changed = 1;
 } else if (context->is_nut_pal8) {
 int vid_size = avctx->width * avctx->height;
-if (avpkt->size - vid_size) {
+int pal_size = avpkt->size - vid_size;
+
+if (avpkt->size > vid_size && pal_size <= AVPALETTE_SIZE) {
 pal = avpkt->data + vid_size;
-memcpy(context->palette->data, pal, avpkt->size - vid_size);
+memcpy(context->palette->data, pal, pal_size);
 frame->palette_has_changed = 1;
 }
 }

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


[FFmpeg-cvslog] avformat/mov: Enable mp3 parsing if a packet needs it

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: release/3.1 | Michael Niedermayer  | 
Sat Jul 16 23:27:54 2016 +0200| [a75a7feebd42fb1e8a4ce755de4ea2a307e19762] | 
committer: Michael Niedermayer

avformat/mov: Enable mp3 parsing if a packet needs it

Fixes Ticket5689

Signed-off-by: Michael Niedermayer 
(cherry picked from commit 803c058a6f0c835c3094621d03d6e8c02565f28e)
Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 33ee799..7266fd0 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -43,6 +43,7 @@
 #include "libavutil/sha.h"
 #include "libavutil/timecode.h"
 #include "libavcodec/ac3tab.h"
+#include "libavcodec/mpegaudiodecheader.h"
 #include "avformat.h"
 #include "internal.h"
 #include "avio_internal.h"
@@ -5222,6 +5223,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket 
*pkt)
 return ret;
 }
 #endif
+if (st->codecpar->codec_id == AV_CODEC_ID_MP3 && !st->need_parsing && 
pkt->size > 4) {
+if (ff_mpa_check_header(AV_RB32(pkt->data)) < 0)
+st->need_parsing = AVSTREAM_PARSE_FULL;
+}
 }
 
 pkt->stream_index = sc->ffindex;

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


[FFmpeg-cvslog] Update for 3.1.2

2016-08-08 Thread Michael Niedermayer
ffmpeg | branch: release/3.1 | Michael Niedermayer  | 
Mon Aug  8 21:42:18 2016 +0200| [4275b27a230008c41c63397871f173952723e2b2] | 
committer: Michael Niedermayer

Update for 3.1.2

Signed-off-by: Michael Niedermayer 

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

 Changelog| 31 +++
 RELEASE  |  2 +-
 doc/Doxyfile |  2 +-
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 2a87916..6100077 100644
--- a/Changelog
+++ b/Changelog
@@ -4,6 +4,37 @@ releases are sorted from youngest to oldest.
 version :
 
 
+version 3.1.2:
+- cmdutils: remove the current working directory from the DLL search path on 
win32
+- avcodec/rawdec: Fix palette handling with changing palettes
+- avcodec/raw: Fix decoding of ilacetest.mov
+- avformat/mov: Enable mp3 parsing if a packet needs it
+- avformat/hls: Use an array instead of stream offset for stream mapping
+- avformat/hls: Sync starting segment across variants on live streams
+- avformat/hls: Fix regression with ranged media segments
+- avcodec/ffv1enc: Fix assertion failure with non zero bits per sample
+- avfilter/af_hdcd: small fix in af_hdcd.c where gain was not being adjusted 
for "attenuate slowly"
+- avformat/oggdec: Fix integer overflow with invalid pts
+- ffplay: Fix invalid array index
+- avcodec/alacenc: allocate bigger packets (cherry picked from commit 
82b84c71b009884c8d041361027718b19922c76d)
+- libavcodec/dnxhd: Enable 12-bit DNxHR support.
+- lavc/vaapi_encode_h26x: Fix a crash if "." is not the decimal separator.
+- jni: Return ENOSYS on unsupported platforms
+- lavu/hwcontext_vaapi: Fix compilation if VA_FOURCC_ABGR is not defined.
+- avcodec/vp9_parser: Check the input frame sizes for being consistent
+- avformat/flvdec: parse keyframe before a\v stream was created 
add_keyframes_index() when stream created or keyframe parsed
+- avformat/flvdec: splitting add_keyframes_index() out from 
parse_keyframes_index()
+- libavformat/rtpdec_asf: zero initialize the AVIOContext struct
+- libavutil/opt: Small bugfix in example.
+- libx264: Increase x264 opts character limit to 4096
+- avcodec/h264_parser: Set sps/pps_ref
+- librtmp: Avoid an infiniloop setting connection arguments
+- avformat/oggparsevp8: fix pts calculation on pages ending with an invisible 
frame
+- lavc/Makefile: Fix standalone compilation of the svq3 decoder.
+- lavf/vplayerdec: Improve auto-detection.
+- lavc/mediacodecdec_h264: properly convert extradata to annex-b
+- Revert "configure: Enable GCC vectorization on ≥4.9 on x86"
+
 version 3.1.1:
 - doc/APIchanges: document the lavu/lavf field moves
 - avformat/avformat: Move new field to the end of AVStream
diff --git a/RELEASE b/RELEASE
index 94ff29c..ef538c2 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1 +1 @@
-3.1.1
+3.1.2
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 68c0679..20dcf77 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME   = FFmpeg
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER = 3.1.1
+PROJECT_NUMBER = 3.1.2
 
 # With the PROJECT_LOGO tag one can specify a logo or icon that is included
 # in the documentation. The maximum height of the logo should not exceed 55

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


[FFmpeg-cvslog] docs/filters: Fix parameter names for colorspace filter

2016-08-08 Thread Derek Buitenhuis
ffmpeg | branch: master | Derek Buitenhuis  | Mon 
Aug  8 15:26:30 2016 +0100| [26695aedc200867acc32c89bae0fa0fc6f7d512a] | 
committer: Paul B Mahol

docs/filters: Fix parameter names for colorspace filter

They were erroneously set to the name of the unit instead of
the parameter name.

Signed-off-by: Derek Buitenhuis 

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

 doc/filters.texi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index bf95e0f..73c4ada 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -5177,7 +5177,7 @@ BT.2020 for 12-bits content
 
 @end table
 
-@item prm
+@item primaries
 Specify output color primaries.
 
 The accepted values are:
@@ -5202,7 +5202,7 @@ BT.2020
 
 @end table
 
-@item rng
+@item range
 Specify output color range.
 
 The accepted values are:

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


[FFmpeg-cvslog] Tag n3.1.2 : FFmpeg 3.1.2 release

2016-08-08 Thread git
[ffmpeg] [branch: refs/tags/n3.1.2]
Tag:0fd8ce5d6c2514e78dcc756a215d881e004dfb9c
> http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=0fd8ce5d6c2514e78dcc756a215d881e004dfb9c

Tagger: Michael Niedermayer 
Date:   Tue Aug  9 01:47:17 2016 +0200

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


[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 3d5b623 web/download: add FFmpeg 3.1.2

2016-08-08 Thread ffmpeg-git
The branch, master has been updated
   via  3d5b623c6791362ef04c53a6ebb5a3071a6e09c4 (commit)
  from  62d07117a5cd19556a9b53dc41a44b4bf97828ff (commit)


- Log -
commit 3d5b623c6791362ef04c53a6ebb5a3071a6e09c4
Author: Michael Niedermayer 
AuthorDate: Tue Aug 9 02:19:13 2016 +0200
Commit: Michael Niedermayer 
CommitDate: Tue Aug 9 02:20:09 2016 +0200

web/download: add FFmpeg 3.1.2

diff --git a/src/download b/src/download
index 82c8843..22cd58f 100644
--- a/src/download
+++ b/src/download
@@ -1,10 +1,10 @@
 
 
   
-http://ffmpeg.org/releases/ffmpeg-3.1.1.tar.bz2"; class="btn 
btn-success">
+http://ffmpeg.org/releases/ffmpeg-3.1.2.tar.bz2"; class="btn 
btn-success">
   
   Download
-  ffmpeg-3.1.1.tar.bz2
+  ffmpeg-3.1.2.tar.bz2
 
 
 More releases
@@ -270,10 +270,10 @@
   
 
 
-  FFmpeg 3.1.1 "Laplace"
+  FFmpeg 3.1.2 "Laplace"
 
   
-3.1.1 was released on 2016-07-01. It is the latest stable FFmpeg release
+3.1.2 was released on 2016-08-09. It is the latest stable FFmpeg release
 from the 3.1 release branch, which was cut from master on 2016-06-26.
   
   It includes the following library versions:
@@ -291,19 +291,19 @@ libpostproc54.  0.100
 
   
 
-  Download 
xz tarball
-  PGP 
signature
+  Download 
xz tarball
+  PGP 
signature
  
 
-  Download 
bzip2 tarball
-  PGP 
signature
+  Download 
bzip2 tarball
+  PGP 
signature
  
 
-  Download 
gzip tarball
-  PGP 
signature
+  Download 
gzip tarball
+  PGP 
signature
  
 
-  https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n3.1.1";>Changelog
+  https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n3.1.2";>Changelog
   https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/3.1:/RELEASE_NOTES";>Release
 Notes
  


---

Summary of changes:
 src/download | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)


hooks/post-receive
-- 

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


[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 20ce1d0 web: add 3.1.2 news

2016-08-08 Thread ffmpeg-git
The branch, master has been updated
   via  20ce1d0ba81b28316013419adcbf03cdc7549ff8 (commit)
  from  3d5b623c6791362ef04c53a6ebb5a3071a6e09c4 (commit)


- Log -
commit 20ce1d0ba81b28316013419adcbf03cdc7549ff8
Author: Michael Niedermayer 
AuthorDate: Tue Aug 9 02:32:27 2016 +0200
Commit: Michael Niedermayer 
CommitDate: Tue Aug 9 02:32:27 2016 +0200

web: add 3.1.2 news

diff --git a/src/index b/src/index
index 0606e42..f10f8a6 100644
--- a/src/index
+++ b/src/index
@@ -37,6 +37,14 @@
 News
   
 
+  August 9th, 2016, FFmpeg 3.1.2 "Laplace"
+  
+FFmpeg 3.1.2, a new point release 
from the 3.1 release branch, is now available!
+It fixes several bugs.
+  
+  
+We recommend users, distributors, and system integrators, to upgrade 
unless they use current git master.
+  
   July 10th, 2016, ffserver program being dropped
   
 After thorough deliberation, we're announcing that we're about to drop the 
ffserver program from the project starting with the next release.

---

Summary of changes:
 src/index | 8 
 1 file changed, 8 insertions(+)


hooks/post-receive
-- 

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