[FFmpeg-cvslog] configure: Remove fifo muxers dependency on pthreads.

2016-09-04 Thread Matt Oliver
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

2016-09-04 Thread Christophe Gisquet
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

2016-09-04 Thread Vittorio Giovara
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

2016-09-04 Thread Paul B Mahol
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

2016-09-04 Thread Paul B Mahol
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

2016-09-04 Thread Paul B Mahol
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

2016-09-04 Thread Paul B Mahol
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

2016-09-04 Thread Paul B Mahol
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.

2016-09-04 Thread Carl Eugen Hoyos
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

2016-09-04 Thread Paul B Mahol
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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()

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread Michael Niedermayer
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

2016-09-04 Thread git
[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

2016-09-04 Thread ffmpeg-git
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