[FFmpeg-cvslog] configure: Remove fifo muxers dependency on pthreads.
ffmpeg | branch: master | Matt Oliver | Mon Aug 29 16:56:32 2016 +1000| [8b4e4bc620c25993a0fa98914910dd5f60dfb549] | committer: Matt Oliver configure: Remove fifo muxers dependency on pthreads. Signed-off-by: Matt Oliver > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b4e4bc620c25993a0fa98914910dd5f60dfb549 --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index ce69936..b500a4a 100755 --- a/configure +++ b/configure @@ -2836,7 +2836,7 @@ dv_muxer_select="dvprofile" dxa_demuxer_select="riffdec" eac3_demuxer_select="ac3_parser" f4v_muxer_select="mov_muxer" -fifo_muxer_deps="pthreads" +fifo_muxer_deps="threads" flac_demuxer_select="flac_parser" hds_muxer_select="flv_muxer" hls_muxer_select="mpegts_muxer" ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: add 12bpp sample
ffmpeg | branch: master | Christophe Gisquet | Tue Oct 13 21:21:41 2015 +0200| [b6e8efb082c284091e267a29b6060b97692d1740] | committer: Michael Niedermayer fate: add 12bpp sample Allows testing simple_idct12 correctness/bitexactness, as the sample was generated using faani as idct. Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6e8efb082c284091e267a29b6060b97692d1740 --- tests/fate/image.mak | 6 ++ tests/ref/fate/jpg-12bpp | 6 ++ 2 files changed, 12 insertions(+) diff --git a/tests/fate/image.mak b/tests/fate/image.mak index 178624a..c1a7e48 100644 --- a/tests/fate/image.mak +++ b/tests/fate/image.mak @@ -249,6 +249,12 @@ FATE_EXR-$(call DEMDEC, IMAGE2, EXR) += $(FATE_EXR) FATE_IMAGE += $(FATE_EXR-yes) fate-exr: $(FATE_EXR-yes) +FATE_JPG += fate-jpg-12bpp +fate-jpg-12bpp: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/12bpp.jpg -f rawvideo -pix_fmt gray16le -vf setsar=sar=sar +FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG) += $(FATE_JPG) +FATE_IMAGE += $(FATE_JPG-yes) +fate-jpg: $(FATE_JPG-yes) + FATE_IMAGE-$(call DEMDEC, IMAGE2, QDRAW) += fate-pict fate-pict: CMD = framecrc -i $(TARGET_SAMPLES)/quickdraw/TRU256.PCT -pix_fmt rgb24 diff --git a/tests/ref/fate/jpg-12bpp b/tests/ref/fate/jpg-12bpp new file mode 100644 index 000..b3c662d --- /dev/null +++ b/tests/ref/fate/jpg-12bpp @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 999x749 +#sar 0: 1/1 +0, 0, 0,1, 1496502, 0xd91deb4b ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] vf_colorspace: Allow overriding input color properties
ffmpeg | branch: master | Vittorio Giovara | Sat Sep 3 15:19:35 2016 +0200| [5df993f3b129b6fe0a9ef6d16dc51a31bce81e13] | committer: Paul B Mahol vf_colorspace: Allow overriding input color properties The filter needs input frames with color properties filled out by the decoder. Since this is not always possible, add input options to the filter so that user may override color space, color primaries, transfer characteristics, and color range, as well as a generic option to set all properties at once. Signed-off-by: Vittorio Giovara > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5df993f3b129b6fe0a9ef6d16dc51a31bce81e13 --- doc/filters.texi| 20 libavfilter/vf_colorspace.c | 40 +++- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index c12b093..00ec1ea 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -5235,6 +5235,7 @@ Convert colorspace, transfer characteristics or color primaries. The filter accepts the following options: @table @option +@anchor{all} @item all Specify all color properties at once. @@ -5266,6 +5267,7 @@ BT.2020 @end table +@anchor{space} @item space Specify output colorspace. @@ -5291,6 +5293,7 @@ BT.2020 with non-constant luminance @end table +@anchor{trc} @item trc Specify output transfer characteristics. @@ -5319,6 +5322,7 @@ BT.2020 for 12-bits content @end table +@anchor{primaries} @item primaries Specify output color primaries. @@ -5344,6 +5348,7 @@ BT.2020 @end table +@anchor{range} @item range Specify output color range. @@ -5423,6 +5428,21 @@ von Kries whitepoint adaptation identity whitepoint adaptation (i.e. no whitepoint adaptation) @end table +@item iall +Override all input properties at once. Same accepted values as @ref{all}. + +@item ispace +Override input colorspace. Same accepted values as @ref{space}. + +@item iprimaries +Override input color primaries. Same accepted values as @ref{primaries}. + +@item itrc +Override input transfer characteristics. Same accepted values as @ref{trc}. + +@item irange +Override input color range. Same accepted values as @ref{range}. + @end table The filter converts the transfer characteristics, color space and color diff --git a/libavfilter/vf_colorspace.c b/libavfilter/vf_colorspace.c index e4022f8..45fd917 100644 --- a/libavfilter/vf_colorspace.c +++ b/libavfilter/vf_colorspace.c @@ -128,11 +128,11 @@ typedef struct ColorSpaceContext { ColorSpaceDSPContext dsp; -enum Colorspace user_all; -enum AVColorSpace in_csp, out_csp, user_csp; -enum AVColorRange in_rng, out_rng, user_rng; -enum AVColorTransferCharacteristic in_trc, out_trc, user_trc; -enum AVColorPrimaries in_prm, out_prm, user_prm; +enum Colorspace user_all, user_iall; +enum AVColorSpace in_csp, out_csp, user_csp, user_icsp; +enum AVColorRange in_rng, out_rng, user_rng, user_irng; +enum AVColorTransferCharacteristic in_trc, out_trc, user_trc, user_itrc; +enum AVColorPrimaries in_prm, out_prm, user_prm, user_iprm; enum AVPixelFormat in_format, user_format; int fast_mode; enum DitherMode dither; @@ -581,6 +581,10 @@ static int create_filtergraph(AVFilterContext *ctx, if (!s->out_primaries || !s->in_primaries) { s->in_prm = in->color_primaries; +if (s->user_iall != CS_UNSPECIFIED) +s->in_prm = default_prm[FFMIN(s->user_iall, CS_NB)]; +if (s->user_iprm != AVCOL_PRI_UNSPECIFIED) +s->in_prm = s->user_iprm; s->in_primaries = get_color_primaries(s->in_prm); if (!s->in_primaries) { av_log(ctx, AV_LOG_ERROR, @@ -638,6 +642,10 @@ static int create_filtergraph(AVFilterContext *ctx, if (!s->in_txchr) { av_freep(&s->lin_lut); s->in_trc = in->color_trc; +if (s->user_iall != CS_UNSPECIFIED) +s->in_trc = default_trc[FFMIN(s->user_iall, CS_NB)]; +if (s->user_itrc != AVCOL_TRC_UNSPECIFIED) +s->in_trc = s->user_itrc; s->in_txchr = get_transfer_characteristics(s->in_trc); if (!s->in_txchr) { av_log(ctx, AV_LOG_ERROR, @@ -680,7 +688,13 @@ static int create_filtergraph(AVFilterContext *ctx, if (!s->in_lumacoef) { s->in_csp = in->colorspace; +if (s->user_iall != CS_UNSPECIFIED) +s->in_csp = default_csp[FFMIN(s->user_iall, CS_NB)]; +if (s->user_icsp != AVCOL_SPC_UNSPECIFIED) +s->in_csp = s->user_icsp; s->in_rng = in->color_range; +if (s->user_irng != AVCOL_RANGE_UNSPECIFIED) +s->in_rng = s->user_irng; s->in_lumacoef = get_luma_coefficients(s->in_csp); if (!s->in_lumacoef) { av_log(ctx, AV_LOG_ERROR, @@ -1078,6 +1092,22 @@ static const AVOption colorspace_options[] = { ENUM("vonkries", WP_ADAPT_VON_KRIES, "wpadapt"), ENUM("identity", WP_ADAPT_I
[FFmpeg-cvslog] doc/filters: improve weave example
ffmpeg | branch: master | Paul B Mahol | Sun Sep 4 14:51:04 2016 +0200| [817846d0c3c69fa2586ba344ad1b79f3aa50fbf0] | committer: Paul B Mahol doc/filters: improve weave example > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=817846d0c3c69fa2586ba344ad1b79f3aa50fbf0 --- doc/filters.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/filters.texi b/doc/filters.texi index 00ec1ea..3feed45 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -14150,7 +14150,7 @@ Set the frame as bottom-field-first. @itemize @item -Interlace video using @code{select} and @code{separatefields} filter: +Interlace video using @ref{select} and @ref{separatefields} filter: @example separatefields,select=eq(mod(n,4),0)+eq(mod(n,4),3),weave @end example ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/vf_bitplanenoise: silence clang warning, do not truncate value
ffmpeg | branch: master | Paul B Mahol | Sun Sep 4 14:58:54 2016 +0200| [9833cf2ae1e8b97ba2086e155a0131fbce8a121f] | committer: Paul B Mahol avfilter/vf_bitplanenoise: silence clang warning, do not truncate value > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9833cf2ae1e8b97ba2086e155a0131fbce8a121f --- libavfilter/vf_bitplanenoise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_bitplanenoise.c b/libavfilter/vf_bitplanenoise.c index 6c21c95..de278bc 100644 --- a/libavfilter/vf_bitplanenoise.c +++ b/libavfilter/vf_bitplanenoise.c @@ -187,7 +187,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) stats[plane] /= s->planewidth[plane] * s->planeheight[plane]; snprintf(key, sizeof(key), "lavfi.bitplanenoise.%d.%d", plane, s->bitplane); -snprintf(metabuf, sizeof(metabuf), "%f", 1. - 2.* fabsf((stats[plane] - 0.5))); +snprintf(metabuf, sizeof(metabuf), "%f", 1. - 2.* fabs((stats[plane] - 0.5))); av_dict_set(&out->metadata, key, metabuf, 0); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter: add gblur filter
ffmpeg | branch: master | Paul B Mahol | Thu Sep 1 01:18:45 2016 +0200| [ee605aa730dd230cd67cff5233318634ac42a1cc] | committer: Paul B Mahol avfilter: add gblur filter Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ee605aa730dd230cd67cff5233318634ac42a1cc --- Changelog| 1 + doc/filters.texi | 17 +++ libavfilter/Makefile | 1 + libavfilter/allfilters.c | 1 + libavfilter/version.h| 2 +- libavfilter/vf_gblur.c | 352 +++ 6 files changed, 373 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 9e1b652..1419e70 100644 --- a/Changelog +++ b/Changelog @@ -25,6 +25,7 @@ version : - vaguedenoiser filter - added threads option per filter instance - weave filter +- gblur filter version 3.1: diff --git a/doc/filters.texi b/doc/filters.texi index 3feed45..14a6750 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -8251,6 +8251,23 @@ option may cause flicker since the B-Frames have often larger QP. Default is @end table +@section gblur + +Apply Gaussian blur filter. + +The filter accepts the following options: + +@table @option +@item sigma +Set sigma, standard deviation of Gaussian blur. Default is @code{0.5}. + +@item steps +Set number of steps for Gaussian approximation. Defauls is @code{1}. + +@item planes +Set which planes to filter. By default all planes are filtered. +@end table + @section geq The filter accepts the following options: diff --git a/libavfilter/Makefile b/libavfilter/Makefile index 8bc6b9c..fc03fdf 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -182,6 +182,7 @@ OBJS-$(CONFIG_FRAMERATE_FILTER) += vf_framerate.o OBJS-$(CONFIG_FRAMESTEP_FILTER) += vf_framestep.o OBJS-$(CONFIG_FREI0R_FILTER) += vf_frei0r.o OBJS-$(CONFIG_FSPP_FILTER) += vf_fspp.o +OBJS-$(CONFIG_GBLUR_FILTER) += vf_gblur.o OBJS-$(CONFIG_GEQ_FILTER)+= vf_geq.o OBJS-$(CONFIG_GRADFUN_FILTER)+= vf_gradfun.o OBJS-$(CONFIG_HALDCLUT_FILTER) += vf_lut3d.o dualinput.o framesync.o diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c index a651bb5..ac8b41d 100644 --- a/libavfilter/allfilters.c +++ b/libavfilter/allfilters.c @@ -199,6 +199,7 @@ void avfilter_register_all(void) REGISTER_FILTER(FRAMESTEP, framestep, vf); REGISTER_FILTER(FREI0R, frei0r, vf); REGISTER_FILTER(FSPP, fspp, vf); +REGISTER_FILTER(GBLUR, gblur, vf); REGISTER_FILTER(GEQ,geq,vf); REGISTER_FILTER(GRADFUN,gradfun,vf); REGISTER_FILTER(HALDCLUT, haldclut, vf); diff --git a/libavfilter/version.h b/libavfilter/version.h index 5b5f75f..6b59d1f 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -30,7 +30,7 @@ #include "libavutil/version.h" #define LIBAVFILTER_VERSION_MAJOR 6 -#define LIBAVFILTER_VERSION_MINOR 59 +#define LIBAVFILTER_VERSION_MINOR 60 #define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ diff --git a/libavfilter/vf_gblur.c b/libavfilter/vf_gblur.c new file mode 100644 index 000..e289f69 --- /dev/null +++ b/libavfilter/vf_gblur.c @@ -0,0 +1,352 @@ +/* + * Copyright (c) 2011 Pascal Getreuer + * Copyright (c) 2016 Paul B Mahol + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + *copyright notice, this list of conditions and the following + *disclaimer in the documentation and/or other materials provided + *with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libavutil/imgutils.h" +#include "libavutil/opt.h" +#include "libavutil/pixdesc.h" +#include "avfilter.h" +#include "formats.h" +#include "internal.h" +#include "vi
[FFmpeg-cvslog] avfilter/Makefile: move anullsrc and nullsink to correct place
ffmpeg | branch: master | Paul B Mahol | Sun Sep 4 15:25:50 2016 +0200| [28b920c09b6bb39b9a72ca140c5d76ca52dbef81] | committer: Paul B Mahol avfilter/Makefile: move anullsrc and nullsink to correct place Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=28b920c09b6bb39b9a72ca140c5d76ca52dbef81 --- libavfilter/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavfilter/Makefile b/libavfilter/Makefile index fc03fdf..52b148a 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -113,11 +113,11 @@ OBJS-$(CONFIG_VOLUMEDETECT_FILTER) += af_volumedetect.o OBJS-$(CONFIG_AEVALSRC_FILTER) += aeval.o OBJS-$(CONFIG_ANOISESRC_FILTER) += asrc_anoisesrc.o +OBJS-$(CONFIG_ANULLSRC_FILTER) += asrc_anullsrc.o OBJS-$(CONFIG_FLITE_FILTER) += asrc_flite.o OBJS-$(CONFIG_SINE_FILTER) += asrc_sine.o OBJS-$(CONFIG_ANULLSINK_FILTER) += asink_anullsink.o -OBJS-$(CONFIG_ANULLSRC_FILTER) += asrc_anullsrc.o # video filters OBJS-$(CONFIG_ALPHAEXTRACT_FILTER) += vf_extractplanes.o @@ -306,7 +306,6 @@ OBJS-$(CONFIG_ZSCALE_FILTER) += vf_zscale.o OBJS-$(CONFIG_ALLRGB_FILTER) += vsrc_testsrc.o OBJS-$(CONFIG_ALLYUV_FILTER) += vsrc_testsrc.o OBJS-$(CONFIG_CELLAUTO_FILTER) += vsrc_cellauto.o -OBJS-$(CONFIG_NULLSINK_FILTER) += vsink_nullsink.o OBJS-$(CONFIG_COLOR_FILTER) += vsrc_testsrc.o OBJS-$(CONFIG_COREIMAGESRC_FILTER) += vf_coreimage.o OBJS-$(CONFIG_FREI0R_SRC_FILTER) += vf_frei0r.o @@ -322,6 +321,8 @@ OBJS-$(CONFIG_TESTSRC_FILTER)+= vsrc_testsrc.o OBJS-$(CONFIG_TESTSRC2_FILTER) += vsrc_testsrc.o OBJS-$(CONFIG_YUVTESTSRC_FILTER) += vsrc_testsrc.o +OBJS-$(CONFIG_NULLSINK_FILTER) += vsink_nullsink.o + # multimedia filters OBJS-$(CONFIG_ADRAWGRAPH_FILTER) += f_drawgraph.o OBJS-$(CONFIG_AHISTOGRAM_FILTER) += avf_ahistogram.o ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avccodec/utvideoenc: support encoding ULY4 and ULH4
ffmpeg | branch: master | Paul B Mahol | Sun Sep 4 15:51:33 2016 +0200| [3c55baf08f7ef7f69baf9217ff87977f21ccf921] | committer: Paul B Mahol avccodec/utvideoenc: support encoding ULY4 and ULH4 Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3c55baf08f7ef7f69baf9217ff87977f21ccf921 --- libavcodec/utvideo.h| 1 + libavcodec/utvideoenc.c | 21 - 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/libavcodec/utvideo.h b/libavcodec/utvideo.h index b785bf0..49ddf49 100644 --- a/libavcodec/utvideo.h +++ b/libavcodec/utvideo.h @@ -56,6 +56,7 @@ enum { UTVIDEO_RGBA = MKTAG(0x00, 0x00, 0x02, 0x18), UTVIDEO_420 = MKTAG('Y', 'V', '1', '2'), UTVIDEO_422 = MKTAG('Y', 'U', 'Y', '2'), +UTVIDEO_444 = MKTAG('Y', 'V', '2', '4'), }; /* Mapping of libavcodec prediction modes to Ut Video's */ diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c index 6240413..8ffc263 100644 --- a/libavcodec/utvideoenc.c +++ b/libavcodec/utvideoenc.c @@ -104,6 +104,14 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx) avctx->codec_tag = MKTAG('U', 'L', 'Y', '2'); original_format = UTVIDEO_422; break; +case AV_PIX_FMT_YUV444P: +c->planes= 3; +if (avctx->colorspace == AVCOL_SPC_BT709) +avctx->codec_tag = MKTAG('U', 'L', 'H', '4'); +else +avctx->codec_tag = MKTAG('U', 'L', 'Y', '4'); +original_format = UTVIDEO_444; +break; default: av_log(avctx, AV_LOG_ERROR, "Unknown pixel format: %d\n", avctx->pix_fmt); @@ -579,6 +587,17 @@ static int utvideo_encode_frame(AVCodecContext *avctx, AVPacket *pkt, } } break; +case AV_PIX_FMT_YUV444P: +for (i = 0; i < c->planes; i++) { +ret = encode_plane(avctx, pic->data[i], c->slice_buffer[0], + pic->linesize[i], i, width, height, &pb); + +if (ret) { +av_log(avctx, AV_LOG_ERROR, "Error encoding plane %d.\n", i); +return ret; +} +} +break; case AV_PIX_FMT_YUV422P: for (i = 0; i < c->planes; i++) { ret = encode_plane(avctx, pic->data[i], c->slice_buffer[0], @@ -668,6 +687,6 @@ AVCodec ff_utvideo_encoder = { .capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_YUV422P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: Add test for ticket #5805.
ffmpeg | branch: master | Carl Eugen Hoyos | Sun Sep 4 13:50:44 2016 +0200| [445522c01b7598799a6fb7b73f3745b9e7fe00ac] | committer: Carl Eugen Hoyos fate: Add test for ticket #5805. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=445522c01b7598799a6fb7b73f3745b9e7fe00ac --- tests/fate/image.mak| 4 tests/ref/fate/jpg-jfif | 6 ++ 2 files changed, 10 insertions(+) diff --git a/tests/fate/image.mak b/tests/fate/image.mak index c1a7e48..c19312a 100644 --- a/tests/fate/image.mak +++ b/tests/fate/image.mak @@ -251,6 +251,10 @@ fate-exr: $(FATE_EXR-yes) FATE_JPG += fate-jpg-12bpp fate-jpg-12bpp: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/12bpp.jpg -f rawvideo -pix_fmt gray16le -vf setsar=sar=sar + +FATE_JPG += fate-jpg-jfif +fate-jpg-jfif: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/20242.jpg + FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG) += $(FATE_JPG) FATE_IMAGE += $(FATE_JPG-yes) fate-jpg: $(FATE_JPG-yes) diff --git a/tests/ref/fate/jpg-jfif b/tests/ref/fate/jpg-jfif new file mode 100644 index 000..39413e7 --- /dev/null +++ b/tests/ref/fate/jpg-jfif @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 807x538 +#sar 0: 72/72 +0, 0, 0,1, 651518, 0x50faa5ad ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/vf_gblur: add sigmaV option, different vertical filtering
ffmpeg | branch: master | Paul B Mahol | Sun Sep 4 23:57:09 2016 +0200| [443c9fab57fababd864dc13f7bdc16b330cbd481] | committer: Paul B Mahol avfilter/vf_gblur: add sigmaV option, different vertical filtering Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=443c9fab57fababd864dc13f7bdc16b330cbd481 --- doc/filters.texi | 6 +- libavfilter/vf_gblur.c | 37 ++--- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 14a6750..99f07a6 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -8259,13 +8259,17 @@ The filter accepts the following options: @table @option @item sigma -Set sigma, standard deviation of Gaussian blur. Default is @code{0.5}. +Set horizontal sigma, standard deviation of Gaussian blur. Default is @code{0.5}. @item steps Set number of steps for Gaussian approximation. Defauls is @code{1}. @item planes Set which planes to filter. By default all planes are filtered. + +@item sigmaV +Set vertical sigma, if negative it will be same as @code{sigma}. +Default is @code{-1}. @end table @section geq diff --git a/libavfilter/vf_gblur.c b/libavfilter/vf_gblur.c index e289f69..27b7029 100644 --- a/libavfilter/vf_gblur.c +++ b/libavfilter/vf_gblur.c @@ -37,6 +37,7 @@ typedef struct GBlurContext { const AVClass *class; float sigma; +float sigmaV; int steps; int planes; @@ -45,8 +46,11 @@ typedef struct GBlurContext { int planeheight[4]; float *buffer; float boundaryscale; +float boundaryscaleV; float postscale; +float postscaleV; float nu; +float nuV; int nb_planes; } GBlurContext; @@ -57,6 +61,7 @@ static const AVOption gblur_options[] = { { "sigma", "set sigma",OFFSET(sigma), AV_OPT_TYPE_FLOAT, {.dbl=0.5}, 0.0, 1024, FLAGS }, { "steps", "set number of steps", OFFSET(steps), AV_OPT_TYPE_INT, {.i64=1}, 1,6, FLAGS }, { "planes", "set planes to filter", OFFSET(planes), AV_OPT_TYPE_INT, {.i64=0xF}, 0, 0xF, FLAGS }, +{ "sigmaV", "set vertical sigma", OFFSET(sigmaV), AV_OPT_TYPE_FLOAT, {.dbl=-1}, -1, 1024, FLAGS }, { NULL } }; @@ -111,10 +116,10 @@ static int filter_vertically(AVFilterContext *ctx, void *arg, int jobnr, int nb_ const int width = td->width; const int slice_start = (width * jobnr ) / nb_jobs; const int slice_end = (width * (jobnr+1)) / nb_jobs; -const float boundaryscale = s->boundaryscale; +const float boundaryscale = s->boundaryscaleV; const int numpixels = width * height; const int steps = s->steps; -const float nu = s->nu; +const float nu = s->nuV; float *buffer = s->buffer; int i, x, step; float *ptr; @@ -150,7 +155,7 @@ static int filter_postscale(AVFilterContext *ctx, void *arg, int jobnr, int nb_j const int64_t numpixels = width * height; const int slice_start = (numpixels * jobnr ) / nb_jobs; const int slice_end = (numpixels * (jobnr+1)) / nb_jobs; -const float postscale = s->postscale; +const float postscale = s->postscale * s->postscaleV; float *buffer = s->buffer; int i; @@ -220,25 +225,35 @@ static int config_input(AVFilterLink *inlink) s->buffer = av_malloc_array(inlink->w, inlink->h * sizeof(*s->buffer)); if (!s->buffer) return AVERROR(ENOMEM); + +if (s->sigmaV < 0) { +s->sigmaV = s->sigma; +} + return 0; } +static void set_params(float sigma, int steps, float *postscale, float *boundaryscale, float *nu) +{ +double dnu, lambda; + +lambda = (sigma * sigma) / (2.0 * steps); +dnu = (1.0 + 2.0 * lambda - sqrt(1.0 + 4.0 * lambda)) / (2.0 * lambda); +*postscale = pow(dnu / lambda, steps); +*boundaryscale = 1.0 / (1.0 - dnu); +*nu = (float)dnu; +} + static int filter_frame(AVFilterLink *inlink, AVFrame *in) { AVFilterContext *ctx = inlink->dst; GBlurContext *s = ctx->priv; AVFilterLink *outlink = ctx->outputs[0]; -double dnu, lambda; -float sigma = s->sigma; -int steps = s->steps; AVFrame *out; int plane; -lambda = (sigma * sigma) / (2.0 * steps); -dnu = (1.0 + 2.0 * lambda - sqrt(1.0 + 4.0 * lambda)) / (2.0 * lambda); -s->postscale = pow(dnu / lambda, 2 * steps); -s->boundaryscale = 1.0 / (1.0 - dnu); -s->nu = (float)dnu; +set_params(s->sigma, s->steps, &s->postscale, &s->boundaryscale, &s->nu); +set_params(s->sigmaV, s->steps, &s->postscaleV, &s->boundaryscaleV, &s->nuV); if (av_frame_is_writable(in)) { out = in; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavcodec/wmalosslessdec: Check the remaining bits
ffmpeg | branch: release/3.0 | Michael Niedermayer | Sun Aug 21 20:30:34 2016 +0200| [fe7366ee93c8d2fc43b10dc8987cbdc7d44098fd] | committer: Michael Niedermayer libavcodec/wmalosslessdec: Check the remaining bits Fixes assertion failure Fixes: 24ebfda03228b5cc1ef792608cfba458/signal_sigabrt_76ae7c37_6473_3fa8a111dbc752b1a7c411c5ab79aaa4.wma Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit 67318187fbba382d887f9581dde48a50842f1bea) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fe7366ee93c8d2fc43b10dc8987cbdc7d44098fd --- libavcodec/wmalosslessdec.c | 5 + 1 file changed, 5 insertions(+) diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index 8a5ffb8..a335f07 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -1252,6 +1252,11 @@ static int decode_packet(AVCodecContext *avctx, void *data, int *got_frame_ptr, } } +if (remaining_bits(s, gb) < 0) { +av_log(avctx, AV_LOG_ERROR, "Overread %d\n", -remaining_bits(s, gb)); +s->packet_loss = 1; +} + if (s->packet_done && !s->packet_loss && remaining_bits(s, gb) > 0) { /* save the rest of the data so that it can be decoded ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/aacenc: Tighter input checks
ffmpeg | branch: release/3.0 | Michael Niedermayer | Tue Aug 23 11:00:29 2016 +0200| [cd91aaa4cc59bca6d05e30a0b044cd95df26a26f] | committer: Michael Niedermayer avcodec/aacenc: Tighter input checks Fixes occurance of NaN/Inf leading to assertion failures and out of array access Fixes: d1c38a09acc34845c6be3a127a5aacaf/signal_sigsegv_3982225_6121_d18bd5451d4245ee09408f04badd1b83.wmv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit 77bf96b04710b98a52aaddb93bfd32da0d506191) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd91aaa4cc59bca6d05e30a0b044cd95df26a26f --- libavcodec/aacenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index 5a70da1..51b90e9 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -609,8 +609,8 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, } for (k = 0; k < 1024; k++) { -if (!isfinite(cpe->ch[ch].coeffs[k])) { -av_log(avctx, AV_LOG_ERROR, "Input contains NaN/+-Inf\n"); +if (!(fabs(cpe->ch[ch].coeffs[k]) < 1E16)) { // Ensure headroom for energy calculation +av_log(avctx, AV_LOG_ERROR, "Input contains (near) NaN/+-Inf\n"); return AVERROR(EINVAL); } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/swfdec: Fix inflate() error code check
ffmpeg | branch: release/3.0 | Michael Niedermayer | Fri Aug 19 10:28:22 2016 +0200| [ca92adafb0effac6c51a12f90a593ba7e8b3ee90] | committer: Michael Niedermayer avformat/swfdec: Fix inflate() error code check Fixes infinite loop Fixes endless.poc Found-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit a453bbb68f3eec202673728988bba3bc76071761) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ca92adafb0effac6c51a12f90a593ba7e8b3ee90 --- libavformat/swfdec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c index eb17e82..518ca1f 100644 --- a/libavformat/swfdec.c +++ b/libavformat/swfdec.c @@ -119,10 +119,10 @@ retry: z->avail_out = buf_size; ret = inflate(z, Z_NO_FLUSH); -if (ret < 0) -return AVERROR(EINVAL); if (ret == Z_STREAM_END) return AVERROR_EOF; +if (ret != Z_OK) +return AVERROR(EINVAL); if (buf_size - z->avail_out == 0) goto retry; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/indeo2: check ctab
ffmpeg | branch: release/3.0 | Michael Niedermayer | Fri Aug 19 13:07:14 2016 +0200| [93534cd642ddb92e45226ed9dd059b81a719a6b0] | committer: Michael Niedermayer avcodec/indeo2: check ctab Fixes out of array access Fixes: 6b73fa392ac808f02e95a4e0a5770026/asan_static-oob_1b15f9a_1969_e7778535e5f27225fe0d6ded14721430.AVI Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit 9ffe44c5c75c485b4cbb12751e228f18da219df3) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=93534cd642ddb92e45226ed9dd059b81a719a6b0 --- libavcodec/indeo2.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c index 17f2367..7ad686d 100644 --- a/libavcodec/indeo2.c +++ b/libavcodec/indeo2.c @@ -171,6 +171,12 @@ static int ir2_decode_frame(AVCodecContext *avctx, ltab = buf[0x22] & 3; ctab = buf[0x22] >> 2; + +if (ctab > 3) { +av_log(avctx, AV_LOG_ERROR, "ctab %d is invalid\n", ctab); +return AVERROR_INVALIDDATA; +} + if (s->decode_delta) { /* intraframe */ if ((ret = ir2_decode_plane(s, avctx->width, avctx->height, p->data[0], p->linesize[0], ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/wtvdec: Check pointer before use
ffmpeg | branch: release/3.0 | Michael Niedermayer | Sun Aug 21 21:30:36 2016 +0200| [2858f77fd460f668a9e29dd897be940d29d9bb10] | committer: Michael Niedermayer avformat/wtvdec: Check pointer before use Fixes out of array read Fixes: 049fdf78565f1ce5665df236d90f8657/asan_heap-oob_10a5a97_1026_42f9d4855547329560f385768de2f3fb.wtv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit cc5e5548df4af48674c7aef518e831b19e99f9fc) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2858f77fd460f668a9e29dd897be940d29d9bb10 --- libavformat/wtvdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c index 71deaf0..882fde1 100644 --- a/libavformat/wtvdec.c +++ b/libavformat/wtvdec.c @@ -1033,7 +1033,7 @@ static int read_header(AVFormatContext *s) while (1) { uint64_t frame_nb = avio_rl64(pb); uint64_t position = avio_rl64(pb); -while (frame_nb > e->size && e <= e_end) { +while (e <= e_end && frame_nb > e->size) { e->pos = last_position; e++; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/cfhd: Increase minimum band dimension to 3
ffmpeg | branch: release/3.0 | Michael Niedermayer | Fri Aug 19 21:34:38 2016 +0200| [d794d97d960341ae6ad6294446b8799dcf80e811] | committer: Michael Niedermayer avcodec/cfhd: Increase minimum band dimension to 3 The implementation does not currently support len=2 Fixes out of array accesses Fixes: 29d1b3db5ba2205e82b0b3a533e057a3/asan_heap-oob_12b650c_9254_3b8c4e4d931eb2c32841c18ebb297f1d.avi Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit b8b36717217c6f45db71c77ad4e7c65521e7d9ff) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d794d97d960341ae6ad6294446b8799dcf80e811 --- libavcodec/cfhd.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c index 3b2901d..196647f 100644 --- a/libavcodec/cfhd.c +++ b/libavcodec/cfhd.c @@ -312,7 +312,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, s->plane[s->channel_num].band[0][0].width = data; s->plane[s->channel_num].band[0][0].stride = data; av_log(avctx, AV_LOG_DEBUG, "Lowpass width %"PRIu16"\n", data); -if (data < 2 || data > s->plane[s->channel_num].band[0][0].a_width) { +if (data < 3 || data > s->plane[s->channel_num].band[0][0].a_width) { av_log(avctx, AV_LOG_ERROR, "Invalid lowpass width\n"); ret = AVERROR(EINVAL); break; @@ -320,7 +320,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, } else if (tag == 28) { s->plane[s->channel_num].band[0][0].height = data; av_log(avctx, AV_LOG_DEBUG, "Lowpass height %"PRIu16"\n", data); -if (data < 2 || data > s->plane[s->channel_num].band[0][0].height) { +if (data < 3 || data > s->plane[s->channel_num].band[0][0].height) { av_log(avctx, AV_LOG_ERROR, "Invalid lowpass height\n"); ret = AVERROR(EINVAL); break; @@ -358,7 +358,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, s->plane[s->channel_num].band[s->level][s->subband_num].width = data; s->plane[s->channel_num].band[s->level][s->subband_num].stride = FFALIGN(data, 8); av_log(avctx, AV_LOG_DEBUG, "Highpass width %i channel %i level %i subband %i\n", data, s->channel_num, s->level, s->subband_num); -if (data < 2) { +if (data < 3) { av_log(avctx, AV_LOG_ERROR, "Invalid highpass width\n"); ret = AVERROR(EINVAL); break; @@ -366,7 +366,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, } else if (tag == 42) { s->plane[s->channel_num].band[s->level][s->subband_num].height = data; av_log(avctx, AV_LOG_DEBUG, "Highpass height %i\n", data); -if (data < 2) { +if (data < 3) { av_log(avctx, AV_LOG_ERROR, "Invalid highpass height\n"); ret = AVERROR(EINVAL); break; @@ -375,7 +375,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, s->plane[s->channel_num].band[s->level][s->subband_num].width = data; s->plane[s->channel_num].band[s->level][s->subband_num].stride = FFALIGN(data, 8); av_log(avctx, AV_LOG_DEBUG, "Highpass width2 %i\n", data); -if (data < 2) { +if (data < 3) { av_log(avctx, AV_LOG_ERROR, "Invalid highpass width2\n"); ret = AVERROR(EINVAL); break; @@ -383,7 +383,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, } else if (tag == 50) { s->plane[s->channel_num].band[s->level][s->subband_num].height = data; av_log(avctx, AV_LOG_DEBUG, "Highpass height2 %i\n", data); -if (data < 2) { +if (data < 3) { av_log(avctx, AV_LOG_ERROR, "Invalid highpass height2\n"); ret = AVERROR(EINVAL); break; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/utils: End probing if the expected codec surpasses AVPROBE_SCORE_STREAM_RETRY
ffmpeg | branch: release/3.0 | Michael Niedermayer | Sat Aug 27 01:12:49 2016 +0200| [1b47c278a606f1bef198b6a7746edc70e0e7d84d] | committer: Michael Niedermayer avformat/utils: End probing if the expected codec surpasses AVPROBE_SCORE_STREAM_RETRY Fixes Ticket5800 Signed-off-by: Michael Niedermayer (cherry picked from commit c75273310cf1becffee79bab0e2bba0b1606afb7) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1b47c278a606f1bef198b6a7746edc70e0e7d84d --- libavformat/utils.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 542ded7..fbc9a68 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -297,7 +297,7 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st, int score; AVInputFormat *fmt = av_probe_input_format3(pd, 1, &score); -if (fmt && st->request_probe <= score) { +if (fmt) { int i; av_log(s, AV_LOG_DEBUG, "Probe with size=%d, packets=%d detected %s with score=%d\n", @@ -305,6 +305,9 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st, fmt->name, score); for (i = 0; fmt_id_type[i].name; i++) { if (!strcmp(fmt->name, fmt_id_type[i].name)) { +if (st->request_probe > score && +st->codec->codec_id != fmt_id_type[i].id) +continue; st->codec->codec_id = fmt_id_type[i].id; st->codec->codec_type = fmt_id_type[i].type; return score; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/avidec: Fix infinite loop in avi_read_nikon()
ffmpeg | branch: release/3.0 | Michael Niedermayer | Fri Sep 2 12:19:29 2016 +0200| [1d90326f95a791db515f69a01a5f6ef867896d15] | committer: Michael Niedermayer avformat/avidec: Fix infinite loop in avi_read_nikon() Fixes: 360/test.poc Found-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit e4e4a9cad7f21593d4bcb1f2404ea0d373c36c43) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1d90326f95a791db515f69a01a5f6ef867896d15 --- libavformat/avidec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index a6459a0..7209980 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -344,14 +344,14 @@ static void avi_metadata_creation_time(AVDictionary **metadata, char *date) static void avi_read_nikon(AVFormatContext *s, uint64_t end) { -while (avio_tell(s->pb) < end) { +while (avio_tell(s->pb) < end && !avio_feof(s->pb)) { uint32_t tag = avio_rl32(s->pb); uint32_t size = avio_rl32(s->pb); switch (tag) { case MKTAG('n', 'c', 't', 'g'): /* Nikon Tags */ { uint64_t tag_end = avio_tell(s->pb) + size; -while (avio_tell(s->pb) < tag_end) { +while (avio_tell(s->pb) < tag_end && !avio_feof(s->pb)) { uint16_t tag = avio_rl16(s->pb); uint16_t size= avio_rl16(s->pb); const char *name = NULL; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/rawdec: Fix bits_per_coded_sample checks
ffmpeg | branch: release/3.0 | Michael Niedermayer | Fri Aug 19 02:07:22 2016 +0200| [815a4439c38489cabf7554ba3c722c135a700db3] | committer: Michael Niedermayer avcodec/rawdec: Fix bits_per_coded_sample checks Fixes assertion failure Fixes: 9eb9cf5b8c26dd0fa7107ed0348dcc1f/signal_sigabrt_76ae7c37_8926_4609a5c3f071d555d2d557625f9687b1.swf Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit 237207645b36fb79759d313c0399ee93ba467b9d) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=815a4439c38489cabf7554ba3c722c135a700db3 --- libavcodec/rawdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c index 287be96..193a88f 100644 --- a/libavcodec/rawdec.c +++ b/libavcodec/rawdec.c @@ -223,8 +223,9 @@ static int raw_decode(AVCodecContext *avctx, void *data, int *got_frame, } desc = av_pix_fmt_desc_get(avctx->pix_fmt); -if ((avctx->bits_per_coded_sample == 8 || avctx->bits_per_coded_sample == 4 -|| avctx->bits_per_coded_sample <= 2) && +if ((avctx->bits_per_coded_sample == 8 || avctx->bits_per_coded_sample == 4 || + avctx->bits_per_coded_sample == 2 || avctx->bits_per_coded_sample == 1 || + (avctx->bits_per_coded_sample == 0 && (context->is_nut_pal8 || context->is_mono)) ) && (context->is_mono || context->is_pal8) && (!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' ') || context->is_nut_mono || context->is_nut_pal8)) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/diracdec: Check numx/y
ffmpeg | branch: release/3.0 | Michael Niedermayer | Sat Aug 20 19:21:07 2016 +0200| [4ab41164d23899716d79752511fb9d975a264016] | committer: Michael Niedermayer avcodec/diracdec: Check numx/y Fixes division by 0 Fixes: 60261c4469ba3e11059890fb2832a515/asan_generic_135e694_2790_beb94eaa0aeb7d11c0437375a8964a99.drc Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer (cherry picked from commit a31e08fa1aa5c5f0518b8af850f28eb945268e66) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4ab41164d23899716d79752511fb9d975a264016 --- libavcodec/diracdec.c | 5 + 1 file changed, 5 insertions(+) diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 1d7bb9b..1242bd8 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -1153,6 +1153,11 @@ static int dirac_unpack_idwt_params(DiracContext *s) else { s->num_x= svq3_get_ue_golomb(gb); s->num_y= svq3_get_ue_golomb(gb); +if (s->num_x * s->num_y == 0 || s->num_x * (uint64_t)s->num_y > INT_MAX) { +av_log(s->avctx,AV_LOG_ERROR,"Invalid numx/y\n"); +s->num_x = s->num_y = 0; +return AVERROR_INVALIDDATA; +} if (s->ld_picture) { s->lowdelay.bytes.num = svq3_get_ue_golomb(gb); s->lowdelay.bytes.den = svq3_get_ue_golomb(gb); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Changelog: update
ffmpeg | branch: release/3.0 | Michael Niedermayer | Mon Sep 5 01:29:52 2016 +0200| [3512ed3622e1200f03e0d508b5c1bcbf9f5d2c88] | committer: Michael Niedermayer Changelog: update Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3512ed3622e1200f03e0d508b5c1bcbf9f5d2c88 --- Changelog | 13 + 1 file changed, 13 insertions(+) diff --git a/Changelog b/Changelog index 334e690..81fa45f 100644 --- a/Changelog +++ b/Changelog @@ -2,6 +2,19 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. version 3.0.3: +- avformat/avidec: Fix infinite loop in avi_read_nikon() +- avcodec/aacenc: Tighter input checks +- avformat/wtvdec: Check pointer before use +- libavcodec/wmalosslessdec: Check the remaining bits +- avcodec/diracdec: Check numx/y +- avcodec/cfhd: Increase minimum band dimension to 3 +- avcodec/indeo2: check ctab +- avformat/swfdec: Fix inflate() error code check +- avcodec/rawdec: Fix bits_per_coded_sample checks +- lavc/mjpegdec: Do not skip reading quantization tables. +- cmdutils: fix implicit declaration of SetDllDirectory function +- cmdutils: check for SetDllDirectory() availability +- avcodec/h264: Put context_count check back - cmdutils: remove the current working directory from the DLL search path on win32 - avcodec/raw: Fix decoding of ilacetest.mov - avcodec/ffv1enc: Fix assertion failure with non zero bits per sample ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Tag n3.0.3 : FFmpeg 3.0.3 release
[ffmpeg] [branch: refs/tags/n3.0.3] Tag:ceccf3e4465aae89bdde41f2167ba6d28275e77c > http://git.videolan.org/gitweb.cgi/ffmpeg.git?a=tag;h=ceccf3e4465aae89bdde41f2167ba6d28275e77c Tagger: Michael Niedermayer Date: Mon Sep 5 03:35:25 2016 +0200 FFmpeg 3.0.3 release ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 7bc5ae7 web/download: add 3.0.3
The branch, master has been updated via 7bc5ae775449d93c9d59139954490ee95ec3f4c4 (commit) from c3d78a2ce46caea0d3a5339413a0d4a04bbc2aed (commit) - Log - commit 7bc5ae775449d93c9d59139954490ee95ec3f4c4 Author: Michael Niedermayer AuthorDate: Mon Sep 5 03:43:27 2016 +0200 Commit: Michael Niedermayer CommitDate: Mon Sep 5 03:46:44 2016 +0200 web/download: add 3.0.3 diff --git a/src/download b/src/download index 6c97f9b..bb59d77 100644 --- a/src/download +++ b/src/download @@ -309,10 +309,10 @@ libpostproc54. 0.100 - FFmpeg 3.0.2 "Einstein" + FFmpeg 3.0.3 "Einstein" -3.0.2 was released on 2016-04-28. It is the latest stable FFmpeg release +3.0.3 was released on 2016-09-05. It is the latest stable FFmpeg release from the 3.0 release branch, which was cut from master on 2016-02-14. It includes the following library versions: @@ -330,19 +330,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.0.2";>Changelog + https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n3.0.3";>Changelog https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/3.0:/RELEASE_NOTES";>Release Notes --- Summary of changes: src/download | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog