[FFmpeg-cvslog] Add lensfun filter
ffmpeg | branch: master | Stephen Seo | Fri Jul 13 19:33:12 2018 +0900| [0ea20124b710e3f05899b2ccea9f2a00f62a76a0] | committer: Paul B Mahol Add lensfun filter Lensfun is a library that applies lens correction to an image using a database of cameras/lenses (you provide the camera and lens models, and it uses the corresponding database entry's parameters to apply lens correction). It is licensed under LGPL3. The lensfun filter utilizes the lensfun library to apply lens correction to videos as well as images. This filter was created out of necessity since I wanted to apply lens correction to a video and the lenscorrection filter did not work for me. While this filter requires little info from the user to apply lens correction, the flaw is that lensfun is intended to be used on indvidual images. When used on a video, the parameters such as focal length is constant, so lens correction may fail on videos where the camera's focal length changes (zooming in or out via zoom lens). To use this filter correctly on videos where such parameters change, timeline editing may be used since this filter supports it. Note that valgrind shows a small memory leak which is not from this filter but from the lensfun library (memory is allocated when loading the lensfun database but it somehow isn't deallocated even during cleanup; it is briefly created in the init function of the filter, and destroyed before the init function returns). This may have been fixed by the latest commit in the lensfun repository; the current latest release of lensfun is almost 3 years ago. Bi-Linear interpolation is used by default as lanczos interpolation shows more artifacts in the corrected image in my tests. The lanczos interpolation is derived from lenstool's implementation of lanczos interpolation. Lenstool is an app within the lensfun repository which is licensed under GPL3. v2 of this patch fixes license notice in libavfilter/vf_lensfun.c v3 of this patch fixes code style and dependency to gplv3 (thanks to Paul B Mahol for pointing out the mentioned issues). v4 of this patch fixes more code style issues that were missed in v3. v5 of this patch adds line breaks to some of the documentation in doc/filters.texi (thanks to Gyan Doshi for pointing out the issue). v6 of this patch fixes more problems (thanks to Moritz Barsnick for pointing them out). v7 of this patch fixes use of sqrt() (changed to sqrtf(); thanks to Moritz Barsnick for pointing this out). Also should be rebased off of latest master branch commits at this point. Signed-off-by: Stephen Seo > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0ea20124b710e3f05899b2ccea9f2a00f62a76a0 --- configure| 4 + doc/filters.texi | 118 ++ libavfilter/Makefile | 1 + libavfilter/allfilters.c | 1 + libavfilter/vf_lensfun.c | 548 +++ 5 files changed, 672 insertions(+) diff --git a/configure b/configure index b1a4dcfc42..5783407bdc 100755 --- a/configure +++ b/configure @@ -239,6 +239,7 @@ External library support: --enable-libilbc enable iLBC de/encoding via libilbc [no] --enable-libjack enable JACK audio sound server [no] --enable-libkvazaar enable HEVC encoding via libkvazaar [no] + --enable-liblensfun enable lensfun lens correction [no] --enable-libmodplug enable ModPlug via libmodplug [no] --enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] @@ -1656,6 +1657,7 @@ EXTERNAL_LIBRARY_NONFREE_LIST=" EXTERNAL_LIBRARY_VERSION3_LIST=" gmp +liblensfun libopencore_amrnb libopencore_amrwb libvmaf @@ -3353,6 +3355,7 @@ hqdn3d_filter_deps="gpl" interlace_filter_deps="gpl" kerndeint_filter_deps="gpl" ladspa_filter_deps="ladspa libdl" +lensfun_filter_deps="liblensfun version3" lv2_filter_deps="lv2" mcdeint_filter_deps="avcodec gpl" movie_filter_deps="avcodec avformat" @@ -6023,6 +6026,7 @@ enabled libgsm&& { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do done || die "ERROR: libgsm not found"; } enabled libilbc && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc $pthreads_extralibs enabled libkvazaar&& require_pkg_config libkvazaar "kvazaar >= 0.8.1" kvazaar.h kvz_api_get +enabled liblensfun&& require_pkg_config liblensfun lensfun lensfun.h lf_db_new # While it may appear that require is being used as a pkg-config # fallback for libmfx, it is actually being used to detect a different # installation route altogether. If libmfx is installed via the Intel diff --git a/doc/filters.texi b/doc/filters.texi index 49895ff947..9d8f88ddcf 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -10700,6 +10700,124 @@ The formula that generates the correction is: where @var{r_0} is halve of the image diagonal and @var{r_src} and @var{r_tgt} are the dist
[FFmpeg-cvslog] Update Changelog for lensfun addition and bump minor
ffmpeg | branch: master | Paul B Mahol | Sun Jul 15 10:23:20 2018 +0200| [5d8df3cc4ac089bb6ed47b944f30f0e2cf9ceb19] | committer: Paul B Mahol Update Changelog for lensfun addition and bump minor > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d8df3cc4ac089bb6ed47b944f30f0e2cf9ceb19 --- Changelog | 1 + libavfilter/version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index e43a159b0d..72da5bf519 100644 --- a/Changelog +++ b/Changelog @@ -14,6 +14,7 @@ version : - libtensorflow backend for DNN based filters like srcnn - vc1 decoder is now bit-exact - ATRAC9 decoder +- lensfun wrapper filter version 4.0: diff --git a/libavfilter/version.h b/libavfilter/version.h index a7be7e64af..0ac3a2f3a9 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -30,7 +30,7 @@ #include "libavutil/version.h" #define LIBAVFILTER_VERSION_MAJOR 7 -#define LIBAVFILTER_VERSION_MINOR 25 +#define LIBAVFILTER_VERSION_MINOR 26 #define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/3.4 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [c1e172c2e14ef059dac632f7c67f081dfecd30dc] | committer: Jan Ekström avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c1e172c2e14ef059dac632f7c67f081dfecd30dc --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, &loss); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/3.2 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [c773ce32e1f0213117cb12534289c65954d26455] | committer: Jan Ekström avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c773ce32e1f0213117cb12534289c65954d26455 --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, &loss); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: Allocate input padding
ffmpeg | branch: master | Michael Niedermayer | Fri Jul 13 18:56:10 2018 +0200| [cd86b5cfe278af79d6b147e122d9a72c270a9fde] | committer: Michael Niedermayer avcodec/dvdsub_parser: Allocate input padding Fixes: out of array read Fixes: 9350/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVDSUB_fuzzer-574650765568 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd86b5cfe278af79d6b147e122d9a72c270a9fde --- libavcodec/dvdsub_parser.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 8e1c48bef6..698ccb6987 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -57,7 +57,11 @@ static int dvdsub_parse(AVCodecParserContext *s, if (pc->packet_len == 0) /* HD-DVD subpicture packet */ pc->packet_len = AV_RB32(buf+2); av_freep(&pc->packet); -pc->packet = av_malloc(pc->packet_len); +if ((unsigned)pc->packet_len > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { +av_log(avctx, AV_LOG_ERROR, "packet length %d is invalid\n", pc->packet_len); +return buf_size; +} +pc->packet = av_malloc(pc->packet_len + AV_INPUT_BUFFER_PADDING_SIZE); } if (pc->packet) { if (pc->packet_index + buf_size <= pc->packet_len) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/lagarith: Check that the range coded data stream is consistent when the probabilities indicate no data could have been coded.
ffmpeg | branch: master | Michael Niedermayer | Thu Jun 14 22:16:52 2018 +0200| [8d21ab4d128ddae03fe6b21542c29dee240151db] | committer: Michael Niedermayer avcodec/lagarith: Check that the range coded data stream is consistent when the probabilities indicate no data could have been coded. Fixes: Timeout Fixes: 8638/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LAGARITH_fuzzer-5132046098759680 Fixes: 8943/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LAGARITH_fuzzer-4883030219948032 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d21ab4d128ddae03fe6b21542c29dee240151db --- libavcodec/lagarith.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c index 0f4aa89486..ba2da2eeb2 100644 --- a/libavcodec/lagarith.c +++ b/libavcodec/lagarith.c @@ -141,6 +141,7 @@ static int lag_read_prob_header(lag_rac *rac, GetBitContext *gb) unsigned prob, cumulative_target; unsigned cumul_prob = 0; unsigned scaled_cumul_prob = 0; +int nnz = 0; rac->prob[0] = 0; rac->prob[257] = UINT_MAX; @@ -164,6 +165,8 @@ static int lag_read_prob_header(lag_rac *rac, GetBitContext *gb) prob = 256 - i; for (j = 0; j < prob; j++) rac->prob[++i] = 0; +}else { +nnz++; } } @@ -172,6 +175,10 @@ static int lag_read_prob_header(lag_rac *rac, GetBitContext *gb) return -1; } +if (nnz == 1 && (show_bits_long(gb, 32) & 0xFF)) { +return AVERROR_INVALIDDATA; +} + /* Scale probabilities so cumulative probability is an even power of 2. */ scale_factor = av_log2(cumul_prob); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: Init output buf/size
ffmpeg | branch: master | Michael Niedermayer | Fri Jul 13 18:54:48 2018 +0200| [9e6c8437761661441d836876934314cb2b8fafe7] | committer: Michael Niedermayer avcodec/dvdsub_parser: Init output buf/size No testcase Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e6c8437761661441d836876934314cb2b8fafe7 --- libavcodec/dvdsub_parser.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 32a945ed65..8e1c48bef6 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -44,6 +44,9 @@ static int dvdsub_parse(AVCodecParserContext *s, { DVDSubParseContext *pc = s->priv_data; +*poutbuf = buf; +*poutbuf_size = buf_size; + if (pc->packet_index == 0) { if (buf_size < 2 || AV_RB16(buf) && buf_size < 6) { if (buf_size) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/vp8_parser: Remove redundant output initialization
ffmpeg | branch: master | Michael Niedermayer | Fri Jul 13 18:53:38 2018 +0200| [2e6ea3938669a5a0aa00a58ff83d4c0a1ae3b2a7] | committer: Michael Niedermayer avcodec/vp8_parser: Remove redundant output initialization Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2e6ea3938669a5a0aa00a58ff83d4c0a1ae3b2a7 --- libavcodec/vp8_parser.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavcodec/vp8_parser.c b/libavcodec/vp8_parser.c index e2d91b271f..7ce35e7535 100644 --- a/libavcodec/vp8_parser.c +++ b/libavcodec/vp8_parser.c @@ -70,8 +70,6 @@ static int parse(AVCodecParserContext *s, s->coded_height = FFALIGN(height, 16); } -*poutbuf = buf; -*poutbuf_size = buf_size; return buf_size; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavcodec/cfhd: Fix signed overflow in shift
ffmpeg | branch: master | Michael Niedermayer | Sat Jul 14 00:24:47 2018 +0200| [7334985ffae8067b84884b5bd345db06fe2cc220] | committer: Michael Niedermayer libavcodec/cfhd: Fix signed overflow in shift Fixes: 8695/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-4906172426485760 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7334985ffae8067b84884b5bd345db06fe2cc220 --- libavcodec/cfhd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c index 051d210355..ef5ebe42c5 100644 --- a/libavcodec/cfhd.c +++ b/libavcodec/cfhd.c @@ -541,7 +541,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, s->peak.level = 0; } else if (tag == -76) { s->peak.offset &= 0x; -s->peak.offset |= (data & 0x)<<16; +s->peak.offset |= (data & 0xU)<<16; s->peak.base= (int16_t *) gb.buffer; s->peak.level = 0; } else if (tag == -74 && s->peak.offset) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: Allocate input padding
ffmpeg | branch: release/2.8 | Michael Niedermayer | Fri Jul 13 18:56:10 2018 +0200| [83679bd293c4ba0798512c6eb8c063948b8c00f5] | committer: Michael Niedermayer avcodec/dvdsub_parser: Allocate input padding Fixes: out of array read Fixes: 9350/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVDSUB_fuzzer-574650765568 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer (cherry picked from commit cd86b5cfe278af79d6b147e122d9a72c270a9fde) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=83679bd293c4ba0798512c6eb8c063948b8c00f5 --- libavcodec/dvdsub_parser.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 8e1c48bef6..698ccb6987 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -57,7 +57,11 @@ static int dvdsub_parse(AVCodecParserContext *s, if (pc->packet_len == 0) /* HD-DVD subpicture packet */ pc->packet_len = AV_RB32(buf+2); av_freep(&pc->packet); -pc->packet = av_malloc(pc->packet_len); +if ((unsigned)pc->packet_len > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { +av_log(avctx, AV_LOG_ERROR, "packet length %d is invalid\n", pc->packet_len); +return buf_size; +} +pc->packet = av_malloc(pc->packet_len + AV_INPUT_BUFFER_PADDING_SIZE); } if (pc->packet) { if (pc->packet_index + buf_size <= pc->packet_len) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dvdsub_parser: Init output buf/size
ffmpeg | branch: release/2.8 | Michael Niedermayer | Fri Jul 13 18:54:48 2018 +0200| [d25463c515cd0e08c2c10ce49b4192286af7474d] | committer: Michael Niedermayer avcodec/dvdsub_parser: Init output buf/size No testcase Signed-off-by: Michael Niedermayer (cherry picked from commit 9e6c8437761661441d836876934314cb2b8fafe7) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d25463c515cd0e08c2c10ce49b4192286af7474d --- libavcodec/dvdsub_parser.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 32a945ed65..8e1c48bef6 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -44,6 +44,9 @@ static int dvdsub_parse(AVCodecParserContext *s, { DVDSubParseContext *pc = s->priv_data; +*poutbuf = buf; +*poutbuf_size = buf_size; + if (pc->packet_index == 0) { if (buf_size < 2 || AV_RB16(buf) && buf_size < 6) { if (buf_size) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] update for 2.8.15
ffmpeg | branch: release/2.8 | Michael Niedermayer | Sun Jul 15 20:29:24 2018 +0200| [48e104a8240d773f66a62969680a93d3c952e45b] | committer: Michael Niedermayer update for 2.8.15 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=48e104a8240d773f66a62969680a93d3c952e45b --- Changelog| 98 RELEASE | 2 +- doc/Doxyfile | 2 +- 3 files changed, 100 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 646ae02510..0329e58c3d 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,104 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. +version 2.8.15: +- avcodec/dvdsub_parser: Allocate input padding +- avcodec/dvdsub_parser: Init output buf/size +- avcodec/imgconvert: fix possible null pointer dereference +- swresample/arm: rename labels to fix xcode build error +- avformat/utils: fix mixed declarations and code +- libwebpenc_animencoder: add missing braces to struct initialization +- avformat/movenc: Check input sample count +- avcodec/mjpegdec: Check for odd progressive RGB +- avformat/movenc: Check that frame_types other than EAC3_FRAME_TYPE_INDEPENDENT have a supported substream id +- avformat/mms: Add missing chunksize check +- avformat/pva: Check for EOF before retrying in read_part_of_packet() +- avcodec/indeo4: Check for end of bitstream in decode_mb_info() +- avcodec/shorten: Fix undefined addition in shorten_decode_frame() +- avcodec/jpeg2000dec: Fixes invalid shifts in jpeg2000_decode_packets_po_iteration() +- avcodec/jpeg2000dec: Check that there are enough bytes for all tiles +- avcodec/escape124: Fix spelling errors in comment +- avcodec/ra144: Fix integer overflow in ff_eval_refl() +- avcodec/cscd: Check output buffer size for lzo. +- avcodec/escape124: Check buf_size against num_superblocks +- avcodec/mjpegdec: Check for end of bitstream in ljpeg_decode_rgb_scan() +- avcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fixed() +- avutil/common: Fix undefined behavior in av_clip_uintp2_c() +- fftools/ffmpeg: Fallback to duration if sample rate is unavailable +- avformat/mov: Only set pkt->duration to non negative values +- avcodec/h264_mc_template: Only prefetch motion if the list is used. +- avcodec/xwddec: Use ff_set_dimensions() +- avcodec/wavpack: Fix overflow in adding tail +- avcodec/shorten: Fix multiple integer overflows +- avcodec/shorten: Sanity check nmeans +- avcodec/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan() +- avcodec/truemotion2: Fix overflow in tm2_apply_deltas() +- avcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c +- avcodec/amrwbdec: Fix division by 0 in find_hb_gain() +- avformat/mov: replace a value error by clipping into valid range in mov_read_stsc() +- avformat/mov: Break out early if chunk_count is 0 in mov_build_index() +- avcodec/fic: Avoid some magic numbers related to cursors +- avcodec/g2meet: ask for sample with overflowing RGB +- avcodec/aacdec_fixed: use 64bit to avoid overflow in rounding in apply_dependent_coupling_fixed() +- avcodec/mpeg4videoenc: Use 64 bit for times in mpeg4_encode_gop_header() +- avcodec/mlpdec: Only change noise_type if the related fields are valid +- indeo4: Decode all or nothing of a band header. +- avformat/mov: Only fail for STCO/STSC contradictions if both exist +- avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0 / COMPOSE_DD137iL0 +- avcodec/fic: Check available input space for cursor +- avcodec/g2meet: Check RGB upper limit +- avcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration() CPRL case +- avcodec/jpeg2000dec: Skip init for component in CPRL if nothing is to be done +- avcodec/g2meet: Change order of operations to avoid undefined behavior +- avcodec/flac_parser: Fix infinite loop +- avcodec/wavpack: Fix integer overflow in DEC_MED() / INC_MED() +- avcodec/error_resilience: Fix integer overflow in filter181() +- avcodec/h263dec: Check slice_ret in mspeg4 slice loop +- avcodec/elsdec: Fix memleaks +- avcodec/vc1_block: simplify ac_val computation +- avcodec/ffv1enc: Check that the crc + version combination is supported +- lavf/http.c: Free allocated client URLContext in case of error. +- avcodec/dsicinvideo: Fail if there is only a small fraction of the data available that comprises a full frame +- avcodec/dsicinvideo: Propagate errors from cin_decode_rle() +- avcodec/dfa: Check dimension against maximum +- avcodec/cinepak: Skip empty frames +- avcodec/cinepak: move some checks prior to frame allocation +- swresample/arm: remove unintentional relocation. +- doc/APIchanges: Fix typos in hashes +- avformat/utils: Check cur_dts in update_initial_timestamps() more +- avcodec/utils: Enforce minimum width also for VP5/6 +- avcodec/truemotion2: Propagate out of bounds error from GET_TOK() +- avcodec/mjpegdec: Che
[FFmpeg-cvslog] swresample/arm: rename labels to fix xcode build error
ffmpeg | branch: release/2.8 | Rahul Chaudhry | Fri Apr 27 13:49:52 2018 -0700| [9ffbda72c768a97d017aef42261dd5d657d4af6f] | committer: Michael Niedermayer swresample/arm: rename labels to fix xcode build error Signed-off-by: Michael Niedermayer (cherry picked from commit e84212b78e00df17799e01be1e153a073eb8f689) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ffbda72c768a97d017aef42261dd5d657d4af6f --- libswresample/arm/audio_convert_neon.S | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libswresample/arm/audio_convert_neon.S b/libswresample/arm/audio_convert_neon.S index 7729514701..085d50aafa 100644 --- a/libswresample/arm/audio_convert_neon.S +++ b/libswresample/arm/audio_convert_neon.S @@ -22,7 +22,7 @@ #include "libavutil/arm/asm.S" function swri_oldapi_conv_flt_to_s16_neon, export=1 -_swri_oldapi_conv_flt_to_s16_neon: +.L_swri_oldapi_conv_flt_to_s16_neon: subsr2, r2, #8 vld1.32 {q0}, [r1,:128]! vcvt.s32.f32q8, q0, #31 @@ -67,7 +67,7 @@ _swri_oldapi_conv_flt_to_s16_neon: endfunc function swri_oldapi_conv_fltp_to_s16_2ch_neon, export=1 -_swri_oldapi_conv_fltp_to_s16_2ch_neon: +.L_swri_oldapi_conv_fltp_to_s16_2ch_neon: ldm r1, {r1, r3} subsr2, r2, #8 vld1.32 {q0}, [r1,:128]! @@ -135,8 +135,8 @@ function swri_oldapi_conv_fltp_to_s16_nch_neon, export=1 cmp r3, #2 itt lt ldrlt r1, [r1] -blt _swri_oldapi_conv_flt_to_s16_neon -beq _swri_oldapi_conv_fltp_to_s16_2ch_neon +blt .L_swri_oldapi_conv_flt_to_s16_neon +beq .L_swri_oldapi_conv_fltp_to_s16_2ch_neon push{r4-r8, lr} cmp r3, #4 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/2.8 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [03af6ab540ccf0987da27dab71cf65eb5aa6136d] | committer: Michael Niedermayer avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) (cherry picked from commit c1e172c2e14ef059dac632f7c67f081dfecd30dc) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=03af6ab540ccf0987da27dab71cf65eb5aa6136d --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 0abe6cdf48..2402718b1f 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -84,11 +84,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, &loss); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/filters: add missing details to aphasemeter
ffmpeg | branch: master | Gyan Doshi | Mon Jul 16 11:38:22 2018 +0530| [b8c4d2b2ed22b29a5366f75eaef2ae3be3c78412] | committer: Gyan Doshi doc/filters: add missing details to aphasemeter First output is audio and is rematrixed to stereo > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b8c4d2b2ed22b29a5366f75eaef2ae3be3c78412 --- doc/filters.texi | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 9d8f88ddcf..705d48e1b0 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -18435,9 +18435,15 @@ Default is @code{replace}. @section aphasemeter -Convert input audio to a video output, displaying the audio phase. +Measures phase of input audio, which is exported as metadata @code{lavfi.aphasemeter.phase}, +representing mean phase of current audio frame. A video output can also be produced and is +enabled by default. The audio is passed through as first output. -The filter accepts the following options: +Audio will be rematrixed to stereo if it has a different channel layout. Phase value is in +range @code{[-1, 1]} where @code{-1} means left and right channels are completely out of phase +and @code{1} means channels are in phase. + +The filter accepts the following options, all related to its video output: @table @option @item rate, r @@ -18463,11 +18469,6 @@ Set color which will be used for drawing median phase. If color is Enable video output. Default is enabled. @end table -The filter also exports the frame metadata @code{lavfi.aphasemeter.phase} which -represents mean phase of current audio frame. Value is in range @code{[-1, 1]}. -The @code{-1} means left and right channels are completely out of phase and -@code{1} means channels are in phase. - @section avectorscope Convert input audio to a video output, representing the audio vector ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog