Re: [FFmpeg-devel] [PATCH] avfilter/avf_showcqt: add attack option

2017-04-09 Thread Muhammad Faiz
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

2017-04-09 Thread Jeff
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

2017-04-09 Thread James Almer
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

2017-04-09 Thread Steven Liu
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

2017-04-09 Thread Kieran Kunhya
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

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

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

2017-04-09 Thread Clément Bœsch
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

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

2017-04-09 Thread James Almer
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

2017-04-09 Thread Clément Bœsch
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

2017-04-09 Thread Clément Bœsch
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

2017-04-09 Thread James Almer
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

2017-04-09 Thread Marton Balint

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

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

2017-04-09 Thread 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?

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-09 Thread Steven Liu
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

2017-04-09 Thread 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.


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

2017-04-09 Thread Michael Niedermayer
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-09 Thread Steven Liu
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

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

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

2017-04-09 Thread James Almer
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

2017-04-09 Thread James Almer
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

2017-04-09 Thread Clément Bœsch
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

2017-04-09 Thread Clément Bœsch
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

2017-04-09 Thread wm4
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