[FFmpeg-cvslog] doc/filters: fix typos
ffmpeg | branch: master | Reto Kromer | Sun Feb 10 06:59:09 2019 +0100| [d20902fd2399ae04cbd5c02e83fbd90c68592555] | committer: Gyan Doshi doc/filters: fix typos Signed-off-by: Gyan Doshi > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d20902fd2399ae04cbd5c02e83fbd90c68592555 --- doc/filters.texi | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index aa5230cc48..ac6f6f0082 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -431,7 +431,7 @@ Range is between 0 and 1. @end table @section acontrast -Simple audio dynamic range commpression/expansion filter. +Simple audio dynamic range compression/expansion filter. The filter accepts the following options: @@ -605,8 +605,8 @@ The lower value, the more samples will be detected as impulsive noise. @item b Set burst fusion, in percentage of window size. Allowed range is @code{0} to @code{10}. Default value is @code{2}. -If any two samples deteced as noise are spaced less than this value then any -sample inbetween those two samples will be also detected as noise. +If any two samples detected as noise are spaced less than this value then any +sample in between those two samples will be also detected as noise. @item m Set overlap method. @@ -1220,7 +1220,7 @@ Set max allowed Impulse Response filter duration in seconds. Default is 30 secon Allowed range is 0.1 to 60 seconds. @item response -Show IR frequency reponse, magnitude(magenta) and phase(green) and group delay(yellow) in additional video stream. +Show IR frequency response, magnitude(magenta), phase(green) and group delay(yellow) in additional video stream. By default it is disabled. @item channel @@ -1382,7 +1382,7 @@ Z-plane zeros/poles, polar degrees @item r Set kind of processing. -Can be @code{d} - direct or @code{s} - serial cascading. Defauls is @code{s}. +Can be @code{d} - direct or @code{s} - serial cascading. Default is @code{s}. @item e Set filtering precision. @@ -10534,7 +10534,7 @@ max value instead of calculating Minkowski distance. @item sigma The standard deviation of Gaussian blur to be applied on the scene. Must be chosen in the range [0,1024.0] and default value = 1. floor( @var{sigma} * break_off_sigma(3) ) -can't be euqal to 0 if @var{difford} is greater than 0. +can't be equal to 0 if @var{difford} is greater than 0. @end table @subsection Examples @@ -18858,7 +18858,7 @@ Default value for each plane is @code{0 0 0 0 1 0 0 0 0}. @item 3rdiv Set multiplier for calculated value for each plane. If unset or 0, it will be sum of all matrix elements. -The option value must be an float number greater or equal to @code{0.0}. Default value is @code{1.0}. +The option value must be a float number greater or equal to @code{0.0}. Default value is @code{1.0}. @item 0bias @item 1bias @@ -18866,7 +18866,7 @@ The option value must be an float number greater or equal to @code{0.0}. Default @item 3bias Set bias for each plane. This value is added to the result of the multiplication. Useful for making the overall image brighter or darker. -The option value must be an float number greater or equal to @code{0.0}. Default value is @code{0.0}. +The option value must be a float number greater or equal to @code{0.0}. Default value is @code{0.0}. @end table @@ -19136,7 +19136,7 @@ the cpu version tonemap currently. A setting of 0.0 disables this option. @item threshold The tonemapping algorithm parameters is fine-tuned per each scene. And a threshold -is used to detect whether the scene has changed or not. If the distance beween +is used to detect whether the scene has changed or not. If the distance between the current frame average brightness and the current running average exceeds a threshold value, we would re-calculate scene average and peak brightness. The default value is 0.2. @@ -19558,7 +19558,7 @@ Set outer coloring mode. It shall assume one of following values: @table @option @item iteration_count -Set iteration cound mode. +Set iteration count mode. @item normalized_iteration_count set normalized iteration count mode. @end table @@ -22479,7 +22479,7 @@ This filter is primarily created for reversing processed @ref{showspectrum} filter outputs, but can synthesize sound from other spectrograms too. But in such case results are going to be poor if the phase data is not available, because in such cases phase data need to be recreated, usually -its just recreated from random noise. +it's just recreated from random noise. For best results use gray only output (@code{channel} color mode in @ref{showspectrum} filter) and @code{log} scale for magnitude video and @code{lin} scale for phase video. To produce phase, for 2nd video, use ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/hlsenc: fix fmp4_init_filename file name with %v problem
ffmpeg | branch: master | Steven Liu | Sat Jan 19 14:59:44 2019 +0800| [9ec1f7634a621b0fda6d814f730c270c6e22b251] | committer: Steven Liu avformat/hlsenc: fix fmp4_init_filename file name with %v problem when set option fmp4_init_filename to init_%v.mp4 before patch: the init file will be init_%v_0.mp4, init_%v_1.mp4 after patch: the init file will be init_0.mp4, init_1.mp4 Reported-By: Gyan Doshi Signed-off-by: Steven Liu > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ec1f7634a621b0fda6d814f730c270c6e22b251 --- libavformat/hlsenc.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index d91960d752..258d0628ba 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -2740,7 +2740,11 @@ static int hls_init(AVFormatContext *s) av_strlcpy(vs->fmp4_init_filename, hls->fmp4_init_filename, fmp4_init_filename_len); if (hls->nb_varstreams > 1) { -ret = append_postfix(vs->fmp4_init_filename, fmp4_init_filename_len, i); +if (av_stristr(vs->fmp4_init_filename, "%v")) { +format_name(vs->fmp4_init_filename, fmp4_init_filename_len, i); +} else { +ret = append_postfix(vs->fmp4_init_filename, fmp4_init_filename_len, i); +} if (ret < 0) goto fail; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] add libaribb24 ARIB STD-B24 caption decoder
ffmpeg | branch: master | Jan Ekström | Mon Jan 14 21:52:23 2019 +0200| [100bfac6d6ecb3447dc3ac4b9d2c41085da59a8b] | committer: Jan Ekström add libaribb24 ARIB STD-B24 caption decoder * Outputs ASS lines with basic coloring and font scaling for each given region. * Sets the default style to the resolution of the subtitle plane (for example, 960x540 / 36pt font for profile A). * Has options to: * Disable ruby text (which is coded as regions which have half-height text in libaribb24). Enabled by default as without positioning ruby text only confuses as it is usually coded in the beginning of the decoded subtitle line. * Set the working directory, in which libaribb24 will read configuration as well as into which it may save broadcast extra symbols as PNG. Unset by default. The unconventional library check can be explained by the library's current master branch being licensed as LGPLv3, but at the time of writing the latest official release is still licensed under GPLv3. Thus, one either has to wait for the following release, or enable GPLv3. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=100bfac6d6ecb3447dc3ac4b9d2c41085da59a8b --- Changelog | 1 + configure | 6 + doc/decoders.texi | 25 libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/avcodec.h| 4 + libavcodec/codec_desc.c | 9 +- libavcodec/libaribb24.c | 384 libavcodec/profiles.c | 6 + libavcodec/profiles.h | 1 + libavcodec/version.h| 2 +- 11 files changed, 438 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 06cf6bf080..d5515c4911 100644 --- a/Changelog +++ b/Changelog @@ -17,6 +17,7 @@ version : - maskfun filter - hcom demuxer and decoder - ARBC decoder +- libaribb24 based ARIB STD-B24 caption support (profiles A and C) version 4.1: diff --git a/configure b/configure index e1412352fa..fe45fd2290 100755 --- a/configure +++ b/configure @@ -218,6 +218,7 @@ External library support: --enable-jni enable JNI support [no] --enable-ladspa enable LADSPA audio filtering [no] --enable-libaom enable AV1 video encoding/decoding via libaom [no] + --enable-libaribb24 enable ARIB text and caption decoding via libaribb24 [no] --enable-libass enable libass subtitles rendering, needed for subtitles and ass filter [no] --enable-libbluray enable BluRay reading using libbluray [no] @@ -1683,6 +1684,7 @@ EXTERNAL_LIBRARY_NONFREE_LIST=" EXTERNAL_LIBRARY_VERSION3_LIST=" gmp +libaribb24 liblensfun libopencore_amrnb libopencore_amrwb @@ -3094,6 +3096,7 @@ hevc_videotoolbox_encoder_select="videotoolbox_encoder" libaom_av1_decoder_deps="libaom" libaom_av1_encoder_deps="libaom" libaom_av1_encoder_select="extract_extradata_bsf" +libaribb24_decoder_deps="libaribb24" libcelt_decoder_deps="libcelt" libcodec2_decoder_deps="libcodec2" libcodec2_encoder_deps="libcodec2" @@ -6080,6 +6083,9 @@ enabled gnutls&& require_pkg_config gnutls gnutls gnutls/gnutls.h gn enabled jni && { [ $target_os = "android" ] && check_headers jni.h && enabled pthreads || die "ERROR: jni not found"; } enabled ladspa&& require_headers "ladspa.h dlfcn.h" enabled libaom&& require_pkg_config libaom "aom >= 1.0.0" aom/aom_codec.h aom_codec_version +enabled libaribb24&& { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || + { enabled gpl && require_pkg_config libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } || + die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } enabled lv2 && require_pkg_config lv2 lilv-0 "lilv/lilv.h" lilv_world_new enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883 enabled libass&& require_pkg_config libass libass ass/ass.h ass_library_init diff --git a/doc/decoders.texi b/doc/decoders.texi index 25187e30f1..704bd60b9f 100644 --- a/doc/decoders.texi +++ b/doc/decoders.texi @@ -194,6 +194,31 @@ without this library. @chapter Subtitles Decoders @c man begin SUBTILES DECODERS +@section libaribb24 + +ARIB STD-B24 caption decoder. + +Implements profiles A and C of the ARIB STD-B24 standard. + +@subsection libaribb24 Decoder Options + +@table @option + +@item -aribb24-base-path @var{path} +Sets the base path for the libaribb24 library. This is utilized for reading of +configuration files (for custom unicode conversions), and for dumping of +non-text symbols as images under that location. + +Unset by default. + +@item -aribb24-skip-ruby-text @var{boolean} +Tells the decoder wrapper to skip text blocks that contain half-height ruby
[FFmpeg-cvslog] lavf/mpegts: add reading of ARIB data coding descriptor
ffmpeg | branch: master | Jan Ekström | Mon Jan 14 22:07:51 2019 +0200| [a03885b745be6ba324f0b24668c8e338d8b1e54c] | committer: Jan Ekström lavf/mpegts: add reading of ARIB data coding descriptor This enables us to read the data coding type utilized for a specific private data stream, of which we currently are interested in ARIB caption streams. The component tag limitations are according to ARIB TR-B14, and the component IDs are defined in ARIB STD-B10. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a03885b745be6ba324f0b24668c8e338d8b1e54c --- libavformat/mpegts.c | 44 1 file changed, 44 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index f5a87c87cb..b347ec1736 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2058,6 +2058,50 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type } } break; +case 0xfd: /* ARIB data coding type descriptor */ +// STD-B24, fascicle 3, chapter 4 defines private_stream_1 +// for captions +if (stream_type == STREAM_TYPE_PRIVATE_DATA) { +// This structure is defined in STD-B10, part 1, listing 5.4 and +// part 2, 6.2.20). +// Listing of data_component_ids is in STD-B10, part 2, Annex J. +// Component tag limits are documented in TR-B14, fascicle 2, +// Vol. 3, Section 2, 4.2.8.1 +int actual_component_tag = st->stream_identifier - 1; +int picked_profile = FF_PROFILE_UNKNOWN; +int data_component_id = get16(pp, desc_end); +if (data_component_id < 0) +return AVERROR_INVALIDDATA; + +switch (data_component_id) { +case 0x0008: +// [0x30..0x37] are component tags utilized for +// non-mobile captioning service ("profile A"). +if (actual_component_tag >= 0x30 && +actual_component_tag <= 0x37) { +picked_profile = FF_PROFILE_ARIB_PROFILE_A; +} +break; +case 0x0012: +// component tag 0x87 signifies a mobile/partial reception +// (1seg) captioning service ("profile C"). +if (actual_component_tag == 0x87) { +picked_profile = FF_PROFILE_ARIB_PROFILE_C; +} +break; +default: +break; +} + +if (picked_profile == FF_PROFILE_UNKNOWN) +break; + +st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; +st->codecpar->codec_id = AV_CODEC_ID_ARIB_CAPTION; +st->codecpar->profile= picked_profile; +st->request_probe= 0; +} +break; default: break; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 5db05ec web/download: add FFmpeg 4.1.1
The branch, master has been updated via 5db05ec65f0896d397d7c2e7959f4573f72251fd (commit) from 3c0cce68d7b65b2cef137f31557f7e58cdba8b0a (commit) - Log - commit 5db05ec65f0896d397d7c2e7959f4573f72251fd Author: Michael Niedermayer AuthorDate: Sat Feb 9 22:40:02 2019 +0100 Commit: Michael Niedermayer CommitDate: Sat Feb 9 22:40:29 2019 +0100 web/download: add FFmpeg 4.1.1 diff --git a/src/download b/src/download index 5d34245..30ed2dd 100644 --- a/src/download +++ b/src/download @@ -4,7 +4,7 @@ https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2; class="btn btn-success"> Download - ffmpeg-4.1.tar.bz2 + ffmpeg-4.1.1.tar.bz2 More releases @@ -269,10 +269,10 @@ and much faster bug fixes such as additional features and security patches. - FFmpeg 4.1 "al-Khwarizmi" + FFmpeg 4.1.1 "al-Khwarizmi" -4.1 was released on 2018-11-06. It is the latest stable FFmpeg release +4.1.1 was released on 2019-02-09. It is the latest stable FFmpeg release from the 4.1 release branch, which was cut from master on 2018-11-02. It includes the following library versions: @@ -289,19 +289,19 @@ libpostproc55. 3.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/n4.1;>Changelog + https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.1.1;>Changelog https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/4.1:/RELEASE_NOTES;>Release Notes --- Summary of changes: src/download | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Tag n4.1.1 : FFmpeg 4.1.1 release
[ffmpeg] [branch: refs/tags/n4.1.1] Tag:e12a576c7059b9adf1f564b77bc44df64852fc05 > http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=e12a576c7059b9adf1f564b77bc44df64852fc05 Tagger: Michael Niedermayer Date: Sat Feb 9 21:55:38 2019 +0100 FFmpeg 4.1.1 release ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffprobe: fix typo and update URL in man
ffmpeg | branch: master | Reto Kromer | Sat Feb 9 19:07:46 2019 +0100| [5b32f94b97dffa0e84c2af3d6778bd3319f52f95] | committer: Carl Eugen Hoyos doc/ffprobe: fix typo and update URL in man > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5b32f94b97dffa0e84c2af3d6778bd3319f52f95 --- doc/ffprobe.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi index be0539feb2..28371cee59 100644 --- a/doc/ffprobe.texi +++ b/doc/ffprobe.texi @@ -425,7 +425,7 @@ The @code{csv} writer is equivalent to @code{compact}, but supports different defaults. Each section is printed on a single line. -If no option is specifid, the output has the form: +If no option is specified, the output has the form: @example section|key1=val1| ... |keyN=valN @end example @@ -591,7 +591,7 @@ This option automatically sets @option{fully_qualified} to 1. @end table For more information about the XML format, see -@url{http://www.w3.org/XML/}. +@url{https://www.w3.org/XML/}. @c man end WRITERS @chapter Timecode ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/mov: validate chunk_count vs stsc_data
ffmpeg | branch: release/4.1 | chcunningham | Thu Feb 7 14:58:17 2019 -0800| [00cdf4e4e51750daa1e99ecbd49d6ee5f98dac51] | committer: Michael Niedermayer avformat/mov: validate chunk_count vs stsc_data Bad content may contain stsc boxes with a first_chunk index that exceeds stco.entries (chunk_count). This ammends the existing check to include cases where chunk_count == 0. It also patches up the case when stsc refers to unknown chunks, but stts has no samples (so we can simply ignore stsc). Signed-off-by: Michael Niedermayer (cherry picked from commit 1c15449ca9a5bfa387868ac55628397273da761f) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00cdf4e4e51750daa1e99ecbd49d6ee5f98dac51 --- libavformat/mov.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 4b67044219..38c1d9b7eb 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2696,8 +2696,11 @@ static inline int64_t mov_get_stsc_samples(MOVStreamContext *sc, unsigned int in if (mov_stsc_index_valid(index, sc->stsc_count)) chunk_count = sc->stsc_data[index + 1].first - sc->stsc_data[index].first; -else +else { +// Validation for stsc / stco happens earlier in mov_read_stsc + mov_read_trak. +av_assert0(sc->stsc_data[index].first <= sc->chunk_count); chunk_count = sc->chunk_count - (sc->stsc_data[index].first - 1); +} return sc->stsc_data[index].count * (int64_t)chunk_count; } @@ -4175,6 +4178,13 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) c->trak_index = -1; +// Here stsc refers to a chunk not described in stco. This is technically invalid, +// but we can overlook it (clearing stsc) whenever stts_count == 0 (indicating no samples). +if (!sc->chunk_count && !sc->stts_count && sc->stsc_count) { +sc->stsc_count = 0; +av_freep(>stsc_data); +} + /* sanity checks */ if ((sc->chunk_count && (!sc->stts_count || !sc->stsc_count || (!sc->sample_size && !sc->sample_count))) || @@ -4183,7 +4193,7 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) st->index); return 0; } -if (sc->chunk_count && sc->stsc_count && sc->stsc_data[ sc->stsc_count - 1 ].first > sc->chunk_count) { +if (sc->stsc_count && sc->stsc_data[ sc->stsc_count - 1 ].first > sc->chunk_count) { av_log(c->fc, AV_LOG_ERROR, "stream %d, contradictionary STSC and STCO\n", st->index); return AVERROR_INVALIDDATA; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Changelog: update
ffmpeg | branch: release/4.1 | Michael Niedermayer | Sat Feb 9 18:20:02 2019 +0100| [74700e50bf7444930bfc12935bd3e17cd5f766c1] | committer: Michael Niedermayer Changelog: update Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=74700e50bf7444930bfc12935bd3e17cd5f766c1 --- Changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog b/Changelog index acf01244ec..809d2967a2 100644 --- a/Changelog +++ b/Changelog @@ -2,6 +2,8 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. version 4.1.1: +- avformat/mov: validate chunk_count vs stsc_data +- avformat/mov: require tfhd to begin parsing trun - avcodec/pgssubdec: Check for duplicate display segments - avformat/rtsp: Check number of streams in sdp_parse_line() - avformat/rtsp: Clear reply in every iteration in ff_rtsp_connect() ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/mov.c: require tfhd to begin parsing trun
ffmpeg | branch: release/4.1 | chcunningham | Wed Feb 6 16:12:51 2019 -0800| [bcc71f30adc9de8b02f0b54636f02f20f71ef065] | committer: Michael Niedermayer avformat/mov.c: require tfhd to begin parsing trun Detecting missing tfhd avoids re-using tfhd track info from the previous moof. For files with multiple tracks, this may make a mess of the avindex and fragindex, which can later trigger av_assert0 in mov_read_trun(). Reviewed-by: Derek Buitenhuis Signed-off-by: Michael Niedermayer (cherry picked from commit 3ea87e5d9ea075d5b3c0f4f8c6c48e514b454cbe) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bcc71f30adc9de8b02f0b54636f02f20f71ef065 --- libavformat/isom.h | 1 + libavformat/mov.c | 10 ++ 2 files changed, 11 insertions(+) diff --git a/libavformat/isom.h b/libavformat/isom.h index e629663949..69452cae8e 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -87,6 +87,7 @@ typedef struct MOVAtom { struct MOVParseTableEntry; typedef struct MOVFragment { +int found_tfhd; unsigned track_id; uint64_t base_data_offset; uint64_t moof_offset; diff --git a/libavformat/mov.c b/libavformat/mov.c index ff7fdd48e2..4b67044219 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1370,6 +1370,9 @@ static void fix_frag_index_entries(MOVFragmentIndex *frag_index, int index, static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom) { +// Set by mov_read_tfhd(). mov_read_trun() will reject files missing tfhd. +c->fragment.found_tfhd = 0; + if (!c->has_looked_for_mfra && c->use_mfra_for > 0) { c->has_looked_for_mfra = 1; if (pb->seekable & AVIO_SEEKABLE_NORMAL) { @@ -4549,6 +4552,8 @@ static int mov_read_tfhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) MOVTrackExt *trex = NULL; int flags, track_id, i; +c->fragment.found_tfhd = 1; + avio_r8(pb); /* version */ flags = avio_rb24(pb); @@ -4684,6 +4689,11 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom) AVIndexEntry *new_entries; MOVFragmentStreamInfo * frag_stream_info; +if (!frag->found_tfhd) { +av_log(c->fc, AV_LOG_ERROR, "trun track id unknown, no tfhd was found\n"); +return AVERROR_INVALIDDATA; +} + for (i = 0; i < c->fc->nb_streams; i++) { if (c->fc->streams[i]->id == frag->track_id) { st = c->fc->streams[i]; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/sbrdsp_fixed.c: remove input value limit for sbr_sum_square_c()
ffmpeg | branch: master | Michael Niedermayer | Sun Feb 3 15:13:03 2019 +0100| [4cde7e62dbaa63eda173e8d24a97d273890f282c] | committer: Michael Niedermayer avcodec/sbrdsp_fixed.c: remove input value limit for sbr_sum_square_c() Fixes: 1377/clusterfuzz-testcase-minimized-5487049807233024 Fixes: assertion failure in sbr_sum_square_c() Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4cde7e62dbaa63eda173e8d24a97d273890f282c --- libavcodec/sbrdsp_fixed.c | 34 +++--- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/libavcodec/sbrdsp_fixed.c b/libavcodec/sbrdsp_fixed.c index 57d98da979..91fa664c08 100644 --- a/libavcodec/sbrdsp_fixed.c +++ b/libavcodec/sbrdsp_fixed.c @@ -34,32 +34,36 @@ static SoftFloat sbr_sum_square_c(int (*x)[2], int n) { SoftFloat ret; -uint64_t accu, round; +uint64_t accu = 0, round; uint64_t accu0 = 0, accu1 = 0, accu2 = 0, accu3 = 0; int i, nz, nz0; unsigned u; +nz = 0; for (i = 0; i < n; i += 2) { -// Larger values are inavlid and could cause overflows of accu. -av_assert2(FFABS(x[i + 0][0]) >> 30 == 0); accu0 += (int64_t)x[i + 0][0] * x[i + 0][0]; -av_assert2(FFABS(x[i + 0][1]) >> 30 == 0); accu1 += (int64_t)x[i + 0][1] * x[i + 0][1]; -av_assert2(FFABS(x[i + 1][0]) >> 30 == 0); accu2 += (int64_t)x[i + 1][0] * x[i + 1][0]; -av_assert2(FFABS(x[i + 1][1]) >> 30 == 0); accu3 += (int64_t)x[i + 1][1] * x[i + 1][1]; +if ((accu0|accu1|accu2|accu3) > UINT64_MAX - INT32_MIN*(int64_t)INT32_MIN || i+2>=n) { +accu0 >>= nz; +accu1 >>= nz; +accu2 >>= nz; +accu3 >>= nz; +while ((accu0|accu1|accu2|accu3) > (UINT64_MAX - accu) >> 2) { +accu0 >>= 1; +accu1 >>= 1; +accu2 >>= 1; +accu3 >>= 1; +accu >>= 1; +nz ++; +} +accu += accu0 + accu1 + accu2 + accu3; +accu0 = accu1 = accu2 = accu3 = 0; +} } -nz0 = 15; -while ((accu0|accu1|accu2|accu3) >> 62) { -accu0 >>= 1; -accu1 >>= 1; -accu2 >>= 1; -accu3 >>= 1; -nz0 --; -} -accu = accu0 + accu1 + accu2 + accu3; +nz0 = 15 - nz; u = accu >> 32; if (u) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] tools/target_dec_fate.list: Extend selftests upto issue 2000
ffmpeg | branch: master | Michael Niedermayer | Sun Feb 3 15:34:40 2019 +0100| [dfae0e295a6c7ec464bee323db0190aa2fa1bda1] | committer: Michael Niedermayer tools/target_dec_fate.list: Extend selftests upto issue 2000 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dfae0e295a6c7ec464bee323db0190aa2fa1bda1 --- tools/target_dec_fate.list | 266 + 1 file changed, 266 insertions(+) diff --git a/tools/target_dec_fate.list b/tools/target_dec_fate.list index b20137bfef..f6f131569e 100644 --- a/tools/target_dec_fate.list +++ b/tools/target_dec_fate.list @@ -125,6 +125,272 @@ 1141/clusterfuzz-testcase-6659734767665152 target_dec_amrnb_fuzzer 1213/clusterfuzz-testcase-minimized-6022987469815808 target_dec_tiff_fuzzer 1214/clusterfuzz-testcase-minimized-6130606599569408 target_dec_h264_fuzzer +1271/clusterfuzz-testcase-minimized-6095220498235392 target_dec_targa_fuzzer +1275/clusterfuzz-testcase-minimized-6718162017976320 target_dec_mdec_fuzzer +1280/clusterfuzz-testcase-minimized-6102353767825408 target_dec_svq3_fuzzer +1282/clusterfuzz-testcase-minimized-5400131681648640 target_dec_bmp_fuzzer +1283/clusterfuzz-testcase-minimized-6221126759874560 target_dec_vp3_fuzzer +1290/clusterfuzz-testcase-minimized-5815578902134784 target_dec_indeo2_fuzzer +1292/clusterfuzz-testcase-minimized-5795512143839232 target_dec_flic_fuzzer +1293/clusterfuzz-testcase-minimized-6054752074858496 target_dec_smc_fuzzer +1298/clusterfuzz-testcase-minimized-5955580877340672 target_dec_mpeg4_fuzzer +1305/clusterfuzz-testcase-minimized-5787235003662336 target_dec_amv_fuzzer +1306/clusterfuzz-testcase-minimized-6152296217968640 target_dec_msvideo1_fuzzer +1309/clusterfuzz-testcase-minimized-5754803370065920 target_dec_pcx_fuzzer +1314/clusterfuzz-testcase-minimized-4621997222920192 target_dec_png_fuzzer +1321/clusterfuzz-testcase-minimized-5875549597597696 target_dec_cinepak_fuzzer +1322/clusterfuzz-testcase-minimized-4728193644756992 target_dec_png_fuzzer +1335/clusterfuzz-testcase-minimized-5566961566089216 target_dec_cavs_fuzzer +1336/clusterfuzz-testcase-minimized-4761381930795008 target_dec_pixlet_fuzzer +1337/clusterfuzz-testcase-minimized-5212314171080704 target_dec_aac_fuzzer +1338/clusterfuzz-testcase-minimized-6485546354343936 target_dec_wnv1_fuzzer +1339/clusterfuzz-testcase-minimized-4614671485108224 target_dec_dss_sp_fuzzer +1340/clusterfuzz-testcase-minimized-4669892148068352 target_dec_adpcm_g722_fuzzer +1341/clusterfuzz-testcase-minimized-5441502618583040 target_dec_cdxl_fuzzer +1342/clusterfuzz-testcase-minimized-5490842129137664 target_dec_nellymoser_fuzzer +1344/clusterfuzz-testcase-minimized-5567131804499968 target_dec_zmbv_fuzzer +1345/clusterfuzz-testcase-minimized-6062963045695488 target_dec_dfa_fuzzer +1346/clusterfuzz-testcase-minimized-5776732600664064 target_dec_mdec_fuzzer +1348/clusterfuzz-testcase-minimized-6195673642827776 target_dec_tiertexseqvideo_fuzzer +1349/clusterfuzz-testcase-minimized-5370707196248064 target_dec_aac_fuzzer +1351/clusterfuzz-testcase-minimized-5861971645693952 target_dec_indeo4_fuzzer +1352/clusterfuzz-testcase-minimized-5757565017260032 target_dec_ac3_fixed_fuzzer +1353/clusterfuzz-testcase-minimized-5208180449607680 target_dec_snow_fuzzer +1354/clusterfuzz-testcase-minimized-5520132195483648 target_dec_sami_fuzzer +1355/clusterfuzz-testcase-minimized-6662205472768000
[FFmpeg-cvslog] lavu/parseutils: Allow to parse >= 100 hours.
ffmpeg | branch: master | Carl Eugen Hoyos | Sat Feb 9 01:20:43 2019 +0100| [0cac68bcf94ed0914ba97a15d7ccd38e5a2a566d] | committer: Carl Eugen Hoyos lavu/parseutils: Allow to parse >= 100 hours. Reported and tested by gamnark. Fixes ticket #7721. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0cac68bcf94ed0914ba97a15d7ccd38e5a2a566d --- libavutil/parseutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/parseutils.c b/libavutil/parseutils.c index 59bec6cc9d..167e822648 100644 --- a/libavutil/parseutils.c +++ b/libavutil/parseutils.c @@ -504,7 +504,7 @@ char *av_small_strptime(const char *p, const char *fmt, struct tm *dt) switch(c) { case 'H': case 'J': -val = date_get_num(, 0, c == 'H' ? 23 : INT_MAX, 2); +val = date_get_num(, 0, c == 'H' ? 23 : INT_MAX, c == 'H' ? 2 : 4); if (val == -1) return NULL; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog