[FFmpeg-cvslog] avfilter: add tlut2 filter
ffmpeg | branch: master | Paul B Mahol | Fri Aug 4 10:29:12 2017 +0200| [80bc648e77972482843017aedf8795e5246ee819] | committer: Paul B Mahol avfilter: add tlut2 filter > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=80bc648e77972482843017aedf8795e5246ee819 --- Changelog| 1 + doc/filters.texi | 8 +- libavfilter/Makefile | 1 + libavfilter/allfilters.c | 1 + libavfilter/version.h| 4 +- libavfilter/vf_lut2.c| 185 +++ 6 files changed, 150 insertions(+), 50 deletions(-) diff --git a/Changelog b/Changelog index 3074942021..86ce41807d 100644 --- a/Changelog +++ b/Changelog @@ -30,6 +30,7 @@ version : - libvmaf video filter - Dolby E decoder and SMPTE 337M demuxer - unpremultiply video filter +- tlut2 video filter version 3.3: - CrystalHD decoder moved to new decode API diff --git a/doc/filters.texi b/doc/filters.texi index 96abffbbdd..a920bf935e 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -9946,9 +9946,13 @@ lutyuv=u='(val-maxval/2)*2+maxval/2':v='(val-maxval/2)*2+maxval/2' @end example @end itemize -@section lut2 +@section lut2, tlut2 -Compute and apply a lookup table from two video inputs. +The @code{lut2} filter takes two input streams and outputs one +stream. + +The @code{tlut2} (time lut2) filter takes two consecutive frames +from one single stream. This filter accepts the following parameters: @table @option diff --git a/libavfilter/Makefile b/libavfilter/Makefile index f0bb8e77e5..f615c669e7 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -312,6 +312,7 @@ OBJS-$(CONFIG_THRESHOLD_FILTER) += vf_threshold.o framesync2.o OBJS-$(CONFIG_THUMBNAIL_FILTER) += vf_thumbnail.o OBJS-$(CONFIG_TILE_FILTER) += vf_tile.o OBJS-$(CONFIG_TINTERLACE_FILTER) += vf_tinterlace.o +OBJS-$(CONFIG_TLUT2_FILTER) += vf_lut2.o framesync2.o OBJS-$(CONFIG_TRANSPOSE_FILTER) += vf_transpose.o OBJS-$(CONFIG_TRIM_FILTER) += trim.o OBJS-$(CONFIG_UNPREMULTIPLY_FILTER) += vf_premultiply.o framesync2.o diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c index 0fca662a23..32f26804b0 100644 --- a/libavfilter/allfilters.c +++ b/libavfilter/allfilters.c @@ -323,6 +323,7 @@ static void register_all(void) REGISTER_FILTER(THUMBNAIL, thumbnail, vf); REGISTER_FILTER(TILE, tile, vf); REGISTER_FILTER(TINTERLACE, tinterlace, vf); +REGISTER_FILTER(TLUT2, tlut2, vf); REGISTER_FILTER(TRANSPOSE, transpose, vf); REGISTER_FILTER(TRIM, trim, vf); REGISTER_FILTER(UNPREMULTIPLY, unpremultiply, vf); diff --git a/libavfilter/version.h b/libavfilter/version.h index 04ea8b71f8..ff0467cc15 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -30,8 +30,8 @@ #include "libavutil/version.h" #define LIBAVFILTER_VERSION_MAJOR 6 -#define LIBAVFILTER_VERSION_MINOR 96 -#define LIBAVFILTER_VERSION_MICRO 101 +#define LIBAVFILTER_VERSION_MINOR 97 +#define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ LIBAVFILTER_VERSION_MINOR, \ diff --git a/libavfilter/vf_lut2.c b/libavfilter/vf_lut2.c index f7e4a6a656..0859285382 100644 --- a/libavfilter/vf_lut2.c +++ b/libavfilter/vf_lut2.c @@ -61,6 +61,8 @@ typedef struct LUT2Context { int width[4], height[4]; int nb_planes; int depth, depthx, depthy; +int tlut2; +AVFrame *prev_frame;/* only used with tlut2 */ void (*lut2)(struct LUT2Context *s, AVFrame *dst, AVFrame *srcx, AVFrame *srcy); @@ -70,7 +72,7 @@ typedef struct LUT2Context { #define OFFSET(x) offsetof(LUT2Context, x) #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM -static const AVOption lut2_options[] = { +static const AVOption options[] = { { "c0", "set component #0 expression", OFFSET(comp_expr_str[0]), AV_OPT_TYPE_STRING, { .str = "x" }, .flags = FLAGS }, { "c1", "set component #1 expression", OFFSET(comp_expr_str[1]), AV_OPT_TYPE_STRING, { .str = "x" }, .flags = FLAGS }, { "c2", "set component #2 expression", OFFSET(comp_expr_str[2]), AV_OPT_TYPE_STRING, { .str = "x" }, .flags = FLAGS }, @@ -83,6 +85,8 @@ static av_cold void uninit(AVFilterContext *ctx) LUT2Context *s = ctx->priv; int i; +av_frame_free(&s->prev_frame); + for (i = 0; i < 4; i++) { av_expr_free(s->comp_expr[i]); s->comp_expr[i] = NULL; @@ -133,6 +137,11 @@ static int config_inputx(AVFilterLink *inlink) s->depthx = desc->comp[0].depth; s->var_values[VAR_BITDEPTHX] = s->depthx; +if (s->tlut2) { +s->depthy = desc->comp[0].depth; +s->var_values[VAR_BITDEPTHY] = s->depthy; +} + return 0; } @@ -232,13 +241,64 @@ static i
[FFmpeg-cvslog] Update for 3.1.10
ffmpeg | branch: release/3.1 | Michael Niedermayer | Fri Aug 4 12:13:51 2017 +0200| [fef71d661b7a251f70f132f1585b7dfa08117423] | committer: Michael Niedermayer Update for 3.1.10 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fef71d661b7a251f70f132f1585b7dfa08117423 --- Changelog| 37 + doc/Doxyfile | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 87a2a49eaf..d6c9ce1723 100644 --- a/Changelog +++ b/Changelog @@ -2,6 +2,43 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. +version 3.1.10: +- avcodec/diracdec: Check weight_log2denom +- avcodec/dirac_dwt: Fix multiple integer overflows in COMPOSE_DD97iH0() +- avcodec/diracdec: Fix integer overflow in divide3() +- avcodec/takdec: Fix integer overflow in decode_subframe() +- avformat/rtmppkt: Convert ff_amf_get_field_value() to bytestream2 +- avformat/rtmppkt: Convert ff_amf_tag_size() to bytestream2 +- avcodec/diracdec: Fix integer overflow in signed multiplication in UNPACK_ARITH() +- avcodec/dnxhddec: Move mb height check out of non hr branch +- avcodec/hevc_ps: fix integer overflow in log2_parallel_merge_level_minus2 +- avformat/oggparsecelt: Do not re-allocate os->private +- avcodec/ylc: Fix shift overflow +- avcodec/aacps: Fix multiple integer overflow in map_val_34_to_20() +- avcodec/aacdec_fixed: fix: left shift of negative value -1 +- doc/filters: typo in frei0r +- avcodec/cfhd: Fix decoding regression due to height check +- avcodec/aacdec_template (fixed point): Check gain in decode_cce() to avoid undefined shifts later +- avcodec/aacdec_template: Fix undefined integer overflow in apply_tns() +- avcodec/magicyuv: Check that vlc len is not too large +- avcodec/mjpegdec: Clip DC also on the negative side. +- avcodec/aacps (fixed point): Fix multiple signed integer overflows +- avcodec/ylc: Fix vlc of 31 bits +- avcodec/sbrdsp_fixed: Fix integer overflow in sbr_hf_apply_noise() +- avcodec/wavpack: Fix invalid shift +- avcodec/h264_slice: Fix signed integer overflow +- avcodec/hevc_ps: Fix integer overflow with beta/tc offsets +- avcodec/cfhd: Fix invalid left shift of negative value +- avcodec/vb: Check vertical GMC component before multiply +- avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int() +- avcodec/apedec: Fix integer overflow +- avcodec/wavpack: Fix integer overflow in wv_unpack_stereo() +- avcodec/mpeg4videodec: Fix GMC with videos of dimension 1 +- avcodec/wavpack: Fix integer overflow +- avcodec/takdec: Fix integer overflow +- avcodec/tiff: Update pointer only when the result is used + + version 3.1.9: - avcodec/cfhd: Check bpc before setting bpc in context - avcodec/cfhd: Fix undefined shift diff --git a/doc/Doxyfile b/doc/Doxyfile index b234a11f4a..f750ee5495 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.9 +PROJECT_NUMBER = 3.1.10 # 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] RELEASE: Update release number
ffmpeg | branch: release/3.1 | Michael Niedermayer | Fri Aug 4 15:52:22 2017 +0200| [afa34cb36edca0ff809b7e58474bbce12271ecba] | committer: Michael Niedermayer RELEASE: Update release number Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=afa34cb36edca0ff809b7e58474bbce12271ecba --- RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE b/RELEASE index 7148b0a991..c7a249882e 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -3.1.9 +3.1.10 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/hlsenc: support fmp4 single file mode
ffmpeg | branch: master | Steven Liu | Fri Aug 4 21:38:55 2017 +0800| [738b29cfb69b82965fd71d00da85f162b04a171e] | committer: Steven Liu avformat/hlsenc: support fmp4 single file mode add byterange mode of the hls fmp4 Reviewed-by: Derek Buitenhuis Signed-off-by: Steven Liu > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=738b29cfb69b82965fd71d00da85f162b04a171e --- libavformat/hlsenc.c | 77 ++-- 1 file changed, 50 insertions(+), 27 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index f98f04100c..5cf8c89ee7 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -531,6 +531,7 @@ static int hls_mux_init(AVFormatContext *s) HLSContext *hls = s->priv_data; AVFormatContext *oc; AVFormatContext *vtt_oc = NULL; +int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0); int i, ret; ret = avformat_alloc_output_context2(&hls->avf, hls->oformat, NULL, NULL); @@ -584,7 +585,11 @@ static int hls_mux_init(AVFormatContext *s) hls->fmp4_init_mode = 0; if (hls->segment_type == SEGMENT_TYPE_FMP4) { -hls->fmp4_init_mode = 1; +if (hls->max_seg_size > 0) { +av_log(s, AV_LOG_WARNING, "Multi-file byterange mode is currently unsupported in the HLS muxer.\n"); +return AVERROR_PATCHWELCOME; +} +hls->fmp4_init_mode = !byterange_mode; if ((ret = s->io_open(s, &oc->pb, hls->base_output_dirname, AVIO_FLAG_WRITE, NULL)) < 0) { av_log(s, AV_LOG_ERROR, "Failed to open segment '%s'\n", hls->fmp4_init_filename); return ret; @@ -980,9 +985,6 @@ static void write_m3u8_head_block(HLSContext *hls, AVIOContext *out, int version } avio_printf(out, "#EXT-X-TARGETDURATION:%d\n", target_duration); avio_printf(out, "#EXT-X-MEDIA-SEQUENCE:%"PRId64"\n", sequence); -if (hls->segment_type == SEGMENT_TYPE_FMP4) { -avio_printf(out, "#EXT-X-MAP:URI=\"%s\"\n", hls->fmp4_init_filename); -} av_log(hls, AV_LOG_VERBOSE, "EXT-X-MEDIA-SEQUENCE:%"PRId64"\n", sequence); } @@ -1066,13 +1068,21 @@ static int hls_window(AVFormatContext *s, int last) avio_printf(out, "#EXT-X-DISCONTINUITY\n"); } -if (hls->flags & HLS_ROUND_DURATIONS) -avio_printf(out, "#EXTINF:%ld,\n", lrint(en->duration)); -else -avio_printf(out, "#EXTINF:%f,\n", en->duration); -if (byterange_mode) - avio_printf(out, "#EXT-X-BYTERANGE:%"PRIi64"@%"PRIi64"\n", - en->size, en->pos); +if ((hls->segment_type == SEGMENT_TYPE_FMP4) && (en == hls->segments)) { +avio_printf(out, "#EXT-X-MAP:URI=\"%s\"", hls->fmp4_init_filename); +if (hls->flags & HLS_SINGLE_FILE) { +avio_printf(out, ",BYTERANGE=\"%"PRId64"@%"PRId64"\"", en->size, en->pos); +} +avio_printf(out, "\n"); +} else { +if (hls->flags & HLS_ROUND_DURATIONS) +avio_printf(out, "#EXTINF:%ld,\n", lrint(en->duration)); +else +avio_printf(out, "#EXTINF:%f,\n", en->duration); +if (byterange_mode) +avio_printf(out, "#EXT-X-BYTERANGE:%"PRId64"@%"PRId64"\n", +en->size, en->pos); +} if (hls->flags & HLS_PROGRAM_DATE_TIME) { time_t tt, wrongsecs; int milli; @@ -1097,9 +1107,11 @@ static int hls_window(AVFormatContext *s, int last) avio_printf(out, "#EXT-X-PROGRAM-DATE-TIME:%s.%03d%s\n", buf0, milli, buf1); prog_date_time += en->duration; } -if (hls->baseurl) -avio_printf(out, "%s", hls->baseurl); -avio_printf(out, "%s\n", en->filename); +if (!((hls->segment_type == SEGMENT_TYPE_FMP4) && (en == hls->segments))) { +if (hls->baseurl) +avio_printf(out, "%s", hls->baseurl); +avio_printf(out, "%s\n", en->filename); +} } if (last && (hls->flags & HLS_OMIT_ENDLIST)==0) @@ -1262,7 +1274,7 @@ static int hls_start(AVFormatContext *s) } av_dict_free(&options); -if (c->segment_type == SEGMENT_TYPE_FMP4) { +if (c->segment_type == SEGMENT_TYPE_FMP4 && !(c->flags & HLS_SINGLE_FILE)) { write_styp(oc->pb); } else { /* We only require one PAT/PMT per segment. */ @@ -1315,15 +1327,10 @@ static int hls_write_header(AVFormatContext *s) const char *pattern_localtime_fmt = get_default_pattern_localtime_fmt(s); const char *vtt_pattern = "%d.vtt"; AVDictionary *options = NULL; -int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0); int basename_size; int vtt_basename_size; if (hls->segment_type == SEGMENT_TYPE_FMP4) { -if (byterange_mode) { -av_log(s, AV_LOG_WARNING, "Have not support fmp4 byt
[FFmpeg-cvslog] Tag n3.1.10 : FFmpeg 3.1.10 release
[ffmpeg] [branch: refs/tags/n3.1.10] Tag:94970575ba53043f8b43a6e320c5fe07695da660 > http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=94970575ba53043f8b43a6e320c5fe07695da660 Tagger: Michael Niedermayer Date: Fri Aug 4 16:09:45 2017 +0200 FFmpeg 3.1.10 release ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. a087889 web: Add FFmpeg 3.1.10
The branch, master has been updated via a0878890f5673f26daf7184bd8df53a9a1270b82 (commit) from 7ac955f6bf072d4e786e4e38503447431f284c70 (commit) - Log - commit a0878890f5673f26daf7184bd8df53a9a1270b82 Author: Michael Niedermayer AuthorDate: Fri Aug 4 16:12:27 2017 +0200 Commit: Michael Niedermayer CommitDate: Fri Aug 4 16:12:27 2017 +0200 web: Add FFmpeg 3.1.10 diff --git a/src/download b/src/download index 7b6fc48..6d3af9d 100644 --- a/src/download +++ b/src/download @@ -345,10 +345,10 @@ libpostproc54. 1.100 - FFmpeg 3.1.9 "Laplace" + FFmpeg 3.1.10 "Laplace" -3.1.9 was released on 2017-06-22. It is the latest stable FFmpeg release +3.1.10 was released on 2017-08-04. 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: @@ -366,19 +366,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.9";>Changelog + https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n3.1.10";>Changelog https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/3.1:/RELEASE_NOTES";>Release Notes diff --git a/src/security b/src/security index 81b4315..6ff8c53 100644 --- a/src/security +++ b/src/security @@ -112,6 +112,17 @@ CVE-2016-8595, 987690799dd86433bf98b897aaa4c8d93ade646d FFmpeg 3.1 +3.1.10 + +Fixes following vulnerabilities: + + +CVE-2017-11399, 750fec58e175b22ac23ff349c4b0a9b765ea4d0c / ba4beaf6149f7241c8bd85fe853318c2f6837ad0 +CVE-2017-11665, 06ce68d8a07d6365d67fdd8ed3c1e422f97a43fa / ffcc82219cef0928bed2d558b19ef6ea35634130 +CVE-2017-11665, 54a6c1368cdbb13eb0015433edca0d0fc9ea5dfb / 08c073434e25cba8c43aae5ed9554fdd594adfb0 +CVE-2017-11719, 956f2db21ffc1ca7f8dae7a3f44b09a145d9b9fa / 296debd213bd6dce7647cedd34eb64e5b94cdc92 + + 3.1.9 Fixes following vulnerabilities: --- Summary of changes: src/download | 18 +- src/security | 11 +++ 2 files changed, 20 insertions(+), 9 deletions(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/libav-merge: remove the hls merge TODO
ffmpeg | branch: master | Steven Liu | Fri Aug 4 22:18:22 2017 +0800| [44e9783ab9a1a26d718a9360adfb528d5015df6e] | committer: Steven Liu doc/libav-merge: remove the hls merge TODO This TODO is done. See 5caaa3a49e76b084ff8a9840d541bad64d96d7f7 Reviewed-by: Clément Bœsch Signed-off-by: Steven Liu > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44e9783ab9a1a26d718a9360adfb528d5015df6e --- doc/libav-merge.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/libav-merge.txt b/doc/libav-merge.txt index 690c4ef97f..96b008b71b 100644 --- a/doc/libav-merge.txt +++ b/doc/libav-merge.txt @@ -105,7 +105,6 @@ Collateral damage that needs work locally: - Merge proresdec2.c and proresdec_lgpl.c - Merge proresenc_anatoliy.c and proresenc_kostya.c - Fix MIPS AC3 downmix -- hlsenc encryption support may need some adjustment (see edc43c571d) Extra changes needed to be aligned with Libav: -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog