[FFmpeg-cvslog] doc/codecs: mention error returned for flag AV_CODEC_FLAG_DROPCHANGED

2019-04-20 Thread Gyan Doshi
ffmpeg | branch: master | Gyan Doshi  | Sun Apr 21 10:25:17 
2019 +0530| [6e0488cac43130124e17722c589f1b5c9f4fe3f6] | committer: Gyan Doshi

doc/codecs: mention error returned for flag AV_CODEC_FLAG_DROPCHANGED

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e0488cac43130124e17722c589f1b5c9f4fe3f6
---

 doc/codecs.texi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/doc/codecs.texi b/doc/codecs.texi
index 0baafee2e1..6b7276017f 100644
--- a/doc/codecs.texi
+++ b/doc/codecs.texi
@@ -57,6 +57,7 @@ Set error[?] variables during encoding.
 @item truncated
 @item drop_changed
 Don't output frames whose parameters differ from first decoded frame in stream.
+Error AVERROR_INPUT_CHANGED is returned when a frame is dropped.
 
 @item ildct
 Use interlaced DCT.

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] doc/mailing-list-faq: auto unsubscribe due to DMARC

2019-04-20 Thread Lou Logan
ffmpeg | branch: master | Lou Logan  | Sat Apr 20 13:52:44 2019 
-0800| [d8245cff167f4e18079770bfb96b66cc6f4fd757] | committer: Lou Logan

doc/mailing-list-faq: auto unsubscribe due to DMARC

Signed-off-by: Lou Logan 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d8245cff167f4e18079770bfb96b66cc6f4fd757
---

 doc/mailing-list-faq.texi | 20 +---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/doc/mailing-list-faq.texi b/doc/mailing-list-faq.texi
index 9c202d690a..439d783956 100644
--- a/doc/mailing-list-faq.texi
+++ b/doc/mailing-list-faq.texi
@@ -257,20 +257,25 @@ with the subject @emph{set delivery off}. To re-enable 
mail delivery send a
 message to @email{ffmpeg-user-request@@ffmpeg.org} with the subject
 @emph{set delivery on}.
 
+@anchor{Why is the mailing list munging my address?}
 @section Why is the mailing list munging my address?
 
-This is due to subscribers that use a mail service with a DMARC reject policy
+This is due to subscribers that use an email service with a DMARC reject policy
 which adds difficulties to mailing list operators.
 
 The mailing list must re-write (munge) the @emph{From:} header for such users;
-otherwise their mail service will reject and bounce the message resulting in
+otherwise their email service will reject and bounce the message resulting in
 automatic unsubscribing from the mailing list.
 
 When sending a message these users will see @emph{via }
 added to their name and the @emph{From:} address munged to the address of
 the particular mailing list.
 
-If you want to avoid this then please use a different mail service.
+If you want to avoid this then please use a different email service.
+
+Note that ffmpeg-devel does not apply any munging as it causes issues with
+patch authorship. As a result users with an email service with a DMARC reject
+policy may be automatically unsubscribed due to rejected and bounced messages.
 
 @chapter Rules and Etiquette
 
@@ -370,6 +375,15 @@ form a multi-part message is recommended by email 
standards.
 Check your spam folder.
 @end itemize
 
+@anchor{Why do I keep getting unsubscribed from ffmpeg-devel?}
+@section Why do I keep getting unsubscribed from ffmpeg-devel?
+
+Users with an email service that has a DMARC reject or quarantine policy may be
+automatically unsubscribed from the ffmpeg-devel mailing list due to the 
mailing
+list messages being continuously rejected and bounced back.
+
+Consider using a different email service.
+
 @anchor{Who do I contact if I have a problem with the mailing list?}
 @section Who do I contact if I have a problem with the mailing list?
 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] lavfi: add colorkey_opencl filter

2019-04-20 Thread Jarek Samic
ffmpeg | branch: master | Jarek Samic  | Tue Apr 16 
22:08:49 2019 -0400| [1c46ab4815f8b32512ae5fa4fd9dc95fecd2a05d] | committer: 
Mark Thompson

lavfi: add colorkey_opencl filter

This is a direct port of the CPU filter.

Signed-off-by: Jarek Samic 
Signed-off-by: Mark Thompson 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1c46ab4815f8b32512ae5fa4fd9dc95fecd2a05d
---

 configure|   1 +
 doc/filters.texi |  33 ++
 libavfilter/Makefile |   2 +
 libavfilter/allfilters.c |   1 +
 libavfilter/opencl/colorkey.cl   |  49 
 libavfilter/opencl_source.h  |   1 +
 libavfilter/vf_colorkey_opencl.c | 244 +++
 7 files changed, 331 insertions(+)

diff --git a/configure b/configure
index b122b27268..3b11ffefc3 100755
--- a/configure
+++ b/configure
@@ -3412,6 +3412,7 @@ bm3d_filter_select="dct"
 boxblur_filter_deps="gpl"
 boxblur_opencl_filter_deps="opencl gpl"
 bs2b_filter_deps="libbs2b"
+colorkey_opencl_filter_deps="opencl"
 colormatrix_filter_deps="gpl"
 convolution_opencl_filter_deps="opencl"
 convolve_filter_deps="avcodec"
diff --git a/doc/filters.texi b/doc/filters.texi
index 965756c003..cfff9b1f4d 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -19103,6 +19103,39 @@ Apply erosion filter with threshold0 set to 30, 
threshold1 set 40, threshold2 se
 @end example
 @end itemize
 
+@section colorkey_opencl
+RGB colorspace color keying.
+
+The filter accepts the following options:
+
+@table @option
+@item color
+The color which will be replaced with transparency.
+
+@item similarity
+Similarity percentage with the key color.
+
+0.01 matches only the exact key color, while 1.0 matches everything.
+
+@item blend
+Blend percentage.
+
+0.0 makes pixels either fully transparent, or not transparent at all.
+
+Higher values result in semi-transparent pixels, with a higher transparency
+the more similar the pixels color is to the key color.
+@end table
+
+@subsection Examples
+
+@itemize
+@item
+Make every semi-green pixel in the input transparent with some slight blending:
+@example
+-i INPUT -vf "hwupload, colorkey_opencl=green:0.3:0.1, hwdownload" OUTPUT
+@end example
+@end itemize
+
 @section overlay_opencl
 
 Overlay one video on top of another.
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index c215a3ad20..bcc4ed85d6 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -176,6 +176,8 @@ OBJS-$(CONFIG_CODECVIEW_FILTER)  += 
vf_codecview.o
 OBJS-$(CONFIG_COLORBALANCE_FILTER)   += vf_colorbalance.o
 OBJS-$(CONFIG_COLORCHANNELMIXER_FILTER)  += vf_colorchannelmixer.o
 OBJS-$(CONFIG_COLORKEY_FILTER)   += vf_colorkey.o
+OBJS-$(CONFIG_COLORKEY_OPENCL_FILTER)+= vf_colorkey_opencl.o opencl.o \
+opencl/colorkey.o
 OBJS-$(CONFIG_COLORLEVELS_FILTER)+= vf_colorlevels.o
 OBJS-$(CONFIG_COLORMATRIX_FILTER)+= vf_colormatrix.o
 OBJS-$(CONFIG_COLORSPACE_FILTER) += vf_colorspace.o colorspace.o 
colorspacedsp.o
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index ddac15aa6e..69ca204c10 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -165,6 +165,7 @@ extern AVFilter ff_vf_codecview;
 extern AVFilter ff_vf_colorbalance;
 extern AVFilter ff_vf_colorchannelmixer;
 extern AVFilter ff_vf_colorkey;
+extern AVFilter ff_vf_colorkey_opencl;
 extern AVFilter ff_vf_colorlevels;
 extern AVFilter ff_vf_colormatrix;
 extern AVFilter ff_vf_colorspace;
diff --git a/libavfilter/opencl/colorkey.cl b/libavfilter/opencl/colorkey.cl
new file mode 100644
index 00..6d71f17164
--- /dev/null
+++ b/libavfilter/opencl/colorkey.cl
@@ -0,0 +1,49 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE |
+  CLK_FILTER_NEAREST;
+
+__kernel void colorkey_blend(
+__read_only  image2d_t src,
+__write_only image2d_t dst,
+float4 colorkey_rgba,
+float similarity,
+float blend
+) {
+int2 loc = (int2)(get_global_id(0), get_global_id(1));
+float4 pixel = read_imagef(src, sampler, loc);
+float diff = distance(pixel.xyz, 

[FFmpeg-cvslog] avfilter: add lagfun filter

2019-04-20 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Mon Apr 15 22:00:00 
2019 +0200| [782ae68a117f0c3611617c28eb6f5f4b9a599cfd] | committer: Paul B Mahol

avfilter: add lagfun filter

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=782ae68a117f0c3611617c28eb6f5f4b9a599cfd
---

 Changelog|   1 +
 doc/filters.texi |  15 +++
 libavfilter/Makefile |   1 +
 libavfilter/allfilters.c |   1 +
 libavfilter/version.h|   2 +-
 libavfilter/vf_lagfun.c  | 252 +++
 6 files changed, 271 insertions(+), 1 deletion(-)

diff --git a/Changelog b/Changelog
index 5b2b1e5af4..1b4a9fac41 100644
--- a/Changelog
+++ b/Changelog
@@ -24,6 +24,7 @@ version :
 - KUX demuxer
 - AV1 frame split bitstream filter
 - lscr decoder
+- lagfun filter
 
 
 version 4.1:
diff --git a/doc/filters.texi b/doc/filters.texi
index f04c48c9e7..965756c003 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -11356,6 +11356,21 @@ kerndeint=map=1
 @end example
 @end itemize
 
+@section lagfun
+
+Slowly update darker pixels.
+
+This filter makes short flashes of light appear longer.
+This filter accepts the following options:
+
+@table @option
+@item decay
+Set factor for decaying. Default is .95. Allowed range is from 0 to 1.
+
+@item planes
+Set which planes to filter. Default is all. Allowed range is from 0 to 15.
+@end table
+
 @section lenscorrection
 
 Correct radial lens distortion
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index fef6ec5c55..c215a3ad20 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -266,6 +266,7 @@ OBJS-$(CONFIG_INFLATE_FILTER)+= 
vf_neighbor.o
 OBJS-$(CONFIG_INTERLACE_FILTER)  += vf_tinterlace.o
 OBJS-$(CONFIG_INTERLEAVE_FILTER) += f_interleave.o
 OBJS-$(CONFIG_KERNDEINT_FILTER)  += vf_kerndeint.o
+OBJS-$(CONFIG_LAGFUN_FILTER) += vf_lagfun.o
 OBJS-$(CONFIG_LENSCORRECTION_FILTER) += vf_lenscorrection.o
 OBJS-$(CONFIG_LENSFUN_FILTER)+= vf_lensfun.o
 OBJS-$(CONFIG_LIBVMAF_FILTER)+= vf_libvmaf.o framesync.o
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index c51ae0f3c7..ddac15aa6e 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -252,6 +252,7 @@ extern AVFilter ff_vf_inflate;
 extern AVFilter ff_vf_interlace;
 extern AVFilter ff_vf_interleave;
 extern AVFilter ff_vf_kerndeint;
+extern AVFilter ff_vf_lagfun;
 extern AVFilter ff_vf_lenscorrection;
 extern AVFilter ff_vf_lensfun;
 extern AVFilter ff_vf_libvmaf;
diff --git a/libavfilter/version.h b/libavfilter/version.h
index c71282c036..c494b60d4b 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -30,7 +30,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVFILTER_VERSION_MAJOR   7
-#define LIBAVFILTER_VERSION_MINOR  48
+#define LIBAVFILTER_VERSION_MINOR  49
 #define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
diff --git a/libavfilter/vf_lagfun.c b/libavfilter/vf_lagfun.c
new file mode 100644
index 00..329c7465e1
--- /dev/null
+++ b/libavfilter/vf_lagfun.c
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 2019 Paul B Mahol
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "libavutil/imgutils.h"
+#include "libavutil/intreadwrite.h"
+#include "libavutil/opt.h"
+#include "libavutil/pixdesc.h"
+
+#include "avfilter.h"
+#include "formats.h"
+#include "internal.h"
+#include "video.h"
+
+typedef struct LagfunContext {
+const AVClass *class;
+const AVPixFmtDescriptor *desc;
+float decay;
+int planes;
+
+int depth;
+int nb_planes;
+int linesize[4];
+int height[4];
+
+AVFrame *old;
+
+int (*lagfun)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
+} LagfunContext;
+
+static int query_formats(AVFilterContext *ctx)
+{
+static const enum AVPixelFormat pixel_fmts[] = {
+AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
+AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
+AV_PIX_FMT_GRAY16,
+AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
+AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
+AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P,
+AV_PIX_FMT_YUVJ420P, 

[FFmpeg-cvslog] avfilter/vf_lut3d: add cineSpace 3D lut support

2019-04-20 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Fri Apr 19 19:44:45 
2019 +0200| [e20ad3bd59cc575fbd373a4cd71a1aa782251162] | committer: Paul B Mahol

avfilter/vf_lut3d: add cineSpace 3D lut support

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e20ad3bd59cc575fbd373a4cd71a1aa782251162
---

 doc/filters.texi   |  2 ++
 libavfilter/vf_lut3d.c | 91 ++
 2 files changed, 93 insertions(+)

diff --git a/doc/filters.texi b/doc/filters.texi
index e2d17cc425..f04c48c9e7 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -11715,6 +11715,8 @@ Iridas
 DaVinci
 @item m3d
 Pandora
+@item csp
+cineSpace
 @end table
 @item interp
 Select interpolation mode.
diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index 1b6a191b3b..50ea5a8545 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -523,6 +523,95 @@ static int parse_m3d(AVFilterContext *ctx, FILE *f)
 return 0;
 }
 
+static int parse_cinespace(AVFilterContext *ctx, FILE *f)
+{
+LUT3DContext *lut3d = ctx->priv;
+char line[MAX_LINE_SIZE];
+float in_min[3]  = {0.0, 0.0, 0.0};
+float in_max[3]  = {1.0, 1.0, 1.0};
+float out_min[3] = {0.0, 0.0, 0.0};
+float out_max[3] = {1.0, 1.0, 1.0};
+int inside_metadata = 0, size;
+
+NEXT_LINE(skip_line(line));
+if (strncmp(line, "CSPLUTV100", 10)) {
+av_log(ctx, AV_LOG_ERROR, "Not cineSpace LUT format\n");
+return AVERROR(EINVAL);
+}
+
+NEXT_LINE(skip_line(line));
+if (strncmp(line, "3D", 2)) {
+av_log(ctx, AV_LOG_ERROR, "Not 3D LUT format\n");
+return AVERROR(EINVAL);
+}
+
+while (1) {
+NEXT_LINE(skip_line(line));
+
+if (!strncmp(line, "BEGIN METADATA", 14)) {
+inside_metadata = 1;
+continue;
+}
+if (!strncmp(line, "END METADATA", 12)) {
+inside_metadata = 0;
+continue;
+}
+if (inside_metadata == 0) {
+int size_r, size_g, size_b;
+
+for (int i = 0; i < 3; i++) {
+int npoints = strtol(line, NULL, 0);
+
+if (npoints != 2) {
+av_log(ctx, AV_LOG_ERROR, "Unsupported number of pre-lut 
points.\n");
+return AVERROR_PATCHWELCOME;
+}
+
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f", _min[i], _max[i]) != 2)
+return AVERROR_INVALIDDATA;
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f", _min[i], _max[i]) != 2)
+return AVERROR_INVALIDDATA;
+NEXT_LINE(skip_line(line));
+}
+
+if (av_sscanf(line, "%d %d %d", _r, _g, _b) != 3)
+return AVERROR(EINVAL);
+if (size_r != size_g || size_r != size_b) {
+av_log(ctx, AV_LOG_ERROR, "Unsupported size combination: 
%dx%dx%d.\n", size_r, size_g, size_b);
+return AVERROR_PATCHWELCOME;
+}
+
+size = size_r;
+if (size < 2 || size > MAX_LEVEL) {
+av_log(ctx, AV_LOG_ERROR, "Too large or invalid 3D LUT 
size\n");
+return AVERROR(EINVAL);
+}
+
+lut3d->lutsize = size;
+
+for (int k = 0; k < size; k++) {
+for (int j = 0; j < size; j++) {
+for (int i = 0; i < size; i++) {
+struct rgbvec *vec = >lut[i][j][k];
+if (k != 0 || j != 0 || i != 0)
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f %f", >r, >g, 
>b) != 3)
+return AVERROR_INVALIDDATA;
+vec->r *= out_max[0] - out_min[0];
+vec->g *= out_max[1] - out_min[1];
+vec->b *= out_max[2] - out_min[2];
+}
+}
+}
+
+break;
+}
+}
+return 0;
+}
+
 static void set_identity_matrix(LUT3DContext *lut3d, int size)
 {
 int i, j, k;
@@ -704,6 +793,8 @@ static av_cold int lut3d_init(AVFilterContext *ctx)
 ret = parse_cube(ctx, f);
 } else if (!av_strcasecmp(ext, "m3d")) {
 ret = parse_m3d(ctx, f);
+} else if (!av_strcasecmp(ext, "csp")) {
+ret = parse_cinespace(ctx, f);
 } else {
 av_log(ctx, AV_LOG_ERROR, "Unrecognized '.%s' file type\n", ext);
 ret = AVERROR(EINVAL);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avfilter/vf_lut3d: add cineSpace 1D lut parsing

2019-04-20 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Fri Apr 19 19:28:02 
2019 +0200| [b9d25b1a6ef0ab90506643fd3170b63ca3082615] | committer: Paul B Mahol

avfilter/vf_lut3d: add cineSpace 1D lut parsing

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b9d25b1a6ef0ab90506643fd3170b63ca3082615
---

 doc/filters.texi   |  2 ++
 libavfilter/vf_lut3d.c | 77 ++
 2 files changed, 79 insertions(+)

diff --git a/doc/filters.texi b/doc/filters.texi
index 31cd3fe21b..e2d17cc425 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -11671,6 +11671,8 @@ Currently supported formats:
 @table @samp
 @item cube
 Iridas
+@item csp
+cineSpace
 @end table
 
 @item interp
diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index 93053ed263..1b6a191b3b 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -1019,6 +1019,81 @@ static void set_identity_matrix_1d(LUT1DContext *lut1d, 
int size)
 }
 }
 
+static int parse_cinespace_1d(AVFilterContext *ctx, FILE *f)
+{
+LUT1DContext *lut1d = ctx->priv;
+char line[MAX_LINE_SIZE];
+float in_min[3]  = {0.0, 0.0, 0.0};
+float in_max[3]  = {1.0, 1.0, 1.0};
+float out_min[3] = {0.0, 0.0, 0.0};
+float out_max[3] = {1.0, 1.0, 1.0};
+int inside_metadata = 0, size;
+
+NEXT_LINE(skip_line(line));
+if (strncmp(line, "CSPLUTV100", 10)) {
+av_log(ctx, AV_LOG_ERROR, "Not cineSpace LUT format\n");
+return AVERROR(EINVAL);
+}
+
+NEXT_LINE(skip_line(line));
+if (strncmp(line, "1D", 2)) {
+av_log(ctx, AV_LOG_ERROR, "Not 1D LUT format\n");
+return AVERROR(EINVAL);
+}
+
+while (1) {
+NEXT_LINE(skip_line(line));
+
+if (!strncmp(line, "BEGIN METADATA", 14)) {
+inside_metadata = 1;
+continue;
+}
+if (!strncmp(line, "END METADATA", 12)) {
+inside_metadata = 0;
+continue;
+}
+if (inside_metadata == 0) {
+for (int i = 0; i < 3; i++) {
+int npoints = strtol(line, NULL, 0);
+
+if (npoints != 2) {
+av_log(ctx, AV_LOG_ERROR, "Unsupported number of pre-lut 
points.\n");
+return AVERROR_PATCHWELCOME;
+}
+
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f", _min[i], _max[i]) != 2)
+return AVERROR_INVALIDDATA;
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f", _min[i], _max[i]) != 2)
+return AVERROR_INVALIDDATA;
+NEXT_LINE(skip_line(line));
+}
+
+size = strtol(line, NULL, 0);
+
+if (size < 2 || size > MAX_1D_LEVEL) {
+av_log(ctx, AV_LOG_ERROR, "Too large or invalid 1D LUT 
size\n");
+return AVERROR(EINVAL);
+}
+
+lut1d->lutsize = size;
+
+for (int i = 0; i < size; i++) {
+NEXT_LINE(skip_line(line));
+if (av_sscanf(line, "%f %f %f", >lut[0][i], 
>lut[1][i], >lut[2][i]) != 3)
+return AVERROR_INVALIDDATA;
+lut1d->lut[0][i] *= out_max[0] - out_min[0];
+lut1d->lut[1][i] *= out_max[1] - out_min[1];
+lut1d->lut[2][i] *= out_max[2] - out_min[2];
+}
+
+break;
+}
+}
+return 0;
+}
+
 static int parse_cube_1d(AVFilterContext *ctx, FILE *f)
 {
 LUT1DContext *lut1d = ctx->priv;
@@ -1400,6 +1475,8 @@ static av_cold int lut1d_init(AVFilterContext *ctx)
 
 if (!av_strcasecmp(ext, "cube") || !av_strcasecmp(ext, "1dlut")) {
 ret = parse_cube_1d(ctx, f);
+} else if (!av_strcasecmp(ext, "csp")) {
+ret = parse_cinespace_1d(ctx, f);
 } else {
 av_log(ctx, AV_LOG_ERROR, "Unrecognized '.%s' file type\n", ext);
 ret = AVERROR(EINVAL);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] doc/filters: list values for af_surround window function

2019-04-20 Thread Gyan Doshi
ffmpeg | branch: master | Gyan Doshi  | Sat Apr 20 17:22:54 
2019 +0530| [bf4245e9521b0a6ace13c8432f161a3739219b2d] | committer: Gyan Doshi

doc/filters: list values for af_surround window function

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bf4245e9521b0a6ace13c8432f161a3739219b2d
---

 doc/filters.texi | 27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index cf1c72eced..31cd3fe21b 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -4884,7 +4884,32 @@ Set LFE input volume. By default, this is @var{1}.
 Set LFE output volume. By default, this is @var{1}.
 
 @item win_func
-Set window function, default is @code{hann}.
+Set window function.
+
+It accepts the following values:
+@table @samp
+@item rect
+@item bartlett
+@item hann, hanning
+@item hamming
+@item blackman
+@item welch
+@item flattop
+@item bharris
+@item bnuttall
+@item bhann
+@item sine
+@item nuttall
+@item lanczos
+@item gauss
+@item tukey
+@item dolph
+@item cauchy
+@item parzen
+@item poisson
+@item bohman
+@end table
+Default is @code{hann}.
 
 @item overlap
 Set window overlap. If set to 1, the recommended overlap for selected

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 26c8105 web/security: Add CVE-2019-11338, CVE-2019-11339

2019-04-20 Thread ffmpeg-git
The branch, master has been updated
   via  26c8105ca892f5f81678da0736cfd89d63008a4d (commit)
  from  ee83ce45c20a1f95911037404b4a41d84cf659f3 (commit)


- Log -
commit 26c8105ca892f5f81678da0736cfd89d63008a4d
Author: Michael Niedermayer 
AuthorDate: Fri Apr 19 13:24:18 2019 +0200
Commit: Michael Niedermayer 
CommitDate: Fri Apr 19 13:24:18 2019 +0200

web/security: Add CVE-2019-11338, CVE-2019-11339

diff --git a/src/security b/src/security
index 9175aba..bdcce15 100644
--- a/src/security
+++ b/src/security
@@ -3,6 +3,14 @@
 
 FFmpeg 4.1
 
+4.1.3
+
+Fixes following vulnerabilities:
+
+
+CVE-2019-11338, f1ecebcdb72b5928b585ec8f07c3847927b4bf1d / 
54655623a82632e7624714d7b2a3e039dc5faa7e
+
+
 4.1.2
 
 Fixes following vulnerabilities:
@@ -10,6 +18,8 @@ Fixes following vulnerabilities:
 
 CVE-2019-9718, cc5361ed18ab0f69cfbead7afc88fb81ed4b36ae / 
1f00c97bc3475c477f3c468cf2d924d5761d0982
 CVE-2019-9721, f7f3937494f6734d27fc3d0081c9c7a9a19614a8 / 
894995c41e0795c7a44f81adc4838dedc3932e65
+CVE-2019-11339, 1e50a327c649c8a00741996b9f6db83fdc00285a / 
d227ed5d598340e719eff7156b1aa0a4469e9a6a
+CVE-2019-11339, 8066cb3556e77570b72b28ccef9613ea0887d5ac / 
1f686d023b95219db933394a7704ad9aa5f01cbb
 
 
 4.1.1
@@ -54,6 +64,8 @@ Fixes following vulnerabilities:
 
 CVE-2019-9718, 381fa4a29d38e4ddef2a83876fb8f76e96f45a5d / 
1f00c97bc3475c477f3c468cf2d924d5761d0982
 CVE-2019-9721, 7dc5c930354c4339ce36a6cc4f2113c9cfd294f5 / 
894995c41e0795c7a44f81adc4838dedc3932e65
+CVE-2019-11339, 8183623ca38cbeb5bceddc874f218fec66bd802b / 
1f686d023b95219db933394a7704ad9aa5f01cbb
+CVE-2019-11339, aadce82c585181168f3b7cdf260c3d461d4baa1b / 
d227ed5d598340e719eff7156b1aa0a4469e9a6a
 
 
 4.0.3

---

Summary of changes:
 src/security | 12 
 1 file changed, 12 insertions(+)


hooks/post-receive
-- 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avfilter/af_surround: allow user to change overlap and win_func

2019-04-20 Thread Paul B Mahol
ffmpeg | branch: master | Paul B Mahol  | Sat Apr 20 12:02:50 
2019 +0200| [fee7c15d8754b6ac5da215f8553fe2748ba07c11] | committer: Paul B Mahol

avfilter/af_surround: allow user to change overlap and win_func

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fee7c15d8754b6ac5da215f8553fe2748ba07c11
---

 doc/filters.texi  |  7 +++
 libavfilter/af_surround.c | 37 ++---
 2 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 4dd1a5de85..cf1c72eced 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -4882,6 +4882,13 @@ Set LFE input volume. By default, this is @var{1}.
 
 @item lfe_out
 Set LFE output volume. By default, this is @var{1}.
+
+@item win_func
+Set window function, default is @code{hann}.
+
+@item overlap
+Set window overlap. If set to 1, the recommended overlap for selected
+window function will be picked. Default is @code{0.5}.
 @end table
 
 @section treble, highshelf
diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
index fcd84155a7..117c2a2d4c 100644
--- a/libavfilter/af_surround.c
+++ b/libavfilter/af_surround.c
@@ -25,6 +25,7 @@
 #include "avfilter.h"
 #include "audio.h"
 #include "formats.h"
+#include "window_func.h"
 
 typedef struct AudioSurroundContext {
 const AVClass *class;
@@ -38,6 +39,8 @@ typedef struct AudioSurroundContext {
 float fc_out;
 float lfe_in;
 float lfe_out;
+int   win_func;
+float overlap;
 
 float *input_levels;
 float *output_levels;
@@ -1288,10 +1291,15 @@ fail:
 if (!s->window_func_lut)
 return AVERROR(ENOMEM);
 
+generate_window_func(s->window_func_lut, s->buf_size, s->win_func, 
);
+if (s->overlap == 1)
+s->overlap = overlap;
+
 for (i = 0; i < s->buf_size; i++)
-s->window_func_lut[i] = sqrtf(0.5 * (1 - cosf(2 * M_PI * i / 
s->buf_size)) / s->buf_size);
-overlap = .5;
-s->hop_size = s->buf_size * (1. - overlap);
+s->window_func_lut[i] = sqrtf(s->window_func_lut[i] / s->buf_size);
+s->hop_size = s->buf_size * (1. - s->overlap);
+if (s->hop_size <= 0)
+return AVERROR(EINVAL);
 
 return 0;
 }
@@ -1449,6 +1457,29 @@ static const AVOption surround_options[] = {
 { "fc_out","set front center channel output level", OFFSET(fc_out),
 AV_OPT_TYPE_FLOAT,  {.dbl=1}, 0,  10, FLAGS },
 { "lfe_in","set lfe channel input level",  OFFSET(lfe_in), 
 AV_OPT_TYPE_FLOAT,  {.dbl=1}, 0,  10, FLAGS },
 { "lfe_out",   "set lfe channel output level", OFFSET(lfe_out),
 AV_OPT_TYPE_FLOAT,  {.dbl=1}, 0,  10, FLAGS },
+{ "win_func", "set window function", OFFSET(win_func), AV_OPT_TYPE_INT, 
{.i64 = WFUNC_HANNING}, 0, NB_WFUNC-1, FLAGS, "win_func" },
+{ "rect", "Rectangular",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_RECT}, 0, 0, FLAGS, "win_func" },
+{ "bartlett", "Bartlett", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_BARTLETT}, 0, 0, FLAGS, "win_func" },
+{ "hann", "Hann", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_HANNING},  0, 0, FLAGS, "win_func" },
+{ "hanning",  "Hanning",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_HANNING},  0, 0, FLAGS, "win_func" },
+{ "hamming",  "Hamming",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_HAMMING},  0, 0, FLAGS, "win_func" },
+{ "blackman", "Blackman", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_BLACKMAN}, 0, 0, FLAGS, "win_func" },
+{ "welch","Welch",0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_WELCH},0, 0, FLAGS, "win_func" },
+{ "flattop",  "Flat-top", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_FLATTOP},  0, 0, FLAGS, "win_func" },
+{ "bharris",  "Blackman-Harris",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_BHARRIS},  0, 0, FLAGS, "win_func" },
+{ "bnuttall", "Blackman-Nuttall", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_BNUTTALL}, 0, 0, FLAGS, "win_func" },
+{ "bhann","Bartlett-Hann",0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_BHANN},0, 0, FLAGS, "win_func" },
+{ "sine", "Sine", 0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_SINE}, 0, 0, FLAGS, "win_func" },
+{ "nuttall",  "Nuttall",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_NUTTALL},  0, 0, FLAGS, "win_func" },
+{ "lanczos",  "Lanczos",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_LANCZOS},  0, 0, FLAGS, "win_func" },
+{ "gauss","Gauss",0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_GAUSS},0, 0, FLAGS, "win_func" },
+{ "tukey","Tukey",0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_TUKEY},0, 0, FLAGS, "win_func" },
+{ "dolph","Dolph-Chebyshev",  0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_DOLPH},0, 0, FLAGS, "win_func" },
+{ "cauchy",   "Cauchy",   0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_CAUCHY},   0, 0, FLAGS, "win_func" },
+{ "parzen",   "Parzen",   0, AV_OPT_TYPE_CONST, 
{.i64=WFUNC_PARZEN},   0, 0, FLAGS,