[FFmpeg-cvslog] doc/codecs: mention error returned for flag AV_CODEC_FLAG_DROPCHANGED
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
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
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
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
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
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
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
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
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,