[FFmpeg-cvslog] avfilter/idet: typo fix: PROGRSSIVE -> PROGRESSIVE
ffmpeg | branch: master | Pascal Massimino | Fri Sep 19 05:52:55 2014 -0700| [7ac6b8cfa7e6af3f8ebd468607cacdbb386feb8f] | committer: Michael Niedermayer avfilter/idet: typo fix: PROGRSSIVE -> PROGRESSIVE Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7ac6b8cfa7e6af3f8ebd468607cacdbb386feb8f --- libavfilter/vf_idet.c | 16 libavfilter/vf_idet.h |2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index 22ff494..f8d71de 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -40,10 +40,10 @@ AVFILTER_DEFINE_CLASS(idet); static const char *type2str(Type type) { switch(type) { -case TFF : return "Top Field First "; -case BFF : return "Bottom Field First"; -case PROGRSSIVE : return "Progressive "; -case UNDETERMINED: return "Undetermined "; +case TFF : return "Top Field First "; +case BFF : return "Bottom Field First"; +case PROGRESSIVE : return "Progressive "; +case UNDETERMINED : return "Undetermined "; } return NULL; } @@ -108,7 +108,7 @@ static void filter(AVFilterContext *ctx) }else if(alpha[1] > idet->interlace_threshold * alpha[0]){ type = BFF; }else if(alpha[1] > idet->progressive_threshold * delta){ -type = PROGRSSIVE; +type = PROGRESSIVE; }else{ type = UNDETERMINED; } @@ -141,7 +141,7 @@ static void filter(AVFilterContext *ctx) }else if(idet->last_type == BFF){ idet->cur->top_field_first = 0; idet->cur->interlaced_frame = 1; -}else if(idet->last_type == PROGRSSIVE){ +}else if(idet->last_type == PROGRESSIVE){ idet->cur->interlaced_frame = 0; } @@ -187,13 +187,13 @@ static av_cold void uninit(AVFilterContext *ctx) av_log(ctx, AV_LOG_INFO, "Single frame detection: TFF:%d BFF:%d Progressive:%d Undetermined:%d\n", idet->prestat[TFF], idet->prestat[BFF], - idet->prestat[PROGRSSIVE], + idet->prestat[PROGRESSIVE], idet->prestat[UNDETERMINED] ); av_log(ctx, AV_LOG_INFO, "Multi frame detection: TFF:%d BFF:%d Progressive:%d Undetermined:%d\n", idet->poststat[TFF], idet->poststat[BFF], - idet->poststat[PROGRSSIVE], + idet->poststat[PROGRESSIVE], idet->poststat[UNDETERMINED] ); diff --git a/libavfilter/vf_idet.h b/libavfilter/vf_idet.h index c5799fb..ef29fff 100644 --- a/libavfilter/vf_idet.h +++ b/libavfilter/vf_idet.h @@ -29,7 +29,7 @@ typedef int (*ff_idet_filter_func)(const uint8_t *a, const uint8_t *b, const uin typedef enum { TFF, BFF, -PROGRSSIVE, +PROGRESSIVE, UNDETERMINED, } Type; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '7bc37641e3e6c24d472ae06fcbecaba4c863829b' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:28:33 2014 +0200| [516ba41f05c8a0e4054d2a858e2951a6091c4811] | committer: Michael Niedermayer Merge commit '7bc37641e3e6c24d472ae06fcbecaba4c863829b' into release/2.2 * commit '7bc37641e3e6c24d472ae06fcbecaba4c863829b': avconv: fix the muxrate values for -target Conflicts: ffmpeg_opt.c No change, as ffmpegs muxrate is in bits/sec Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=516ba41f05c8a0e4054d2a858e2951a6091c4811 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '051ac5c0f51c119b33a57f3e137d7344eb1c2b26' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:25:36 2014 +0200| [58b5b062b84b09dfa49bf84497eb530da3918abf] | committer: Michael Niedermayer Merge commit '051ac5c0f51c119b33a57f3e137d7344eb1c2b26' into release/2.2 * commit '051ac5c0f51c119b33a57f3e137d7344eb1c2b26': mpegvideo: Use the current_picture pts Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=58b5b062b84b09dfa49bf84497eb530da3918abf --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avconv: fix parsing the AVOptions for -target
ffmpeg | branch: release/2.2 | Anton Khirnov | Tue Aug 26 06:26:35 2014 +| [f7395926f204051af9ad459a6d876b96ee6179ee] | committer: Anton Khirnov avconv: fix parsing the AVOptions for -target CC: libav-sta...@libav.org (cherry picked from commit f5245a9c6206878b892adf3ccbccc9311c202af5) Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f7395926f204051af9ad459a6d876b96ee6179ee --- avconv_opt.c |4 1 file changed, 4 insertions(+) diff --git a/avconv_opt.c b/avconv_opt.c index 17abc3c..8ffdde9 100644 --- a/avconv_opt.c +++ b/avconv_opt.c @@ -1839,6 +1839,10 @@ static int opt_target(void *optctx, const char *opt, const char *arg) av_log(NULL, AV_LOG_ERROR, "Unknown target: %s\n", arg); return AVERROR(EINVAL); } + +av_dict_copy(&o->g->codec_opts, codec_opts, 0); +av_dict_copy(&o->g->format_opts, format_opts, 0); + return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'f7395926f204051af9ad459a6d876b96ee6179ee' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:29:23 2014 +0200| [4b6e46c4277ec46041840ed4873d5658a2fd897e] | committer: Michael Niedermayer Merge commit 'f7395926f204051af9ad459a6d876b96ee6179ee' into release/2.2 * commit 'f7395926f204051af9ad459a6d876b96ee6179ee': avconv: fix parsing the AVOptions for -target Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4b6e46c4277ec46041840ed4873d5658a2fd897e --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avconv: fix the muxrate values for -target
ffmpeg | branch: release/2.2 | Anton Khirnov | Mon Aug 25 21:24:35 2014 +| [7bc37641e3e6c24d472ae06fcbecaba4c863829b] | committer: Anton Khirnov avconv: fix the muxrate values for -target The mpegenc private option values are in 50-byte units. CC: libav-sta...@libav.org (cherry picked from commit 1688eef25385089026aba55da1885f70a57815ab) Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7bc37641e3e6c24d472ae06fcbecaba4c863829b --- avconv_opt.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/avconv_opt.c b/avconv_opt.c index 73d283a..17abc3c 100644 --- a/avconv_opt.c +++ b/avconv_opt.c @@ -1772,7 +1772,7 @@ static int opt_target(void *optctx, const char *opt, const char *arg) parse_option(o, "ac", "2", options); opt_default(NULL, "packetsize", "2324"); -opt_default(NULL, "muxrate", "1411200"); // 2352 * 75 * 8; +opt_default(NULL, "muxrate", "3528"); // 2352 * 75 / 50; /* We have to offset the PTS, so that it is consistent with the SCR. SCR starts at 36000, but the first two packs contain only padding @@ -1818,7 +1818,7 @@ static int opt_target(void *optctx, const char *opt, const char *arg) opt_default(NULL, "bufsize", "1835008"); // 224*1024*8; opt_default(NULL, "packetsize", "2048"); // from www.mpucoder.com: DVD sectors contain 2048 bytes of data, this is also the size of one pack. -opt_default(NULL, "muxrate", "1008"); // from mplex project: data_rate = 126. mux_rate = data_rate * 8 +opt_default(NULL, "muxrate", "25200"); // from mplex project: data_rate = 126. mux_rate = data_rate / 50 opt_default(NULL, "b:a", "448000"); parse_option(o, "ar", "48000", options); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg_opt: reduce diff to libav in opt_target() by 16 lines
ffmpeg | branch: release/2.2 | Michael Niedermayer | Wed Aug 27 13:13:51 2014 +0200| [481118615c153160fc0d5ec383a7b5ded276e226] | committer: Michael Niedermayer ffmpeg_opt: reduce diff to libav in opt_target() by 16 lines Signed-off-by: Michael Niedermayer (cherry picked from commit 7a67ab5cba8ed5509be5d058fe9e5612ef39d3b0) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=481118615c153160fc0d5ec383a7b5ded276e226 --- ffmpeg_opt.c | 52 ++-- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index f1fff79..0e75dea 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -2153,19 +2153,19 @@ static int opt_target(void *optctx, const char *opt, const char *arg) parse_option(o, "s", norm == PAL ? "352x288" : "352x240", options); parse_option(o, "r", frame_rates[norm], options); -av_dict_set(&o->g->codec_opts, "g", norm == PAL ? "15" : "18", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "g", norm == PAL ? "15" : "18"); -av_dict_set(&o->g->codec_opts, "b:v", "115", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "maxrate", "115", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "minrate", "115", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "bufsize", "327680", AV_DICT_DONT_OVERWRITE); // 40*1024*8; +opt_default(NULL, "b:v", "115"); +opt_default(NULL, "maxrate", "115"); +opt_default(NULL, "minrate", "115"); +opt_default(NULL, "bufsize", "327680"); // 40*1024*8; -av_dict_set(&o->g->codec_opts, "b:a", "224000", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "b:a", "224000"); parse_option(o, "ar", "44100", options); parse_option(o, "ac", "2", options); -av_dict_set(&o->g->format_opts, "packetsize", "2324", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->format_opts, "muxrate", "1411200", AV_DICT_DONT_OVERWRITE); // 2352 * 75 * 8; +opt_default(NULL, "packetsize", "2324"); +opt_default(NULL, "muxrate", "1411200"); // 2352 * 75 * 8; /* We have to offset the PTS, so that it is consistent with the SCR. SCR starts at 36000, but the first two packs contain only padding @@ -2182,18 +2182,18 @@ static int opt_target(void *optctx, const char *opt, const char *arg) parse_option(o, "s", norm == PAL ? "480x576" : "480x480", options); parse_option(o, "r", frame_rates[norm], options); parse_option(o, "pix_fmt", "yuv420p", options); -av_dict_set(&o->g->codec_opts, "g", norm == PAL ? "15" : "18", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "g", norm == PAL ? "15" : "18"); -av_dict_set(&o->g->codec_opts, "b:v", "204", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "maxrate", "2516000", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "minrate", "0", AV_DICT_DONT_OVERWRITE); // 1145000; -av_dict_set(&o->g->codec_opts, "bufsize", "1835008", AV_DICT_DONT_OVERWRITE); // 224*1024*8; -av_dict_set(&o->g->codec_opts, "scan_offset", "1", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "b:v", "204"); +opt_default(NULL, "maxrate", "2516000"); +opt_default(NULL, "minrate", "0"); // 1145000; +opt_default(NULL, "bufsize", "1835008"); // 224*1024*8; +opt_default(NULL, "scan_offset", "1"); -av_dict_set(&o->g->codec_opts, "b:a", "224000", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "b:a", "224000"); parse_option(o, "ar", "44100", options); -av_dict_set(&o->g->format_opts, "packetsize", "2324", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "packetsize", "2324"); } else if (!strcmp(arg, "dvd")) { @@ -2204,17 +2204,17 @@ static int opt_target(void *optctx, const char *opt, const char *arg) parse_option(o, "s", norm == PAL ? "720x576" : "720x480", options); parse_option(o, "r", frame_rates[norm], options); parse_option(o, "pix_fmt", "yuv420p", options); -av_dict_set(&o->g->codec_opts, "g", norm == PAL ? "15" : "18", AV_DICT_DONT_OVERWRITE); +opt_default(NULL, "g", norm == PAL ? "15" : "18"); -av_dict_set(&o->g->codec_opts, "b:v", "600", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "maxrate", "900", AV_DICT_DONT_OVERWRITE); -av_dict_set(&o->g->codec_opts, "minrate", "0", AV_DICT_DONT_OVERWRITE); // 150; -av_dict_set(&o->g->codec_opts, "bufsize", "1835008", AV_DICT_DONT_OVERWRITE); // 224*1024*8; +opt_default(NULL, "b:v", "600"); +opt_default(NULL, "maxrate", "900"); +opt_default(NULL, "minrate", "0"); // 150; +opt_default(NULL, "bufsize", "1835008"); // 224*1024*8; -av_dict_set(&o->g->format_opts, "packetsize", "2
[FFmpeg-cvslog] mpegvideo: Use the current_picture pts
ffmpeg | branch: release/2.2 | Michael Niedermayer | Fri Apr 18 23:11:31 2014 +0200| [051ac5c0f51c119b33a57f3e137d7344eb1c2b26] | committer: Anton Khirnov mpegvideo: Use the current_picture pts The picture slot can be recycled by select_input_picture and only current_picture is populated with the valid pts. Unbreak timestamps when in cbr mode. Signed-off-by: Luca Barbato (cherry picked from commit 1c7b71a5bdb88ebb69734100405bbb5441b871e8) Signed-off-by: Anton Khirnov Conflicts: libavcodec/mpegvideo_enc.c > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=051ac5c0f51c119b33a57f3e137d7344eb1c2b26 --- libavcodec/mpegvideo_enc.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 091bee3..dcc399f 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1663,12 +1663,12 @@ vbv_retry: avctx->frame_bits = s->frame_bits; pkt->pts = s->current_picture.f.pts; -if (!s->low_delay) { +if (!s->low_delay && s->pict_type != AV_PICTURE_TYPE_B) { if (!s->current_picture.f.coded_picture_number) pkt->dts = pkt->pts - s->dts_delta; else pkt->dts = s->reordered_pts; -s->reordered_pts = s->input_picture[0]->f.pts; +s->reordered_pts = pkt->pts; } else pkt->dts = pkt->pts; if (s->current_picture.f.key_frame) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '3ac0638d573fc483ba6be3444858b26711c5d67d' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:27:39 2014 +0200| [1a642b72172da93b376f27240f19c981eb310507] | committer: Michael Niedermayer Merge commit '3ac0638d573fc483ba6be3444858b26711c5d67d' into release/2.2 * commit '3ac0638d573fc483ba6be3444858b26711c5d67d': mpegenc: limit the maximum muxrate Conflicts: libavformat/mpegenc.c See: 28d35dbe9f570025c220c08997bc11e21b3c1a66 Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a642b72172da93b376f27240f19c981eb310507 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] mpegenc: limit the maximum muxrate
ffmpeg | branch: release/2.2 | Anton Khirnov | Mon Aug 25 21:21:57 2014 +| [3ac0638d573fc483ba6be3444858b26711c5d67d] | committer: Anton Khirnov mpegenc: limit the maximum muxrate It is written to the file as a 22-bit value. CC: libav-sta...@libav.org (cherry picked from commit 75bbaf2493a71ee66eaabe3c21fadd84d07888de) Signed-off-by: Anton Khirnov Conflicts: libavformat/mpegenc.c > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3ac0638d573fc483ba6be3444858b26711c5d67d --- libavformat/mpegenc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c index 13d5b03..fe0ad67 100644 --- a/libavformat/mpegenc.c +++ b/libavformat/mpegenc.c @@ -1135,7 +1135,7 @@ static int mpeg_mux_end(AVFormatContext *ctx) #define OFFSET(x) offsetof(MpegMuxContext, x) #define E AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { -{ "muxrate", NULL, OFFSET(mux_rate), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, E }, +{ "muxrate", NULL, OFFSET(mux_rate), AV_OPT_TYPE_INT, {.i64 = 0}, 0, (1 << 22) - 1, E }, { "preload", "Initial demux-decode delay in microseconds.", OFFSET(preload), AV_OPT_TYPE_INT, {.i64 = 50}, 0, INT_MAX, E}, { NULL }, }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] pulse: Add a wallclock option to be compatible with other other captures
ffmpeg | branch: release/2.2 | Luca Barbato | Sat Aug 23 19:03:21 2014 +0200| [9fcc632249be3080836a3afce25b3092939743ac] | committer: Luca Barbato pulse: Add a wallclock option to be compatible with other other captures alsa and x11grab use av_gettime() to report timestamps. Have it on by default. Bug-Id: 647 (cherry picked from commit 424b929b5cb9ca4094099f25179829260d4b0fa3) (cherry picked from commit 404731bd20e1df5880e6fe381e975ba48afc75b2) Signed-off-by: Luca Barbato > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9fcc632249be3080836a3afce25b3092939743ac --- libavdevice/pulse.c |5 + 1 file changed, 5 insertions(+) diff --git a/libavdevice/pulse.c b/libavdevice/pulse.c index a8e710d..2136ee3 100644 --- a/libavdevice/pulse.c +++ b/libavdevice/pulse.c @@ -31,6 +31,7 @@ #include "libavformat/avformat.h" #include "libavformat/internal.h" +#include "libavutil/time.h" #include "libavutil/opt.h" #define DEFAULT_CODEC_ID AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE) @@ -47,6 +48,7 @@ typedef struct PulseData { pa_simple *s; int64_t pts; int64_t frame_duration; +int wallclock; } PulseData; static pa_sample_format_t codec_id_to_pulse_format(int codec_id) { @@ -141,6 +143,8 @@ static int pulse_read_packet(AVFormatContext *s, AVPacket *pkt) if (pd->pts == AV_NOPTS_VALUE) { pd->pts = -latency; +if (pd->wallclock) +pd->pts += av_gettime(); } pkt->pts = pd->pts; @@ -168,6 +172,7 @@ static const AVOption options[] = { { "channels", "number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT,{.i64 = 2},1, INT_MAX, D }, { "frame_size","number of bytes per frame", OFFSET(frame_size),AV_OPT_TYPE_INT,{.i64 = 1024}, 1, INT_MAX, D }, { "fragment_size", "buffering size, affects latency and cpu usage", OFFSET(fragment_size), AV_OPT_TYPE_INT,{.i64 = -1}, -1, INT_MAX, D }, +{ "wallclock", "set the initial pts using the current time", OFFSET(wallclock), AV_OPT_TYPE_INT,{.i64 = 1}, -1, 1, D }, { NULL }, }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '9fcc632249be3080836a3afce25b3092939743ac' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:40:54 2014 +0200| [e940d15a98cb91a991e226fbbfba669c6601e90a] | committer: Michael Niedermayer Merge commit '9fcc632249be3080836a3afce25b3092939743ac' into release/2.2 * commit '9fcc632249be3080836a3afce25b3092939743ac': pulse: Add a wallclock option to be compatible with other other captures Conflicts: libavdevice/pulse_audio_dec.c Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e940d15a98cb91a991e226fbbfba669c6601e90a --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '1a7d1793d6d2de4201c2d9fc7056e7c9e202c5fe' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:46:53 2014 +0200| [da1dfea07670d450653c6d36442f80d7614c9fb3] | committer: Michael Niedermayer Merge commit '1a7d1793d6d2de4201c2d9fc7056e7c9e202c5fe' into release/2.2 * commit '1a7d1793d6d2de4201c2d9fc7056e7c9e202c5fe': license: Mention that vf_interlace is GPL, not LGPL Conflicts: LICENSE Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da1dfea07670d450653c6d36442f80d7614c9fb3 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] license: Mention that vf_interlace is GPL, not LGPL
ffmpeg | branch: release/2.2 | Diego Biurrun | Wed Aug 27 13:14:20 2014 +0200| [1a7d1793d6d2de4201c2d9fc7056e7c9e202c5fe] | committer: Diego Biurrun license: Mention that vf_interlace is GPL, not LGPL (cherry picked from commit 9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5) Signed-off-by: Diego Biurrun > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a7d1793d6d2de4201c2d9fc7056e7c9e202c5fe --- LICENSE |1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 20d82c3..05521a4 100644 --- a/LICENSE +++ b/LICENSE @@ -21,6 +21,7 @@ Specifically, the GPL parts of Libav are - vf_cropdetect.c - vf_delogo.c - vf_hqdn3d.c +- vf_interlace.c Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then the configure parameter --enable-version3 will activate this licensing option ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Update Changelog for v10.5
ffmpeg | branch: release/2.2 | Diego Biurrun | Wed Sep 10 13:01:30 2014 -0700| [d0af7d5745f3e228293633faa9e57994f3308c31] | committer: Diego Biurrun Update Changelog for v10.5 > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d0af7d5745f3e228293633faa9e57994f3308c31 --- Changelog | 14 ++ 1 file changed, 14 insertions(+) diff --git a/Changelog b/Changelog index ed1292b..7ab3964 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,20 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. +version 10.5: +- proresenc: Remove unneeded parameters from encode_alpha_plane() +- proresenc: Report buffer overflow +- proresenc: Realloc if buffer is too small +- proresenc: Properly account for alpha plane +- setpts: Add missing inttypes.h #include for PRId64 +- mpegvideo: Use the current_picture pts +- mpegenc: limit the maximum muxrate +- avconv: fix the muxrate values for -target +- avconv: fix parsing the AVOptions for -target +- pulse: Add a wallclock option to be compatible with other other captures +- license: Mention that vf_interlace is GPL, not LGPL +- doc: Fix syntax and logical errors in avconv stream combination example + version 10.4: - mpegts: Do not try to write a PMT larger than SECTION_SIZE (CVE-2014-2263) - mpegts: Define the section length with a constant ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Prepare for 10.5 release
ffmpeg | branch: release/2.2 | Diego Biurrun | Wed Sep 10 13:01:07 2014 -0700| [f2abf8df7a08c45483522c8f2011c29ab472c64d] | committer: Diego Biurrun Prepare for 10.5 release > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f2abf8df7a08c45483522c8f2011c29ab472c64d --- RELEASE |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE b/RELEASE index 1be519c..9a62de2 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -10.4 +10.5 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '40c7613ecf2f3f7565309f9780183228605c3684' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:48:28 2014 +0200| [3bc5aa65bbcf79e869461a557bea356a66e0e77e] | committer: Michael Niedermayer Merge commit '40c7613ecf2f3f7565309f9780183228605c3684' into release/2.2 * commit '40c7613ecf2f3f7565309f9780183228605c3684': doc: Fix syntax and logical errors in avconv stream combination example Conflicts: doc/ffmpeg.texi Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3bc5aa65bbcf79e869461a557bea356a66e0e77e --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: Fix syntax and logical errors in avconv stream combination example
ffmpeg | branch: release/2.2 | Diego Biurrun | Wed Sep 10 18:38:15 2014 +0200| [40c7613ecf2f3f7565309f9780183228605c3684] | committer: Diego Biurrun doc: Fix syntax and logical errors in avconv stream combination example Bug-Id: 661 CC: libav-sta...@libav.org (cherry picked from commit 775a0b04f0cf8102fe322b2ee03fe1a0633dea04) Signed-off-by: Diego Biurrun > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=40c7613ecf2f3f7565309f9780183228605c3684 --- doc/avconv.texi |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/avconv.texi b/doc/avconv.texi index 7ef415f..cb0f331 100644 --- a/doc/avconv.texi +++ b/doc/avconv.texi @@ -1097,11 +1097,11 @@ only formats accepting a normal integer are suitable. You can put many streams of the same type in the output: @example -avconv -i test1.avi -i test2.avi -map 0.3 -map 0.2 -map 0.1 -map 0.0 -c copy test12.nut +avconv -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut @end example -The resulting output file @file{test12.avi} will contain first four streams from -the input file in reverse order. +The resulting output file @file{test12.nut} will contain the first four streams +from the input files in reverse order. @item To force CBR video output: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'd0af7d5745f3e228293633faa9e57994f3308c31' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 14:49:12 2014 +0200| [1aab0609968ea9dabf53a7ceab85b21954fe0cf1] | committer: Michael Niedermayer Merge commit 'd0af7d5745f3e228293633faa9e57994f3308c31' into release/2.2 * commit 'd0af7d5745f3e228293633faa9e57994f3308c31': Update Changelog for v10.5 Prepare for 10.5 release Conflicts: Changelog RELEASE no change as FFmpeg releases dont match this Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1aab0609968ea9dabf53a7ceab85b21954fe0cf1 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] apetag: Fix APE tag size check
ffmpeg | branch: release/2.2 | Katerina Barone-Adesi | Tue Sep 16 01:40:24 2014 +0200| [d14696c99ccac12a052ce10e70859ffc0293ed6a] | committer: Diego Biurrun apetag: Fix APE tag size check The size variable is (correctly) unsigned, but is passed to several functions which take signed parameters, such as avio_read, sometimes after having numbers added to it. So ensure that size remains within the bounds that these functions can handle. (cherry picked from commit b45ab61b24a8f2aeafdd4451491b1b30b7875ee5) Signed-off-by: Diego Biurrun > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d14696c99ccac12a052ce10e70859ffc0293ed6a --- libavformat/apetag.c |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/apetag.c b/libavformat/apetag.c index d4be91c..9616c2c 100644 --- a/libavformat/apetag.c +++ b/libavformat/apetag.c @@ -55,8 +55,10 @@ static int ape_tag_read_field(AVFormatContext *s) av_log(s, AV_LOG_WARNING, "Invalid APE tag key '%s'.\n", key); return -1; } -if (size >= UINT_MAX) -return -1; +if (size > INT32_MAX - FF_INPUT_BUFFER_PADDING_SIZE) { +av_log(s, AV_LOG_ERROR, "APE tag size too large.\n"); +return AVERROR_INVALIDDATA; +} if (flags & APE_TAG_FLAG_IS_BINARY) { uint8_t filename[1024]; enum AVCodecID id; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'd14696c99ccac12a052ce10e70859ffc0293ed6a' into release/2.2
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Sep 20 17:42:00 2014 +0200| [6dd718e416c05ddc0cdc03f28769e303e2eaafb7] | committer: Michael Niedermayer Merge commit 'd14696c99ccac12a052ce10e70859ffc0293ed6a' into release/2.2 * commit 'd14696c99ccac12a052ce10e70859ffc0293ed6a': apetag: Fix APE tag size check Merged-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6dd718e416c05ddc0cdc03f28769e303e2eaafb7 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/mpegvideo: Use "goto fail" for all error paths in ff_mpv_common_frame_size_change()
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 7 12:52:24 2014 +0200| [9406d3c910bfb8476c7bb9b942ef15785d0a309c] | committer: Michael Niedermayer avcodec/mpegvideo: Use "goto fail" for all error paths in ff_mpv_common_frame_size_change() Signed-off-by: Michael Niedermayer (cherry picked from commit 2762323c37511fbbc98b164c07620b9ebc59ec68) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9406d3c910bfb8476c7bb9b942ef15785d0a309c --- libavcodec/mpegvideo.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 4dc41e8..6668ffb 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1398,7 +1398,7 @@ int ff_MPV_common_frame_size_change(MpegEncContext *s) if ((s->width || s->height) && av_image_check_size(s->width, s->height, 0, s->avctx)) -return AVERROR_INVALIDDATA; +goto fail; if ((err = init_context_frame(s))) goto fail; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/swfdec: Do not change the pixel format
ffmpeg | branch: release/2.2 | Michael Niedermayer | Tue Sep 2 16:42:33 2014 +0200| [b4d2888ce8d15818b7d839e3bc0ec8e9cca17615] | committer: Michael Niedermayer avformat/swfdec: Do not change the pixel format This is currently not supported Fixes part of Ticket 3539 Signed-off-by: Michael Niedermayer (cherry picked from commit c2430304dfb3cc0e3a59ce6d1b59ebdcc934a0c2) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4d2888ce8d15818b7d839e3bc0ec8e9cca17615 --- libavformat/swfdec.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c index babaaa1..91db06d 100644 --- a/libavformat/swfdec.c +++ b/libavformat/swfdec.c @@ -289,6 +289,7 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) const int bmp_fmt = avio_r8(pb); const int width = avio_rl16(pb); const int height = avio_rl16(pb); +int pix_fmt; len -= 2+1+2+2; @@ -367,7 +368,7 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) switch (bmp_fmt) { case 3: -st->codec->pix_fmt = AV_PIX_FMT_PAL8; +pix_fmt = AV_PIX_FMT_PAL8; for (i = 0; i < colormapsize; i++) if (alpha_bmp) colormap[i] = buf[3]<<24 | AV_RB24(buf + 4*i); elsecolormap[i] = 0xffU <<24 | AV_RB24(buf + 3*i); @@ -379,14 +380,20 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) memcpy(pal, colormap, AVPALETTE_SIZE); break; case 4: -st->codec->pix_fmt = AV_PIX_FMT_RGB555; +pix_fmt = AV_PIX_FMT_RGB555; break; case 5: -st->codec->pix_fmt = alpha_bmp ? AV_PIX_FMT_ARGB : AV_PIX_FMT_0RGB; +pix_fmt = alpha_bmp ? AV_PIX_FMT_ARGB : AV_PIX_FMT_0RGB; break; default: av_assert0(0); } +if (st->codec->pix_fmt != AV_PIX_FMT_NONE && st->codec->pix_fmt != pix_fmt) { +av_log(s, AV_LOG_ERROR, "pixel format change unsupported\n"); +res = AVERROR_PATCHWELCOME; +goto bitmap_end; +} +st->codec->pix_fmt = pix_fmt; if (linesize * height > pkt->size) { res = AVERROR_INVALIDDATA; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/snow: check coeffs for validity
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sat Aug 30 02:12:10 2014 +0200| [8d10d6e1273817315878bcbb37e37de442585b27] | committer: Michael Niedermayer avcodec/snow: check coeffs for validity Fixes deadlock Fixes integer overflow Fixes Ticket 3892 Signed-off-by: Michael Niedermayer (cherry picked from commit 596636a474ab201badaae269f3a2cef4824b8c1f) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d10d6e1273817315878bcbb37e37de442585b27 --- libavcodec/snow.h |9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavcodec/snow.h b/libavcodec/snow.h index 60b0062..9910f3f 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -655,7 +655,10 @@ static inline void unpack_coeffs(SnowContext *s, SubBand *b, SubBand * parent, i if(v){ v= 2*(get_symbol2(&s->c, b->state[context + 2], context-4) + 1); v+=get_rac(&s->c, &b->state[0][16 + 1 + 3 + ff_quant3bA[l&0xFF] + 3*ff_quant3bA[t&0xFF]]); - +if ((uint16_t)v != v) { +av_log(s->avctx, AV_LOG_ERROR, "Coefficient damaged\n"); +v = 1; +} xc->x=x; (xc++)->coeff= v; } @@ -665,6 +668,10 @@ static inline void unpack_coeffs(SnowContext *s, SubBand *b, SubBand * parent, i else run= INT_MAX; v= 2*(get_symbol2(&s->c, b->state[0 + 2], 0-4) + 1); v+=get_rac(&s->c, &b->state[0][16 + 1 + 3]); +if ((uint16_t)v != v) { +av_log(s->avctx, AV_LOG_ERROR, "Coefficient damaged\n"); +v = 1; +} xc->x=x; (xc++)->coeff= v; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/proresenc_kostya: allocate 1 slice more to avoid triggering the reallocation warning when the used space is actually less than the allocated
ffmpeg | branch: release/2.2 | Michael Niedermayer | Mon Aug 18 21:29:32 2014 +0200| [1a6218954a35a7a30e1d7910af30e0bf3f1c55dd] | committer: Michael Niedermayer avcodec/proresenc_kostya: allocate 1 slice more to avoid triggering the reallocation warning when the used space is actually less than the allocated Reviewed-by: Christophe Gisquet Signed-off-by: Michael Niedermayer (cherry picked from commit f0e51be8d0273679d379a95de14727b982b9549f) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a6218954a35a7a30e1d7910af30e0bf3f1c55dd --- libavcodec/proresenc_kostya.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c index 1905f60..e263bb9 100644 --- a/libavcodec/proresenc_kostya.c +++ b/libavcodec/proresenc_kostya.c @@ -940,7 +940,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, int slice_hdr_size = 2 + 2 * (ctx->num_planes - 1); int frame_size, picture_size, slice_size; int pkt_size, ret; -int max_slice_size = (ctx->frame_size_upper_bound - 200) / ctx->pictures_per_frame / ctx->slices_per_picture; +int max_slice_size = (ctx->frame_size_upper_bound - 200) / (ctx->pictures_per_frame * ctx->slices_per_picture + 1); uint8_t frame_flags; *avctx->coded_frame = *pic; @@ -1029,9 +1029,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, uint8_t *start = pkt->data; // Recompute new size according to max_slice_size // and deduce delta -int delta = 200 + ctx->pictures_per_frame * -ctx->slices_per_picture * max_slice_size - -pkt_size; +int delta = 200 + (ctx->pictures_per_frame * +ctx->slices_per_picture + 1) * +max_slice_size - pkt_size; delta = FFMAX(delta, 2 * max_slice_size); ctx->frame_size_upper_bound += delta; @@ -1248,16 +1248,16 @@ static av_cold int encode_init(AVCodecContext *avctx) ctx->bits_per_mb += ls * 4; } -ctx->frame_size_upper_bound = ctx->pictures_per_frame * - ctx->slices_per_picture * +ctx->frame_size_upper_bound = (ctx->pictures_per_frame * + ctx->slices_per_picture + 1) * (2 + 2 * ctx->num_planes + (mps * ctx->bits_per_mb) / 8) + 200; if (ctx->alpha_bits) { // The alpha plane is run-coded and might exceed the bit budget. - ctx->frame_size_upper_bound += ctx->pictures_per_frame * -ctx->slices_per_picture * + ctx->frame_size_upper_bound += (ctx->pictures_per_frame * + ctx->slices_per_picture + 1) * /* num pixels per slice */ (ctx->mbs_per_slice * 256 * /* bits per pixel */(1 + ctx->alpha_bits + 1) + 7 >> 3); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/filters.texi: fix filter name in examples
ffmpeg | branch: release/2.2 | Mark Harris | Mon Sep 1 12:32:33 2014 -0700| [85b829bff9c31178b2d70e39279a397795ce25cf] | committer: Michael Niedermayer doc/filters.texi: fix filter name in examples Signed-off-by: Michael Niedermayer (cherry picked from commit 1b3a98f137900b6c3eb9a4c177d0b25684d6d144) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=85b829bff9c31178b2d70e39279a397795ce25cf --- doc/filters.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 8bf29ec..b7a1b34 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -491,7 +491,7 @@ aeval=val(ch)/2:c=same @item Invert phase of the second channel: @example -eval=val(0)|-val(1) +aeval=val(0)|-val(1) @end example @end itemize @@ -8850,7 +8850,7 @@ Default value is "all", which will cycle through the list of all tests. For example the following: @example -testsrc=t=dc_luma +mptestsrc=t=dc_luma @end example will generate a "dc_luma" test pattern. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/mpegvideo: check that the context is initialized in ff_mpv_common_frame_size_change( )
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 7 13:00:47 2014 +0200| [fd6230e8f0d2111249240bb0eeab084a9550bd8e] | committer: Michael Niedermayer avcodec/mpegvideo: check that the context is initialized in ff_mpv_common_frame_size_change() The function otherwise would initialize the context without setting context_initialized alternatively we could set context_initialized Fixes valgrind anomalies related to ticket 3928 Signed-off-by: Michael Niedermayer (cherry picked from commit 0d0f7f0ba43f64312ae4a05d97afecf1b7b1330c) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fd6230e8f0d2111249240bb0eeab084a9550bd8e --- libavcodec/mpegvideo.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 6668ffb..88af957 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1368,6 +1368,9 @@ int ff_MPV_common_frame_size_change(MpegEncContext *s) { int i, err = 0; +if (!s->context_initialized) +return AVERROR(EINVAL); + if (s->slice_context_count > 1) { for (i = 0; i < s->slice_context_count; i++) { free_duplicate_context(s->thread_context[i]); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] segment: don't access outside seg->frames array
ffmpeg | branch: release/2.2 | Mika Raento | Mon Sep 1 20:10:03 2014 +0300| [0484d7ad7ef7f4ce51525a95cc5b74d7e6c213a0] | committer: Michael Niedermayer segment: don't access outside seg->frames array Fixes wrong number of segments output and undefined memory access. Signed-off-by: Michael Niedermayer (cherry picked from commit 58e0402e02ae5e466c33b9465c1465fdee68d342) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0484d7ad7ef7f4ce51525a95cc5b74d7e6c213a0 --- libavformat/segment.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/segment.c b/libavformat/segment.c index ad313a3..9b4b44f 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -666,7 +666,7 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) end_pts = seg->segment_count < seg->nb_times ? seg->times[seg->segment_count] : INT64_MAX; } else if (seg->frames) { -start_frame = seg->segment_count <= seg->nb_frames ? +start_frame = seg->segment_count < seg->nb_frames ? seg->frames[seg->segment_count] : INT_MAX; } else { end_pts = seg->time * (seg->segment_count+1); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavcodec/webp: treat out-of-bound palette index as translucent black
ffmpeg | branch: release/2.2 | Pascal Massimino | Tue Sep 16 17:01:07 2014 +0200| [99af97ea112d94e21946df219216b3c052e57702] | committer: Michael Niedermayer libavcodec/webp: treat out-of-bound palette index as translucent black See https://code.google.com/p/webp/issues/detail?id=206 for a description of the problem/fix. Signed-off-by: Michael Niedermayer This patch makes the decoder follow the recommendation of the spec. There is some disagreement (see "[FFmpeg-devel] [PATCH]: libavcodec/webp") about what would be best to be written in the spec, so in case the spec is changed again, this potentially would need to be amended or reverted (cherry picked from commit 4fd21d58a72c38ab63c3a4483b420db260fa7b8d) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=99af97ea112d94e21946df219216b3c052e57702 --- libavcodec/webp.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/webp.c b/libavcodec/webp.c index 89c8f13..ab25d7a 100644 --- a/libavcodec/webp.c +++ b/libavcodec/webp.c @@ -1024,7 +1024,7 @@ static int apply_color_indexing_transform(WebPContext *s) ImageContext *img; ImageContext *pal; int i, x, y; -uint8_t *p, *pi; +uint8_t *p; img = &s->image[IMAGE_ROLE_ARGB]; pal = &s->image[IMAGE_ROLE_COLOR_INDEXING]; @@ -1062,11 +1062,11 @@ static int apply_color_indexing_transform(WebPContext *s) p = GET_PIXEL(img->frame, x, y); i = p[2]; if (i >= pal->frame->width) { -av_log(s->avctx, AV_LOG_ERROR, "invalid palette index %d\n", i); -return AVERROR_INVALIDDATA; +AV_WB32(p, 0xFF00); +} else { +const uint8_t *pi = GET_PIXEL(pal->frame, i, 0); +AV_COPY32(p, pi); } -pi = GET_PIXEL(pal->frame, i, 0); -AV_COPY32(p, pi); } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] x86/dsputil: add emms to ff_scalarproduct_int16_mmxext()
ffmpeg | branch: release/2.2 | James Almer | Wed Mar 5 19:44:36 2014 -0300| [16b5df17ea9d7b9b0b10b1effa776177ac69d88c] | committer: Michael Niedermayer x86/dsputil: add emms to ff_scalarproduct_int16_mmxext() Also undo the changes to ra144enc.c from previous commits. Should fix ticket #3429 Signed-off-by: James Almer Signed-off-by: Michael Niedermayer (cherry picked from commit 9e0e1f9067430de1655a7b28536b5afed48bded5) Conflicts: libavcodec/ra144enc.c Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=16b5df17ea9d7b9b0b10b1effa776177ac69d88c --- libavcodec/ra144enc.c |1 - libavcodec/x86/dsputil.asm |3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c index 0db6032..3f4be67 100644 --- a/libavcodec/ra144enc.c +++ b/libavcodec/ra144enc.c @@ -34,7 +34,6 @@ #include "celp_filters.h" #include "ra144.h" - static av_cold int ra144_encode_close(AVCodecContext *avctx) { RA144Context *ractx = avctx->priv_data; diff --git a/libavcodec/x86/dsputil.asm b/libavcodec/x86/dsputil.asm index 7162034..d802368 100644 --- a/libavcodec/x86/dsputil.asm +++ b/libavcodec/x86/dsputil.asm @@ -61,6 +61,9 @@ cglobal scalarproduct_int16, 3,3,3, v1, v2, order %endif paddd m2, m0 movd eax, m2 +%if mmsize == 8 +emms +%endif RET ; int scalarproduct_and_madd_int16(int16_t *v1, int16_t *v2, int16_t *v3, int order, int mul) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/proresenc_kostya: set initial max_slice_size based on frame_size_upper_bound
ffmpeg | branch: release/2.2 | Michael Niedermayer | Mon Aug 18 20:42:27 2014 +0200| [1f8e0f7e06aff959d3567be910db0def919ae538] | committer: Michael Niedermayer avcodec/proresenc_kostya: set initial max_slice_size based on frame_size_upper_bound If the initial max_slice_size is 0 then reallocation is disabled for the first slice. Reviewed-by: Christophe Gisquet Signed-off-by: Michael Niedermayer (cherry picked from commit 76a8cb9d7bcc12a8f1cedcb4c23bbb6391a4c56c) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1f8e0f7e06aff959d3567be910db0def919ae538 --- libavcodec/proresenc_kostya.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c index ab56820..1905f60 100644 --- a/libavcodec/proresenc_kostya.c +++ b/libavcodec/proresenc_kostya.c @@ -939,7 +939,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, int sizes[4] = { 0 }; int slice_hdr_size = 2 + 2 * (ctx->num_planes - 1); int frame_size, picture_size, slice_size; -int pkt_size, ret, max_slice_size = 0; +int pkt_size, ret; +int max_slice_size = (ctx->frame_size_upper_bound - 200) / ctx->pictures_per_frame / ctx->slices_per_picture; uint8_t frame_flags; *avctx->coded_frame = *pic; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] oggdec: fix invalid free on error
ffmpeg | branch: release/2.2 | wm4 | Sat Aug 30 15:39:15 2014 +0200| [f1685bd31a1921bb239e77ce852c7a0aa513017b] | committer: Michael Niedermayer oggdec: fix invalid free on error The read_packet callback passes a pointer to a stack-allocated AVPacket. Attempting to free it with av_free() makes no sense. Signed-off-by: Michael Niedermayer (cherry picked from commit b173f5c15572cc82f68128599722e689df4ff137) Conflicts: libavformat/oggdec.c > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f1685bd31a1921bb239e77ce852c7a0aa513017b --- libavformat/oggdec.c |1 - 1 file changed, 1 deletion(-) diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index fd18e99..cf5d50d 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -795,7 +795,6 @@ retry: 10); if(side_data == NULL) { av_free_packet(pkt); -av_free(pkt); return AVERROR(ENOMEM); } AV_WL32(side_data + 4, os->end_trimming); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] tools/crypto_bench: fix build when AV_READ_TIME is unavailable
ffmpeg | branch: release/2.2 | Michael Niedermayer | Tue Sep 16 18:04:51 2014 +0200| [252356cf06a4effbe7df5ed150cf0ade65e081fa] | committer: Michael Niedermayer tools/crypto_bench: fix build when AV_READ_TIME is unavailable Found-by: Andreas Cadhalpun Signed-off-by: Michael Niedermayer (cherry picked from commit 4a99134f1a71994a0dc4542a0d6bee8e36146b60) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=252356cf06a4effbe7df5ed150cf0ade65e081fa --- tools/crypto_bench.c |4 1 file changed, 4 insertions(+) diff --git a/tools/crypto_bench.c b/tools/crypto_bench.c index 1a699ce..5300380 100644 --- a/tools/crypto_bench.c +++ b/tools/crypto_bench.c @@ -33,6 +33,10 @@ #include "libavutil/intreadwrite.h" #include "libavutil/timer.h" +#ifndef AV_READ_TIME +#define AV_READ_TIME(x) 0 +#endif + #if HAVE_UNISTD_H #include /* for getopt */ #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/x86/vp9lpf: Always include x86util.asm
ffmpeg | branch: release/2.2 | Michael Niedermayer | Wed Sep 17 23:36:53 2014 +0200| [6c66ea5e73f25f9af8f48e2b44b003f0d2b15dcf] | committer: Michael Niedermayer avcodec/x86/vp9lpf: Always include x86util.asm Fixes executable stack Signed-off-by: Michael Niedermayer (cherry picked from commit 41d82b85ab0ee8bb2931c1f783e30c38c2fb5206) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6c66ea5e73f25f9af8f48e2b44b003f0d2b15dcf --- libavcodec/x86/vp9lpf.asm |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/x86/vp9lpf.asm b/libavcodec/x86/vp9lpf.asm index e41dd2c..419297c 100644 --- a/libavcodec/x86/vp9lpf.asm +++ b/libavcodec/x86/vp9lpf.asm @@ -20,10 +20,10 @@ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ;** -%if ARCH_X86_64 - %include "libavutil/x86/x86util.asm" +%if ARCH_X86_64 + SECTION_RODATA cextern pb_3 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/mpegvideo: Set err on failure in ff_mpv_common_frame_size_change()
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 7 14:14:52 2014 +0200| [d19b55649c557911094369720df0e175b1594df2] | committer: Michael Niedermayer avcodec/mpegvideo: Set err on failure in ff_mpv_common_frame_size_change() Found-by: ubitux Signed-off-by: Michael Niedermayer (cherry picked from commit cfce6f7efd28130bf0dd409b2367ca0f8c9b2417) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d19b55649c557911094369720df0e175b1594df2 --- libavcodec/mpegvideo.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 88af957..e283b98 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1400,7 +1400,7 @@ int ff_MPV_common_frame_size_change(MpegEncContext *s) s->mb_height = (s->height + 15) / 16; if ((s->width || s->height) && -av_image_check_size(s->width, s->height, 0, s->avctx)) +(err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0) goto fail; if ((err = init_context_frame(s))) @@ -1417,7 +1417,7 @@ int ff_MPV_common_frame_size_change(MpegEncContext *s) } for (i = 0; i < nb_slices; i++) { -if (init_duplicate_context(s->thread_context[i]) < 0) +if ((err = init_duplicate_context(s->thread_context[i])) < 0) goto fail; s->thread_context[i]->start_mb_y = (s->mb_height * (i) + nb_slices / 2) / nb_slices; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/swfdec: Use side data to communicate w/h changes to the decoder
ffmpeg | branch: release/2.2 | Michael Niedermayer | Tue Sep 2 05:22:26 2014 +0200| [b3f30cb6d63d75ba132a45ed22d118a33701b3a0] | committer: Michael Niedermayer avformat/swfdec: Use side data to communicate w/h changes to the decoder Fixes reading from freed data Fixes part of Ticket3539 Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer (cherry picked from commit 1c55d0ff3202a04ebc67a72d72391104e9bdb633) Signed-off-by: Michael Niedermayer (cherry picked from commit a9734e7d3017ffc9539eaac2a8acce3ad427f746) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b3f30cb6d63d75ba132a45ed22d118a33701b3a0 --- libavformat/swfdec.c |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c index c95b18e..babaaa1 100644 --- a/libavformat/swfdec.c +++ b/libavformat/swfdec.c @@ -353,11 +353,15 @@ static int swf_read_packet(AVFormatContext *s, AVPacket *pkt) avpriv_set_pts_info(vst, 64, 256, swf->frame_rate); st = vst; } -st->codec->width = width; -st->codec->height = height; if ((res = av_new_packet(pkt, out_len - colormapsize * colormapbpp)) < 0) goto bitmap_end; +if (!st->codec->width && !st->codec->height) { +st->codec->width = width; +st->codec->height = height; +} else { +ff_add_param_change(pkt, 0, 0, 0, width, height); +} pkt->pos = pos; pkt->stream_index = st->index; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/m4vdec: Check for non startcode 00 00 00 sequences in probe
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 7 16:39:39 2014 +0200| [56fb830c302b0cbae0d24be8993832cb548b8ee5] | committer: Michael Niedermayer avformat/m4vdec: Check for non startcode 00 00 00 sequences in probe Fixes miss detection of PCM as m4v Fixes Ticket 3928 Signed-off-by: Michael Niedermayer (cherry picked from commit 7c1835c52a4be2e4e996f83c91a8d5a147b01100) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=56fb830c302b0cbae0d24be8993832cb548b8ee5 --- libavformat/m4vdec.c |8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavformat/m4vdec.c b/libavformat/m4vdec.c index c2fd4d7..7a8f79f 100644 --- a/libavformat/m4vdec.c +++ b/libavformat/m4vdec.c @@ -33,13 +33,15 @@ static int mpeg4video_probe(AVProbeData *probe_packet) for(i=0; ibuf_size; i++){ temp_buffer = (temp_buffer<<8) + probe_packet->buf[i]; -if ((temp_buffer & 0xff00) != 0x100) +if (temp_buffer & 0xfe00) +continue; +if (temp_buffer < 2) continue; if (temp_buffer == VOP_START_CODE) VOP++; else if (temp_buffer == VISUAL_OBJECT_START_CODE) VISO++; -else if (temp_buffer < 0x120) VO++; -else if (temp_buffer < 0x130) VOL++; +else if (temp_buffer >= 0x100 && temp_buffer < 0x120) VO++; +else if (temp_buffer >= 0x120 && temp_buffer < 0x130) VOL++; else if ( !(0x1AF < temp_buffer && temp_buffer < 0x1B7) && !(0x1B9 < temp_buffer && temp_buffer < 0x1C4)) res++; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/h264: Allow partial escaping
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 7 01:42:28 2014 +0200| [9e1ce9a8eee17f741e3cff5c8018c42eddf8c99b] | committer: Michael Niedermayer avcodec/h264: Allow partial escaping Fixes Ticket3923 Signed-off-by: Michael Niedermayer (cherry picked from commit 033a5334badd8af48f13c6fd1e6827f8e3f2c2f3) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e1ce9a8eee17f741e3cff5c8018c42eddf8c99b --- libavcodec/h264.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 5db5c76..8227284 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -634,7 +634,7 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, #define STARTCODE_TEST \ if (i + 2 < length && src[i + 1] == 0 && src[i + 2] <= 3) { \ -if (src[i + 2] != 3) { \ +if (src[i + 2] != 3 && src[i + 2] != 0) { \ /* startcode, so we must be past the end */ \ length = i; \ } \ @@ -707,7 +707,7 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, if (src[si + 2] > 3) { dst[di++] = src[si++]; dst[di++] = src[si++]; -} else if (src[si] == 0 && src[si + 1] == 0) { +} else if (src[si] == 0 && src[si + 1] == 0 && src[si + 2] != 0) { if (src[si + 2] == 3) { // escape dst[di++] = 0; dst[di++] = 0; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec: fix aac/ac3 parser bitstream buffer size
ffmpeg | branch: release/2.2 | Michael Niedermayer | Fri Aug 22 01:15:57 2014 +0200| [014dee89d00fdf474740fbb5cbcdf07cca8aaa9c] | committer: Michael Niedermayer avcodec: fix aac/ac3 parser bitstream buffer size Buffers containing copies of the AAC and AC3 header bits were not padded before parsing, violating init_get_bits() buffer padding requirement, leading to potential buffer read overflows. This change adds FF_INPUT_BUFFER_PADDING_SIZE bytes to the bit buffer for parsing the header in each of aac_parser.c and ac3_parser.c. Based on patch by: Matt Wolenetz Signed-off-by: Michael Niedermayer (cherry picked from commit fccd85b9f30525f88692f53134eba41f1f2d90db) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=014dee89d00fdf474740fbb5cbcdf07cca8aaa9c --- libavcodec/aac_parser.c |2 +- libavcodec/ac3_parser.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/aac_parser.c b/libavcodec/aac_parser.c index ab6ca4e..cb93ba9 100644 --- a/libavcodec/aac_parser.c +++ b/libavcodec/aac_parser.c @@ -34,7 +34,7 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info, int size; union { uint64_t u64; -uint8_t u8[8]; +uint8_t u8[8 + FF_INPUT_BUFFER_PADDING_SIZE]; } tmp; tmp.u64 = av_be2ne64(state); diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c index dd6d77c..131e180 100644 --- a/libavcodec/ac3_parser.c +++ b/libavcodec/ac3_parser.c @@ -166,7 +166,7 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info, int err; union { uint64_t u64; -uint8_t u8[8]; +uint8_t u8[8 + FF_INPUT_BUFFER_PADDING_SIZE]; } tmp = { av_be2ne64(state) }; AC3HeaderInfo hdr, *phdr = &hdr; GetBitContext gbc; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] wavpack: report if there is no bits left
ffmpeg | branch: release/2.2 | Christophe Gisquet | Tue Aug 19 12:26:47 2014 +| [dd9b24a48808b9cd31b93e517ff228f497b51b83] | committer: Michael Niedermayer wavpack: report if there is no bits left Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer (cherry picked from commit 11a39bdf534a4ead634b4a593c66ebf756910b9b) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dd9b24a48808b9cd31b93e517ff228f497b51b83 --- libavcodec/wavpack.c |4 1 file changed, 4 insertions(+) diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index 6f60514..0428b05 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -253,6 +253,10 @@ static int wv_get_value(WavpackFrameContext *ctx, GetBitContext *gb, return sign ? ~ret : ret; error: +ret = get_bits_left(gb); +if (ret <= 0) { +av_log(ctx->avctx, AV_LOG_ERROR, "Too few bits (%d) left\n", ret); +} *last = 1; return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] wavpackenc: proper buffer allocation
ffmpeg | branch: release/2.2 | Christophe Gisquet | Tue Aug 19 12:26:49 2014 +| [da1a8191c524a122a6656e7dcd05f4c0e2a37088] | committer: Michael Niedermayer wavpackenc: proper buffer allocation The allocation didn't account for headers, that can be easily 79 bytes. As a result, buffers allocated for a few samples (e.g. 5 in the original bug) could be undersized. Fixed ticket #2881. Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer (cherry picked from commit 2ba58bec20b0039ccc40cfba59af6d56de16e8b1) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da1a8191c524a122a6656e7dcd05f4c0e2a37088 --- libavcodec/wavpackenc.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c index bf9f918..80cc088 100644 --- a/libavcodec/wavpackenc.c +++ b/libavcodec/wavpackenc.c @@ -2876,10 +2876,11 @@ static int wavpack_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, return AVERROR(ENOMEM); } -if ((ret = ff_alloc_packet2(avctx, avpkt, s->block_samples * avctx->channels * 8)) < 0) +buf_size = s->block_samples * avctx->channels * 8 + + 200 /* for headers */; +if ((ret = ff_alloc_packet2(avctx, avpkt, buf_size)) < 0) return ret; buf = avpkt->data; -buf_size = avpkt->size; for (s->ch_offset = 0; s->ch_offset < avctx->channels;) { set_samplerate(s); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/utils: add GBRP16 to avcodec_align_dimensions2()
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Aug 24 23:33:40 2014 +0200| [f93f739ecac035cea7cede78dabbdb3a35628c77] | committer: Michael Niedermayer avcodec/utils: add GBRP16 to avcodec_align_dimensions2() Fixes Ticket3869 Signed-off-by: Michael Niedermayer (cherry picked from commit 3fe9e7be4c70c8fccdcd56fd19276e668cfb7de8) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f93f739ecac035cea7cede78dabbdb3a35628c77 --- libavcodec/utils.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 7ffe6c6..ff89324 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -357,6 +357,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, case AV_PIX_FMT_GBRP12BE: case AV_PIX_FMT_GBRP14LE: case AV_PIX_FMT_GBRP14BE: +case AV_PIX_FMT_GBRP16LE: +case AV_PIX_FMT_GBRP16BE: w_align = 16; //FIXME assume 16 pixel per macroblock h_align = 16 * 2; // interlaced needs 2 macroblocks height break; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/mp3dec: fix gapless audio support
ffmpeg | branch: master | wm4 | Sat Sep 20 13:48:05 2014 +0200| [d87fe2687fdc5b1cb9aaec957afadb56d207618f] | committer: Michael Niedermayer avformat/mp3dec: fix gapless audio support The code already had skipping of initial padding, but discarding trailing frame padding was missing. This is somewhat questionable, because it will make the decoder discard any data after the declared file size in the LAME header. But note that skipping full frames at the end of the stream is required. Encoders actually create such files. Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d87fe2687fdc5b1cb9aaec957afadb56d207618f --- libavformat/avformat.h |8 libavformat/mp3dec.c |2 ++ libavformat/utils.c| 17 - 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index b915148..2370cb0 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1031,6 +1031,14 @@ typedef struct AVStream { int skip_samples; /** + * If not 0, the first audio sample that should be discarded from the stream. + * This is broken by design (needs global sample count), but can't be + * avoided for broken by design formats such as mp3 with ad-hoc gapless + * audio support. + */ +int64_t end_discard_sample; + +/** * Number of internally decoded frames, used internally in libavformat, do not access * its lifetime differs from info which is why it is not in that structure. */ diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c index 4872afc..639c78d 100644 --- a/libavformat/mp3dec.c +++ b/libavformat/mp3dec.c @@ -219,6 +219,8 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream *st, mp3->start_pad = v>>12; mp3-> end_pad = v&4095; st->skip_samples = mp3->start_pad + 528 + 1; +if (mp3->frames) +st->end_discard_sample = -mp3->end_pad + 528 + 1 + mp3->frames * (int64_t)spf; if (!st->start_time) st->start_time = av_rescale_q(st->skip_samples, (AVRational){1, c->sample_rate}, diff --git a/libavformat/utils.c b/libavformat/utils.c index e899e4d..58533f8 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1255,6 +1255,11 @@ static int read_from_packet_buffer(AVPacketList **pkt_buffer, return 0; } +static int64_t ts_to_samples(AVStream *st, int64_t ts) +{ +return av_rescale(ts, st->time_base.num * st->codec->sample_rate, st->time_base.den); +} + static int read_frame_internal(AVFormatContext *s, AVPacket *pkt) { int ret = 0, i, got_packet = 0; @@ -1352,10 +1357,20 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt) if (ret >= 0) { AVStream *st = s->streams[pkt->stream_index]; -if (st->skip_samples) { +int discard_padding = 0; +if (st->end_discard_sample && pkt->pts != AV_NOPTS_VALUE) { +int64_t pts = pkt->pts - (is_relative(pkt->pts) ? RELATIVE_TS_BASE : 0); +int64_t sample = ts_to_samples(st, pts); +int duration = ts_to_samples(st, pkt->duration); +int64_t end_sample = sample + duration; +if (duration > 0 && end_sample >= st->end_discard_sample) +discard_padding = FFMIN(end_sample - st->end_discard_sample, duration); +} +if (st->skip_samples || discard_padding) { uint8_t *p = av_packet_new_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, 10); if (p) { AV_WL32(p, st->skip_samples); +AV_WL32(p + 4, discard_padding); av_log(s, AV_LOG_DEBUG, "demuxer injecting skip %d\n", st->skip_samples); } st->skip_samples = 0; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] alacenc: remove unneeded masking
ffmpeg | branch: master | Christophe Gisquet | Sat Sep 20 18:23:09 2014 +| [9950073655f59632edf751ca2981d3a9d00ca438] | committer: Michael Niedermayer alacenc: remove unneeded masking The extra bits have already been masked, so this was not doing anything. Noticed-by: Justin Ruggles Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9950073655f59632edf751ca2981d3a9d00ca438 --- libavcodec/alacenc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index fd5bf66..4e6113b 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -432,7 +432,7 @@ static void write_element(AlacEncodeContext *s, uint32_t mask = (1 << s->extra_bits) - 1; for (i = 0; i < s->frame_size; i++) { for (j = 0; j < channels; j++) { -put_bits(pb, s->extra_bits, s->predictor_buf[j][i] & mask); +put_bits(pb, s->extra_bits, s->predictor_buf[j][i]); } } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] alacenc: fix incorrect buffer use
ffmpeg | branch: master | Christophe Gisquet | Sat Sep 20 18:23:08 2014 +| [a0844935354bc210ecb042101aa9985ed5de975e] | committer: Michael Niedermayer alacenc: fix incorrect buffer use The issue lies in actually dead code ("for now it's not used"). Noticed-by: Justin Ruggles Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a0844935354bc210ecb042101aa9985ed5de975e --- libavcodec/alacenc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index b9ad899..fd5bf66 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -444,7 +444,7 @@ static void write_element(AlacEncodeContext *s, // TODO: determine when this will actually help. for now it's not used. if (prediction_type == 15) { // 2nd pass 1st order filter -int32_t *residual = s->predictor_buf[channels]; +int32_t *residual = s->predictor_buf[i]; for (j = s->frame_size - 1; j > 0; j--) residual[j] -= residual[j - 1]; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/alacenc: Remove unused variable
ffmpeg | branch: master | Michael Niedermayer | Sat Sep 20 23:54:00 2014 +0200| [28dce3cdbc3330629660f0da352b14daf48d9379] | committer: Michael Niedermayer avcodec/alacenc: Remove unused variable Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=28dce3cdbc3330629660f0da352b14daf48d9379 --- libavcodec/alacenc.c |1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index 4e6113b..ce63da6 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -429,7 +429,6 @@ static void write_element(AlacEncodeContext *s, // write extra bits if needed if (s->extra_bits) { -uint32_t mask = (1 << s->extra_bits) - 1; for (i = 0; i < s->frame_size; i++) { for (j = 0; j < channels; j++) { put_bits(pb, s->extra_bits, s->predictor_buf[j][i]); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] update for 2.2.8
ffmpeg | branch: release/2.2 | Michael Niedermayer | Sun Sep 21 01:18:16 2014 +0200| [5df02760dd2f050b996f931fa7cdf8871bfa5d96] | committer: Michael Niedermayer update for 2.2.8 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5df02760dd2f050b996f931fa7cdf8871bfa5d96 --- RELEASE |2 +- doc/Doxyfile |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE b/RELEASE index 5bc1cc4..23a63f5 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -2.2.7 +2.2.8 diff --git a/doc/Doxyfile b/doc/Doxyfile index 6e75771..b5c75fd 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 = 2.2.7 +PROJECT_NUMBER = 2.2.8 # 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] Tag n2.2.8 : FFmpeg 2.2.8 release
[ffmpeg] [branch: refs/tags/n2.2.8] Tag:326f228968c058d1da26220d32df12e778f7fcc8 > http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=326f228968c058d1da26220d32df12e778f7fcc8 Tagger: Michael Niedermayer Date: Sun Sep 21 01:30:02 2014 +0200 FFmpeg 2.2.8 release ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 601f4e1 web/download: add FFmpeg 2.2.8
The branch, master has been updated via 601f4e1b570134119dd15553e6d5bb3180ee3ee7 (commit) from fdac209125a4cbf0de4221f96083900d167131a5 (commit) - Log - commit 601f4e1b570134119dd15553e6d5bb3180ee3ee7 Author: Michael Niedermayer AuthorDate: Sun Sep 21 02:14:36 2014 +0200 Commit: Michael Niedermayer CommitDate: Sun Sep 21 02:15:01 2014 +0200 web/download: add FFmpeg 2.2.8 diff --git a/src/download b/src/download index 1fd958f..fe18a3d 100644 --- a/src/download +++ b/src/download @@ -327,13 +327,13 @@ libpostproc52. 3.100 -FFmpeg 2.2.7 "Muybridge" +FFmpeg 2.2.8 "Muybridge" -2.2.7 was released on 2014-08-12. It is the latest stable FFmpeg release +2.2.8 was released on 2014-09-21. It is the latest stable FFmpeg release from the 2.2 release branch, which was cut from master on 2014-03-01. Amongst lots of other changes, it includes all changes from -ffmpeg-mt, libav master of 2014-03-01, libav 10.3 as of 2014-08-04. +ffmpeg-mt, libav master of 2014-03-01, libav 10.5 as of 2014-09-20. It includes the following library versions: @@ -350,15 +350,15 @@ libpostproc52. 3.100 - Download bzip2 tarball - PGP signature + Download bzip2 tarball + PGP signature - Download gzip tarball - PGP signature + Download gzip tarball + PGP signature - http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=n2.2.7";>Changelog + http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=n2.2.8";>Changelog --- Summary of changes: src/download | 16 1 files changed, 8 insertions(+), 8 deletions(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog