Re: [FFmpeg-devel] [PATCH] avfilter/avf_showcqt: add attack option
On Sat, Apr 8, 2017 at 9:56 AM, Muhammad Faiz wrote: > Signed-off-by: Muhammad Faiz > --- > doc/filters.texi | 5 + > libavfilter/avf_showcqt.c | 39 --- > libavfilter/avf_showcqt.h | 3 +++ > libavfilter/version.h | 2 +- > 4 files changed, 41 insertions(+), 8 deletions(-) Applied Thank's ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] Patch: fix timestamp handling problem
Hi all, I find that the latest ffmpeg could not handle timestamp propertly for some inputs. After some digging, I finally catch first exception in commit 8f6f232. The problem was introduced by applying the new decode API -- avcodec_send_packet() and avcodec_receive_frame(). Since the new decoding flow detect input ending by the return value of avcodec_receive_frame(). It should restore the stream dts/pts after last call to avcodec_receive_frame(), that last call return a null output and break the while loop. Otherwise, stream dts/pts would be set to next_dts/next_pts. Bellow is the patch, which is also attached. From c9e552ebadf20acfd6296fc760ac8b825cc9b1fd Mon Sep 17 00:00:00 2001 From: "jeff.zheng" <163j...@163.com> Date: Sun, 9 Apr 2017 19:47:59 +0800 Subject: [PATCH] ffmpeg: fix timestamp handling problem The problem was introduced in commit 8f6f232 by appling the new decode API. Stream dts/pts should be set to the value of last decoded packet of the stream rather than next_dts/next_pts. --- ffmpeg.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index e4b94b2fa0..66156b5394 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2615,12 +2615,16 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo ist->next_pts = ist->pts = ist->dts; } +int64_t last_pts = ist->pts; +int64_t last_dts = ist->dts; // while we have more to decode or while the decoder did output something on EOF while (ist->decoding_needed) { int64_t duration = 0; int got_output = 0; int decode_failed = 0; +last_pts = ist->pts; +last_dts = ist->dts; ist->pts = ist->next_pts; ist->dts = ist->next_dts; @@ -2699,6 +2703,8 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo repeating = 1; } +ist->pts = last_pts; +ist->dts = last_dts; /* after flushing, send an EOF on all the filter inputs attached to the stream */ /* except when looping we need to flush but not to send an EOF */ -- 2.11.0 (Apple Git-81) Thanks! Jeff.Zheng 0001-ffmpeg-fix-timestamp-handling-problem.patch Description: Binary data ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
Fixes valgrind warnings about "Use of uninitialised value of size 8" Signed-off-by: James Almer --- This probably just silences a bunch of false possitives. libavcodec/svq1dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c index d3e60c3a4a..e5e43fc8e2 100644 --- a/libavcodec/svq1dec.c +++ b/libavcodec/svq1dec.c @@ -160,7 +160,7 @@ static int svq1_decode_block_intra(GetBitContext *bitbuf, uint8_t *pixels, uint8_t *list[63]; uint32_t *dst; const uint32_t *codebook; -int entries[6]; +int entries[6] = { 0 }; int i, j, m, n; int stages; unsigned mean; @@ -227,7 +227,7 @@ static int svq1_decode_block_non_intra(GetBitContext *bitbuf, uint8_t *pixels, uint8_t *list[63]; uint32_t *dst; const uint32_t *codebook; -int entries[6]; +int entries[6] = { 0 }; int i, j, m, n; int stages; unsigned mean; -- 2.12.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH v14] avformat/dashdec: add dash demuxer base version
ffmpeg need a dash demuxer for demux the dash formats base on https://github.com/samsamsam-iptvplayer/exteplayer3/blob/master/tmp/ffmpeg/patches/3.2.2/01_add_dash_demux.patch TODO: 1. support multi bitrate dash v2 fixed: 1. from autodetect to disabled 2. from camelCase code style to ffmpeg code style 3. from RepType to AVMediaType 4. fix variable typo 5. change time value from uint32_t to uint64_t 6. removed be used once API 7. change 'time(NULL)`, except it is not 2038-safe.' to av_gettime and av_timegm 8. merge complex free operation to free_fragment 9. use API from snprintf to av_asprintf v3 fixed: 1. fix typo from --enabled-xml2 to --enable-xml2 v4 fixed: 1. from --enable-xml2 to --enable-libxml2 2. move system includes to top 3. remove nouse includes 4. rename enum name 5. add a trailing comma for the last entry enum 6. fix comment typo 7. add const to DASHContext class front 8. check sscanf if return arguments and give warning message when error 9. check validity before free seg->url and seg 10. check if the val is null, before use atoll v5 fixed: 1. fix typo from mainifest to manifest v6 fixed: 1. from realloc to av_realloc 2. from free to av_free v7 fixed: 1. remove the -lxml2 from configure when require_pkg_config v8 fixed: 1. fix replace filename template by av_asprintf secure problem v9 modified: 1. make manifest parser clearly v10 fixed: 1. fix function API name code style 2. remove redundant strreplace call 3. remove redundant memory operation and check return value from get_content_url() 4. add space between ) and { 5. remove no need to log the value for print v11 fixed: 1. from atoll to strtoll v12 fixed: 1. remove strreplace and instead by av_strreplace v13 fixed: 1. fix bug: cannot play: http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps.mpd v14 fixed: 1. fix bug: TLS connection was non-properly terminated 2. fix bug: No trailing CRLF found in HTTP header Reviewed-by: Clément Bœsch Reviewed-by: Michael Niedermayer Reviewed-by: Carl Eugen Hoyos Reviewed-by: Rodger Combs Reviewed-by: Moritz Barsnick Reviewed-by: Nicolas George Reviewed-by: Ricardo Constantino Reviewed-by: wm4 Tested-by: Andy Furniss Reported-by: Andy Furniss Signed-off-by: Steven Liu --- configure|4 + libavformat/Makefile |1 + libavformat/allformats.c |2 +- libavformat/dashdec.c| 1800 ++ 4 files changed, 1806 insertions(+), 1 deletion(-) create mode 100644 libavformat/dashdec.c diff --git a/configure b/configure index 6dc0b7aad3..5a63240096 100755 --- a/configure +++ b/configure @@ -274,6 +274,7 @@ External library support: --enable-libxcb-shapeenable X11 grabbing shape rendering [autodetect] --enable-libxvid enable Xvid encoding via xvidcore, native MPEG-4/Xvid encoder exists [no] + --enable-libxml2enable XML parsing using the C library libxml2 [no] --enable-libzimg enable z.lib, needed for zscale filter [no] --enable-libzmq enable message passing via libzmq [no] --enable-libzvbi enable teletext support via libzvbi [no] @@ -1581,6 +1582,7 @@ EXTERNAL_LIBRARY_LIST=" libvpx libwavpack libwebp +libxml2 libzimg libzmq libzvbi @@ -2916,6 +2918,7 @@ avi_muxer_select="riffenc" caf_demuxer_select="iso_media riffdec" caf_muxer_select="iso_media" dash_muxer_select="mp4_muxer" +dash_demuxer_deps="libxml2" dirac_demuxer_select="dirac_parser" dts_demuxer_select="dca_parser" dtshd_demuxer_select="dca_parser" @@ -5921,6 +5924,7 @@ enabled openssl && { use_pkg_config openssl openssl/ssl.h OPENSSL_init check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || die "ERROR: openssl not found"; } enabled qtkit_indev && { check_header_objcc QTKit/QTKit.h || disable qtkit_indev; } +enabled libxml2 && require_pkg_config libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion # libdc1394 check if enabled libdc1394; then diff --git a/libavformat/Makefile b/libavformat/Makefile index a1dae894fe..37b9838956 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -135,6 +135,7 @@ OBJS-$(CONFIG_CRC_MUXER) += crcenc.o OBJS-$(CONFIG_DATA_DEMUXER) += rawdec.o OBJS-$(CONFIG_DATA_MUXER)+= rawenc.o OBJS-$(CONFIG_DASH_MUXER)+= dashenc.o +OBJS-$(CONFIG_DASH_DEMUXER) += dashdec.o OBJS-$(CONFIG_DAUD_DEMUXER) += dauddec.o OBJS-$(CONFIG_DAUD_MUXER)+= daudenc.o OBJS-$(CONFIG_DCSTR_DEMUXER) += dcstr.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 09e62c3cfc..d57314ba9e 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -96,7 +96,7 @@ static void register_all(void) REGISTER_DEMUXER (CINE, cine); REGISTER_DEMUXE
Re: [FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
On Sun, 9 Apr 2017 at 14:57 James Almer wrote: > Fixes valgrind warnings about "Use of uninitialised value of size 8" > > Signed-off-by: James Almer > --- > This probably just silences a bunch of false possitives. > > libavcodec/svq1dec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > LGTM ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avfilter/vf_dctdnoiz: add GBRP support
Signed-off-by: Paul B Mahol --- libavfilter/vf_dctdnoiz.c | 85 +++ 1 file changed, 71 insertions(+), 14 deletions(-) diff --git a/libavfilter/vf_dctdnoiz.c b/libavfilter/vf_dctdnoiz.c index 62763bf..69e67c2 100644 --- a/libavfilter/vf_dctdnoiz.c +++ b/libavfilter/vf_dctdnoiz.c @@ -63,9 +63,9 @@ typedef struct DCTdnoizContext { float *dst, int dst_linesize, int thread_id); void (*color_decorrelation)(float **dst, int dst_linesize, -const uint8_t *src, int src_linesize, +const uint8_t **src, int src_linesize, int w, int h); -void (*color_correlation)(uint8_t *dst, int dst_linesize, +void (*color_correlation)(uint8_t **dst, int dst_linesize, float **src, int src_linesize, int w, int h); } DCTdnoizContext; @@ -408,7 +408,7 @@ DEF_FILTER_FREQ_FUNCS(16) #define DCT3X3_2_2 0.4082482904638631f /* 1/sqrt(6) */ static av_always_inline void color_decorrelation(float **dst, int dst_linesize, - const uint8_t *src, int src_linesize, + const uint8_t **src, int src_linesize, int w, int h, int r, int g, int b) { @@ -416,24 +416,23 @@ static av_always_inline void color_decorrelation(float **dst, int dst_linesize, float *dstp_r = dst[0]; float *dstp_g = dst[1]; float *dstp_b = dst[2]; +const uint8_t *srcp = src[0]; for (y = 0; y < h; y++) { -const uint8_t *srcp = src; - for (x = 0; x < w; x++) { dstp_r[x] = srcp[r] * DCT3X3_0_0 + srcp[g] * DCT3X3_0_1 + srcp[b] * DCT3X3_0_2; dstp_g[x] = srcp[r] * DCT3X3_1_0 +srcp[b] * DCT3X3_1_2; dstp_b[x] = srcp[r] * DCT3X3_2_0 + srcp[g] * DCT3X3_2_1 + srcp[b] * DCT3X3_2_2; srcp += 3; } -src += src_linesize; +srcp += src_linesize - w * 3; dstp_r += dst_linesize; dstp_g += dst_linesize; dstp_b += dst_linesize; } } -static av_always_inline void color_correlation(uint8_t *dst, int dst_linesize, +static av_always_inline void color_correlation(uint8_t **dst, int dst_linesize, float **src, int src_linesize, int w, int h, int r, int g, int b) @@ -442,17 +441,16 @@ static av_always_inline void color_correlation(uint8_t *dst, int dst_linesize, const float *src_r = src[0]; const float *src_g = src[1]; const float *src_b = src[2]; +uint8_t *dstp = dst[0]; for (y = 0; y < h; y++) { -uint8_t *dstp = dst; - for (x = 0; x < w; x++) { dstp[r] = av_clip_uint8(src_r[x] * DCT3X3_0_0 + src_g[x] * DCT3X3_1_0 + src_b[x] * DCT3X3_2_0); dstp[g] = av_clip_uint8(src_r[x] * DCT3X3_0_1 + src_b[x] * DCT3X3_2_1); dstp[b] = av_clip_uint8(src_r[x] * DCT3X3_0_2 + src_g[x] * DCT3X3_1_2 + src_b[x] * DCT3X3_2_2); dstp += 3; } -dst += dst_linesize; +dstp += dst_linesize - w * 3; src_r += src_linesize; src_g += src_linesize; src_b += src_linesize; @@ -461,13 +459,13 @@ static av_always_inline void color_correlation(uint8_t *dst, int dst_linesize, #define DECLARE_COLOR_FUNCS(name, r, g, b) \ static void color_decorrelation_##name(float **dst, int dst_linesize, \ - const uint8_t *src, int src_linesize, \ + const uint8_t **src, int src_linesize, \ int w, int h) \ { \ color_decorrelation(dst, dst_linesize, src, src_linesize, w, h, r, g, b); \ } \ \ -static void color_correlation_##name(uint8_t *dst, int dst_linesize, \ +static void color_correlation_##name(uint8_t **dst, int dst_linesize, \ float **src, int src_linesize, \ int w, int h) \ { \ @@ -477,6 +475,60 @@ static void color_correlation_##name(uint8_t *dst, int dst_linesize, DECLARE_C
[FFmpeg-devel] [PATCH] avfilter: add rangescope filter
Signed-off-by: Paul B Mahol --- libavfilter/Makefile| 1 + libavfilter/allfilters.c| 1 + libavfilter/vf_rangescope.c | 287 3 files changed, 289 insertions(+) create mode 100644 libavfilter/vf_rangescope.c diff --git a/libavfilter/Makefile b/libavfilter/Makefile index d6daa7a..d9f2385 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -250,6 +250,7 @@ OBJS-$(CONFIG_PSNR_FILTER) += vf_psnr.o dualinput.o framesync. OBJS-$(CONFIG_PULLUP_FILTER) += vf_pullup.o OBJS-$(CONFIG_QP_FILTER) += vf_qp.o OBJS-$(CONFIG_RANDOM_FILTER) += vf_random.o +OBJS-$(CONFIG_RANGESCOPE_FILTER) += vf_rangescope.o OBJS-$(CONFIG_READEIA608_FILTER) += vf_readeia608.o OBJS-$(CONFIG_READVITC_FILTER) += vf_readvitc.o OBJS-$(CONFIG_REALTIME_FILTER) += f_realtime.o diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c index ec6ec04..feb6ce1 100644 --- a/libavfilter/allfilters.c +++ b/libavfilter/allfilters.c @@ -260,6 +260,7 @@ static void register_all(void) REGISTER_FILTER(PULLUP, pullup, vf); REGISTER_FILTER(QP, qp, vf); REGISTER_FILTER(RANDOM, random, vf); +REGISTER_FILTER(RANGESCOPE, rangescope, vf); REGISTER_FILTER(READEIA608, readeia608, vf); REGISTER_FILTER(READVITC, readvitc, vf); REGISTER_FILTER(REALTIME, realtime, vf); diff --git a/libavfilter/vf_rangescope.c b/libavfilter/vf_rangescope.c new file mode 100644 index 000..bd7365b --- /dev/null +++ b/libavfilter/vf_rangescope.c @@ -0,0 +1,287 @@ +/* + * Copyright (c) 2016 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/avassert.h" +#include "libavutil/intreadwrite.h" +#include "libavutil/opt.h" +#include "libavutil/parseutils.h" +#include "libavutil/pixdesc.h" +#include "libavutil/xga_font_data.h" +#include "avfilter.h" +#include "drawutils.h" +#include "formats.h" +#include "internal.h" +#include "video.h" + +typedef struct Range { +int min; +int max; +int imin; +int imax; +} Range; + +typedef struct RangescopeContext { +const AVClass *class; +int ow, oh; + +int planewidth[4]; +int planeheight[4]; +int nb_planes; +int depth; +FFDrawContext draw; +FFDrawColor black; +uint8_t map[4]; + +Range range[4]; +float *history[4]; +int max; +void (*get_ranges)(AVFilterContext *ctx, AVFrame *in); +} RangescopeContext; + +#define OFFSET(x) offsetof(RangescopeContext, x) +#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM + +static const AVOption rangescope_options[] = { +{ "width", "set output width",OFFSET(ow),AV_OPT_TYPE_INT, {.i64=640}, 9, 4000, FLAGS }, +{ "w", "set output width",OFFSET(ow),AV_OPT_TYPE_INT, {.i64=640}, 9, 4000, FLAGS }, +{ NULL } +}; + +AVFILTER_DEFINE_CLASS(rangescope); + +static const enum AVPixelFormat in_pix_fmts[] = { +AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, +AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, +AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, +AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, +AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, +AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, +AV_PIX_FMT_GRAY8, +AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, +AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9, +AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, +AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA420P10, +AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV440P12, +AV_PIX_FMT_NONE +}; + +static const enum AVPixelFormat out_pix_fmts[] = { +AV_PIX_FMT_GBRP, +AV_PIX_FMT_NONE +}; + +static int query_formats(AVFilterContext *ctx) +{ +int ret; + +if ((ret = ff_formats_ref(ff_make_format_list(in_pix_fmts), &ctx->inputs[0]->out_formats)) < 0) +return ret; +return ff_formats_ref(ff_make_format_list(out_pix_fmts), &ctx->outputs[0]->in_formats); +} + +static v
Re: [FFmpeg-devel] [PATCH] avfilter/vf_dctdnoiz: add GBRP support
On Sun, Apr 09, 2017 at 05:40:13PM +0200, Paul B Mahol wrote: [...] > +static av_always_inline void color_decorrelation_gbrp(float **dst, int > dst_linesize, > + const uint8_t **src, > int src_linesize, > + int w, int h) > +{ > +int x, y; > +float *dstp_r = dst[0]; > +float *dstp_g = dst[1]; > +float *dstp_b = dst[2]; > +const uint8_t *srcp_r = src[2]; > +const uint8_t *srcp_g = src[0]; > +const uint8_t *srcp_b = src[1]; > + > +for (y = 0; y < h; y++) { > +for (x = 0; x < w; x++) { > +dstp_r[x] = srcp_r[x] * DCT3X3_0_0 + srcp_g[x] * DCT3X3_0_1 + > srcp_b[x] * DCT3X3_0_2; > +dstp_g[x] = srcp_g[x] * DCT3X3_1_0 + > srcp_b[x] * DCT3X3_1_2; > +dstp_b[x] = srcp_b[x] * DCT3X3_2_0 + srcp_g[x] * DCT3X3_2_1 + > srcp_b[x] * DCT3X3_2_2; ^ i think this column is supposed to be reds > +} > +srcp_r += src_linesize; > +srcp_g += src_linesize; > +srcp_b += src_linesize; > +dstp_r += dst_linesize; > +dstp_g += dst_linesize; > +dstp_b += dst_linesize; > +} > +} Rest LGTM -- Clément B. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter/vf_dctdnoiz: add GBRP support
On 4/9/17, Clement Boesch wrote: > On Sun, Apr 09, 2017 at 05:40:13PM +0200, Paul B Mahol wrote: > [...] >> +static av_always_inline void color_decorrelation_gbrp(float **dst, int >> dst_linesize, >> + const uint8_t >> **src, int src_linesize, >> + int w, int h) >> +{ >> +int x, y; >> +float *dstp_r = dst[0]; >> +float *dstp_g = dst[1]; >> +float *dstp_b = dst[2]; >> +const uint8_t *srcp_r = src[2]; >> +const uint8_t *srcp_g = src[0]; >> +const uint8_t *srcp_b = src[1]; >> + >> +for (y = 0; y < h; y++) { >> +for (x = 0; x < w; x++) { > >> +dstp_r[x] = srcp_r[x] * DCT3X3_0_0 + srcp_g[x] * DCT3X3_0_1 + >> srcp_b[x] * DCT3X3_0_2; >> +dstp_g[x] = srcp_g[x] * DCT3X3_1_0 + >> srcp_b[x] * DCT3X3_1_2; >> +dstp_b[x] = srcp_b[x] * DCT3X3_2_0 + srcp_g[x] * DCT3X3_2_1 + >> srcp_b[x] * DCT3X3_2_2; > ^ > i think this column is supposed to be reds Indeed, fixed locally. >> +} >> +srcp_r += src_linesize; >> +srcp_g += src_linesize; >> +srcp_b += src_linesize; >> +dstp_r += dst_linesize; >> +dstp_g += dst_linesize; >> +dstp_b += dst_linesize; >> +} >> +} > > Rest LGTM > > -- > Clement B. > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
On 4/9/2017 11:51 AM, Kieran Kunhya wrote: > On Sun, 9 Apr 2017 at 14:57 James Almer wrote: > >> Fixes valgrind warnings about "Use of uninitialised value of size 8" >> >> Signed-off-by: James Almer >> --- >> This probably just silences a bunch of false possitives. >> >> libavcodec/svq1dec.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> > > LGTM Pushed, thanks. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 2/2] configure: disable stripping and memory_poisoning in various toolchains
Toolchains which target debugging are meaningless with stripping and toolchains which target memory tracking are meaningless with memory pollution. --- configure | 8 1 file changed, 8 insertions(+) diff --git a/configure b/configure index 539a126656..f27ede94d9 100755 --- a/configure +++ b/configure @@ -3591,11 +3591,14 @@ case "$toolchain" in cc_default="${toolchain%-asan}" add_cflags -fsanitize=address add_ldflags -fsanitize=address +disable stripping ;; *-msan) cc_default="${toolchain%-msan}" add_cflags -fsanitize=memory -fsanitize-memory-track-origins add_ldflags -fsanitize=memory +disable stripping +disable memory_poisoning ;; *-tsan) cc_default="${toolchain%-tsan}" @@ -3607,11 +3610,13 @@ case "$toolchain" in add_ldflags -fPIC ;; esac +disable stripping ;; *-usan) cc_default="${toolchain%-usan}" add_cflags -fsanitize=undefined add_ldflags -fsanitize=undefined +disable stripping ;; valgrind-*) target_exec_default="valgrind" @@ -3624,6 +3629,8 @@ case "$toolchain" in target_exec_args="--error-exitcode=1 --malloc-fill=0x2a --track-origins=yes --leak-check=full --gen-suppressions=all --suppressions=$source_path/tests/fate-valgrind.supp" ;; esac +disable stripping +disable memory_poisoning ;; msvc) # Check whether the current MSVC version needs the C99 converter. @@ -3664,6 +3671,7 @@ case "$toolchain" in gcov) add_cflags -fprofile-arcs -ftest-coverage add_ldflags -fprofile-arcs -ftest-coverage +disable stripping ;; llvm-cov) add_cflags -fprofile-arcs -ftest-coverage -- 2.12.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/2] configure: properly honor --valgrind option
Setting --valgrind implies the valgrind-memcheck toolchain. Before this commit, the toolchain handling was overriding the target exec with an arbitrary "valgrind" setting not taking into account the user setting. --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 8ad0bda76c..539a126656 100755 --- a/configure +++ b/configure @@ -3615,6 +3615,7 @@ case "$toolchain" in ;; valgrind-*) target_exec_default="valgrind" +test -n "$valgrind" && target_exec_default="$valgrind" case "$toolchain" in valgrind-massif) target_exec_args="--tool=massif --alloc-fn=av_malloc --alloc-fn=av_mallocz --alloc-fn=av_calloc --alloc-fn=av_fast_padded_malloc --alloc-fn=av_fast_malloc --alloc-fn=av_realloc_f --alloc-fn=av_fast_realloc --alloc-fn=av_realloc" -- 2.12.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 1/5] avcodec/hevc_parse: check for parameter set decoding failure
On 4/5/2017 6:53 PM, Hendrik Leppkes wrote: > On Wed, Apr 5, 2017 at 11:40 PM, James Almer wrote: >> On 4/3/2017 10:46 AM, James Almer wrote: >>> On 4/3/2017 7:00 AM, Michael Niedermayer wrote: On Sun, Apr 02, 2017 at 10:45:41PM -0300, James Almer wrote: > Signed-off-by: James Almer > --- > libavcodec/hevc_parse.c | 32 +--- > 1 file changed, 25 insertions(+), 7 deletions(-) > > diff --git a/libavcodec/hevc_parse.c b/libavcodec/hevc_parse.c > index 6c1138e015..028ca5afe5 100644 > --- a/libavcodec/hevc_parse.c > +++ b/libavcodec/hevc_parse.c > @@ -22,7 +22,8 @@ > #include "hevc_parse.h" > > static int hevc_decode_nal_units(const uint8_t *buf, int buf_size, > HEVCParamSets *ps, > - int is_nalff, int nal_length_size, void > *logctx) > + int is_nalff, int nal_length_size, int > err_recognition, > + void *logctx) > { > int i; > int ret = 0; > @@ -38,9 +39,21 @@ static int hevc_decode_nal_units(const uint8_t *buf, > int buf_size, HEVCParamSets > > /* ignore everything except parameter sets and VCL NALUs */ > switch (nal->type) { > -case HEVC_NAL_VPS: ff_hevc_decode_nal_vps(&nal->gb, logctx, ps); >break; > -case HEVC_NAL_SPS: ff_hevc_decode_nal_sps(&nal->gb, logctx, ps, > 1); break; > -case HEVC_NAL_PPS: ff_hevc_decode_nal_pps(&nal->gb, logctx, ps); >break; > +case HEVC_NAL_VPS: > +ret = ff_hevc_decode_nal_vps(&nal->gb, logctx, ps); > +if (ret < 0) > +goto done; > +break; > +case HEVC_NAL_SPS: > +ret = ff_hevc_decode_nal_sps(&nal->gb, logctx, ps, 1); > +if (ret < 0) > +goto done; > +break; > +case HEVC_NAL_PPS: > +ret = ff_hevc_decode_nal_pps(&nal->gb, logctx, ps); > +if (ret < 0) > +goto done; > +break; > case HEVC_NAL_TRAIL_R: > case HEVC_NAL_TRAIL_N: > case HEVC_NAL_TSA_N: I didnt investigate how exactly this is used but from just the patch this seems not optimal For example, if you have 3 PPS NALs and the first fails to decode you might still be able to fully decode the other 2 >>> >>> I'm mimicking the behavior of decode_nal_unit() in hevcdec.c, which is >>> currently used during frame decoding and extradata decoding. >>> This patchset aims at removing duplicate code while keeping the hevc >>> decoder behaving the same as it was before. I could skip this change >>> if that's preferred, but if this behavior is not optimal then someone >>> who better understands the codec should look at it. >> >> To add some context, the functions in hevc_parse.c are currently used >> only by the mediacodec based hevc decoder to decode extradata, and it's >> a duplicate of existing functionality in hevcdec.c used by the internal >> hevc decoder. >> >> This set aims at putting the hevc_parse.c version on par with the >> hevcdec.c one (in the scope of extradata parsing, not frame) to share it >> between the two decoders and any other that may need it in the future. >> This patch checks for PS failures and aborts if err_recog is set to >> explode. The second makes apply_defdispwin user defined instead of >> having it hardcoded to 1. The third avoids aborting on NALs not needed >> or expected in extradata, and the last two patches make hevcdec.c use >> ff_hevc_decode_extradata(). >> >> Not aborting on PS NAL failures here would technically mean a change in >> behavior on the internal hevc decoder once patch five is applied, and >> I'd rather no do that as part of this set. >> > > Keeping the current behavior for the HEVC software decoder seems > ideal. If a change in behavior is wanted afterwards, it should be > dealt with in a separate change, and not this refactoring. > > - Hendrik Patchset pushed then. Thanks. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] ffprobe: only use custom logging callback if -show_log is set
On Wed, 5 Apr 2017, Marton Balint wrote: The custom callback can cause significant CPU usage on Windows for some large files with many index entries for some reason. Will push this soon to master and 3.3. Regards, Marton Signed-off-by: Marton Balint --- ffprobe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ffprobe.c b/ffprobe.c index 0a9ba14..3d321cb 100644 --- a/ffprobe.c +++ b/ffprobe.c @@ -3458,7 +3458,8 @@ int main(int argc, char **argv) goto end; } #endif -av_log_set_callback(log_callback); +if (do_show_log) +av_log_set_callback(log_callback); av_log_set_flags(AV_LOG_SKIP_REPEATED); register_exit(ffprobe_cleanup); -- 2.10.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avfilter/af_amix: add double sample format support
Signed-off-by: Paul B Mahol --- libavfilter/af_amix.c | 19 +++ libavutil/float_dsp.c | 9 + libavutil/float_dsp.h | 16 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index a4d1389..2dacb22 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -336,10 +336,19 @@ static int output_frame(AVFilterLink *outlink) plane_size = nb_samples * (s->planar ? 1 : s->nb_channels); plane_size = FFALIGN(plane_size, 16); -for (p = 0; p < planes; p++) { -s->fdsp->vector_fmac_scalar((float *)out_buf->extended_data[p], - (float *) in_buf->extended_data[p], - s->input_scale[i], plane_size); +if (out_buf->format == AV_SAMPLE_FMT_FLT || +out_buf->format == AV_SAMPLE_FMT_FLTP) { +for (p = 0; p < planes; p++) { +s->fdsp->vector_fmac_scalar((float *)out_buf->extended_data[p], + (float *) in_buf->extended_data[p], + s->input_scale[i], plane_size); +} +} else { +for (p = 0; p < planes; p++) { +s->fdsp->vector_dmac_scalar((double *)out_buf->extended_data[p], + (double *) in_buf->extended_data[p], + s->input_scale[i], plane_size); +} } } } @@ -529,6 +538,8 @@ static int query_formats(AVFilterContext *ctx) if ((ret = ff_add_format(&formats, AV_SAMPLE_FMT_FLT )) < 0 || (ret = ff_add_format(&formats, AV_SAMPLE_FMT_FLTP)) < 0 || +(ret = ff_add_format(&formats, AV_SAMPLE_FMT_DBL )) < 0 || +(ret = ff_add_format(&formats, AV_SAMPLE_FMT_DBLP)) < 0 || (ret = ff_set_common_formats(ctx, formats)) < 0 || (ret = ff_set_common_channel_layouts(ctx, layouts)) < 0 || (ret = ff_set_common_samplerates(ctx, ff_all_samplerates())) < 0) diff --git a/libavutil/float_dsp.c b/libavutil/float_dsp.c index c85daff..1d4911d 100644 --- a/libavutil/float_dsp.c +++ b/libavutil/float_dsp.c @@ -40,6 +40,14 @@ static void vector_fmac_scalar_c(float *dst, const float *src, float mul, dst[i] += src[i] * mul; } +static void vector_dmac_scalar_c(double *dst, const double *src, double mul, + int len) +{ +int i; +for (i = 0; i < len; i++) +dst[i] += src[i] * mul; +} + static void vector_fmul_scalar_c(float *dst, const float *src, float mul, int len) { @@ -125,6 +133,7 @@ av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact) fdsp->vector_fmul = vector_fmul_c; fdsp->vector_fmac_scalar = vector_fmac_scalar_c; fdsp->vector_fmul_scalar = vector_fmul_scalar_c; +fdsp->vector_dmac_scalar = vector_dmac_scalar_c; fdsp->vector_dmul_scalar = vector_dmul_scalar_c; fdsp->vector_fmul_window = vector_fmul_window_c; fdsp->vector_fmul_add = vector_fmul_add_c; diff --git a/libavutil/float_dsp.h b/libavutil/float_dsp.h index d1be38f..2c24d93 100644 --- a/libavutil/float_dsp.h +++ b/libavutil/float_dsp.h @@ -55,6 +55,22 @@ typedef struct AVFloatDSPContext { int len); /** + * Multiply a vector of doubles by a scalar double and add to + * destination vector. Source and destination vectors must + * overlap exactly or not at all. + * + * @param dst result vector + *constraints: 32-byte aligned + * @param src input vector + *constraints: 32-byte aligned + * @param mul scalar value + * @param len length of vector + *constraints: multiple of 16 + */ +void (*vector_dmac_scalar)(double *dst, const double *src, double mul, + int len); + +/** * Multiply a vector of floats by a scalar float. Source and * destination vectors must overlap exactly or not at all. * -- 2.9.3 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3] avutil/avstring: improve av_strreplace implement
Le septidi 17 germinal, an CCXXV, Michael Niedermayer a écrit : > Its in no release, and there seems consensus that it shouldnt be > in a release at this point, so id say remove it from release/3.3 branch I think we can say that enough time has passed, and ideally it should be removed before the actual release. Steven: are you on it? Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3] avutil/avstring: improve av_strreplace implement
2017-04-10 4:39 GMT+08:00 Nicolas George : > Le septidi 17 germinal, an CCXXV, Michael Niedermayer a écrit : > > Its in no release, and there seems consensus that it shouldnt be > > in a release at this point, so id say remove it from release/3.3 branch > > I think we can say that enough time has passed, and ideally it should be > removed before the actual release. > > Steven: are you on it? > yes, but i don't know how should i do next step. > > Regards, > > -- > Nicolas George > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3] avutil/avstring: improve av_strreplace implement
On Mon, 10 Apr 2017, Steven Liu wrote: 2017-04-10 4:39 GMT+08:00 Nicolas George : Le septidi 17 germinal, an CCXXV, Michael Niedermayer a écrit : > Its in no release, and there seems consensus that it shouldnt be > in a release at this point, so id say remove it from release/3.3 branch I think we can say that enough time has passed, and ideally it should be removed before the actual release. Steven: are you on it? yes, but i don't know how should i do next step. In the 3.3 branch you should revert the original av_strreplace patch (99e5d81ef997cb88b1a40e6f253f37f7cbf251d9). In the master branch you should apply your v3 patch (which renames the function and makes it use AVBPrint), and when applying, also make sure to add a line in APIChanges about av_strireplace and increase libavutil minor version. Regards, Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avcodec/aacdec_template: Do not decode 2nd PCE if it will lead to failure
Fixes: out of array read Fixes: 1072/clusterfuzz-testcase-6456688074817536 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/aacdec_template.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index 98a3240597..b20855b99d 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -406,11 +406,15 @@ static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int tags) /** * Save current output configuration if and only if it has been locked. */ -static void push_output_configuration(AACContext *ac) { +static int push_output_configuration(AACContext *ac) { +int pushed = 0; + if (ac->oc[1].status == OC_LOCKED || ac->oc[0].status == OC_NONE) { ac->oc[0] = ac->oc[1]; +pushed = 1; } ac->oc[1].status = OC_NONE; +return pushed; } /** @@ -3026,7 +3030,13 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data, case TYPE_PCE: { uint8_t layout_map[MAX_ELEM_ID*4][3]; int tags; -push_output_configuration(ac); + +int pushed = push_output_configuration(ac); +if (pce_found && !pushed) { +err = AVERROR_INVALIDDATA; +goto fail; +} + tags = decode_pce(avctx, &ac->oc[1].m4ac, layout_map, gb, payload_alignment); if (tags < 0) { -- 2.11.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3] avutil/avstring: improve av_strreplace implement
2017-04-10 7:09 GMT+08:00 Marton Balint : > > > On Mon, 10 Apr 2017, Steven Liu wrote: > > 2017-04-10 4:39 GMT+08:00 Nicolas George : >> >> Le septidi 17 germinal, an CCXXV, Michael Niedermayer a écrit : >>> > Its in no release, and there seems consensus that it shouldnt be >>> > in a release at this point, so id say remove it from release/3.3 branch >>> >>> I think we can say that enough time has passed, and ideally it should be >>> removed before the actual release. >>> >>> Steven: are you on it? >>> >>> yes, but i don't know how should i do next step. >> >> > In the 3.3 branch you should revert the original av_strreplace patch > (99e5d81ef997cb88b1a40e6f253f37f7cbf251d9). > > In the master branch you should apply your v3 patch (which renames the > function and makes it use AVBPrint), and when applying, also make sure to > add a line in APIChanges about av_strireplace and increase libavutil minor > version. > git checkout remotes/origin/release/3.3 -b 3.3 git revert 99e5d81ef997cb88b1a40e6f253f37f7cbf251d9 git push remotes/origin/release/3.3 Is that right? > > Regards, > Marton > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
On Sun, Apr 09, 2017 at 07:51:10AM -0300, James Almer wrote: > Fixes valgrind warnings about "Use of uninitialised value of size 8" how can this be reproduced ? is this a regression ? > > Signed-off-by: James Almer > --- > This probably just silences a bunch of false possitives. if thats the case, then the fix is wrong valgrind bugs should be fixed in valgrind or the entries should be added to the valgrind suppression file [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/2] configure: disable stripping and memory_poisoning in various toolchains
On Sun, Apr 09, 2017 at 06:46:51PM +0200, Clément Bœsch wrote: > Toolchains which target debugging are meaningless with stripping and > toolchains which target memory tracking are meaningless with memory > pollution. > --- > configure | 8 > 1 file changed, 8 insertions(+) memory_poisoning is not enabled by default in configure this change would only change the case where the user of configure enabled explicitly memory_poisoning IMHO this feels wrong [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Those who are too smart to engage in politics are punished by being governed by those who are dumber. -- Plato signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
On 4/9/2017 10:46 PM, Michael Niedermayer wrote: > On Sun, Apr 09, 2017 at 07:51:10AM -0300, James Almer wrote: >> Fixes valgrind warnings about "Use of uninitialised value of size 8" > > how can this be reproduced ? fate-svq1, fate-svq1-headerswap and fate-vsynth{1,2,3,_lena}-svq1 when configured with --toolchain=valgrind-memcheck A similar failure can be seen in all ffv1 vsynth tests as well, but i couldn't find what caused them or where. > is this a regression ? Fate didn't always complain about this, so it's either something introduced by a change in our tree, or a valgrind bug introduced in a relatively recent version. The reports in http://fate.ffmpeg.org/history.cgi?slot=x86_64-archlinux-gcc-valgrindundef are kinda broken and report a nonsense commit as the "last known good ref", so i can't say when it started failing. > > >> >> Signed-off-by: James Almer >> --- > >> This probably just silences a bunch of false possitives. > > if thats the case, then the fix is wrong > valgrind bugs should be fixed in valgrind or the entries should be > added to the valgrind suppression file Assuming it is after all a false positive, zero initializing stack is harmless and gets rid of the noise. But i agree it's not ideal. > > [...] > > > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avformat/movenc: auto insert vp9_superframe bsf when needed
Experimental VP9 support was added to the muxer recently. --- libavformat/movenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index a54aa879e9..9280dc8d23 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6352,6 +6352,8 @@ static int mov_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt) if (st->codecpar->codec_id == AV_CODEC_ID_AAC) { if (pkt->size > 2 && (AV_RB16(pkt->data) & 0xfff0) == 0xfff0) ret = ff_stream_add_bitstream_filter(st, "aac_adtstoasc", NULL); +} else if (st->codecpar->codec_id == AV_CODEC_ID_VP9) { +ret = ff_stream_add_bitstream_filter(st, "vp9_superframe", NULL); } return ret; -- 2.12.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/2] configure: disable stripping and memory_poisoning in various toolchains
On Mon, Apr 10, 2017 at 03:51:40AM +0200, Michael Niedermayer wrote: > On Sun, Apr 09, 2017 at 06:46:51PM +0200, Clément Bœsch wrote: > > Toolchains which target debugging are meaningless with stripping and > > toolchains which target memory tracking are meaningless with memory > > pollution. > > --- > > configure | 8 > > 1 file changed, 8 insertions(+) > > memory_poisoning is not enabled by default in configure > but it is enabled by the fate configure, so if you create a FATE instance with valgrind, you may forget that memory-poisoning is enabled and make it useless for uninitialized memory without realizing. [...] -- Clément B. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avcodec/svq1: zero initialize entries array
On Sun, Apr 09, 2017 at 11:10:16PM -0300, James Almer wrote: [...] > > is this a regression ? > > Fate didn't always complain about this, so it's either something > introduced by a change in our tree, or a valgrind bug introduced in a > relatively recent version. > > The reports in > http://fate.ffmpeg.org/history.cgi?slot=x86_64-archlinux-gcc-valgrindundef > are kinda broken and report a nonsense commit as the "last known good > ref", so i can't say when it started failing. That was because I couldn't upgrade for a long time and bumped both GCC and Valgrind (and actually the whole system) at once. Sorry, I couldn't do it gradually. -- Clément B. signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/2] configure: disable stripping and memory_poisoning in various toolchains
On Mon, 10 Apr 2017 07:54:41 +0200 Clément Bœsch wrote: > On Mon, Apr 10, 2017 at 03:51:40AM +0200, Michael Niedermayer wrote: > > On Sun, Apr 09, 2017 at 06:46:51PM +0200, Clément Bœsch wrote: > > > Toolchains which target debugging are meaningless with stripping and > > > toolchains which target memory tracking are meaningless with memory > > > pollution. > > > --- > > > configure | 8 > > > 1 file changed, 8 insertions(+) > > > > memory_poisoning is not enabled by default in configure > > > > but it is enabled by the fate configure, so if you create a FATE instance > with valgrind, you may forget that memory-poisoning is enabled and make it > useless for uninitialized memory without realizing. I love it when such questionable debugging features interfere with real debugging tools. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel