[FFmpeg-cvslog] checkasm: add VP9 loopfilter tests.
ffmpeg | branch: master | Ronald S. Bultje | Thu Sep 17 11:58:10 2015 -0400| [b074367405ca181d0dfa4a0bdd1782450088e242] | committer: Ronald S. Bultje checkasm: add VP9 loopfilter tests. The randomize_buffer() implementation assures that "most of the time", we'll do a good mix of wide16/wide8/hev/regular/no filters for complete code coverage. However, this is not mathematically assured because that would make the code either much more complex, or much less random. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b074367405ca181d0dfa4a0bdd1782450088e242 --- tests/checkasm/vp9dsp.c | 147 +++ 1 file changed, 147 insertions(+) diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c index bd7b4e7..f64b48a 100644 --- a/tests/checkasm/vp9dsp.c +++ b/tests/checkasm/vp9dsp.c @@ -94,6 +94,152 @@ static void check_ipred(void) #undef randomize_buffers +#define setpx(a,b,c) \ +do { \ +if (SIZEOF_PIXEL == 1) { \ +buf0[(a) + (b) * jstride] = c; \ +} else { \ +((uint16_t *)buf0)[(a) + (b) * jstride] = c; \ +} \ +} while (0) +#define setdx(a,b,c,d) setpx(a,b,c-(d)+(rnd()%((d)*2+1))) +#define setsx(a,b,c,d) setdx(a,b,c,(d) << (bit_depth - 8)) +#define randomize_buffers(bidx, lineoff, str) \ +do { \ +uint32_t mask = (1 << bit_depth) - 1; \ +int off = dir ? lineoff : lineoff * 16; \ +int istride = dir ? 1 : 16; \ +int jstride = dir ? str : 1; \ +int i, j; \ +for (i = 0; i < 2; i++) /* flat16 */ { \ +int idx = off + i * istride, p0, q0; \ +setpx(idx, 0, q0 = rnd() & mask); \ +setsx(idx, -1, p0 = q0, E[bidx] >> 2); \ +for (j = 1; j < 8; j++) { \ +setsx(idx, -1 - j, p0, F[bidx]); \ +setsx(idx, j, q0, F[bidx]); \ +} \ +} \ +for (i = 2; i < 4; i++) /* flat8 */ { \ +int idx = off + i * istride, p0, q0; \ +setpx(idx, 0, q0 = rnd() & mask); \ +setsx(idx, -1, p0 = q0, E[bidx] >> 2); \ +for (j = 1; j < 4; j++) { \ +setsx(idx, -1 - j, p0, F[bidx]); \ +setsx(idx, j, q0, F[bidx]); \ +} \ +for (j = 4; j < 8; j++) { \ +setpx(idx, -1 - j, rnd() & mask); \ +setpx(idx, j, rnd() & mask); \ +} \ +} \ +for (i = 4; i < 6; i++) /* regular */ { \ +int idx = off + i * istride, p2, p1, p0, q0, q1, q2; \ +setpx(idx, 0, q0 = rnd() & mask); \ +setsx(idx, 1, q1 = q0, I[bidx]); \ +setsx(idx, 2, q2 = q1, I[bidx]); \ +setsx(idx, 3, q2, I[bidx]); \ +setsx(idx, -1, p0 = q0, E[bidx] >> 2); \ +setsx(idx, -2, p1 = p0, I[bidx]); \ +setsx(idx, -3, p2 = p1, I[bidx]); \ +setsx(idx, -4, p2, I[bidx]); \ +for (j = 4; j < 8; j++) { \ +setpx(idx, -1 - j, rnd() & mask); \ +setpx(idx, j, rnd() & mask); \ +} \ +} \ +for (i = 6; i < 8; i++) /* off */ { \ +int idx = off + i * istride; \ +for (j = 0; j < 8; j++) { \ +setpx(idx, -1 - j, rnd() & mask); \ +setpx(idx, j, rnd() & mask); \ +} \ +} \ +} while (0) + +static void check_loopfilter() +{ +LOCAL_ALIGNED_32(uint8_t, base0, [32 + 16 * 16 * 2]); +LOCAL_ALIGNED_32(uint8_t, base1, [32 + 16 * 16 * 2]); +VP9DSPContext dsp; +int dir, wd, wd2, bit_depth; +static const char *const dir_name[2] = { "h", "v" }; +int E[2] = { 20, 28 }, I[2] = { 10, 16 }, H[2] = { 7, 11 }, F[2] = { 1, 1 }; +declare_func(void, uint8_t *dst, ptrdiff_t stride, int E, int I, int H); + +for (bit_depth = 8; bit_depth <= 12; bit_depth += 2) { +ff_vp9dsp_init(&dsp, bit_depth, 0); + +for (dir = 0; dir < 2; dir++) { +uint8_t *buf0, *buf1; +int midoff = (dir ? 8 * 8 : 8) * SIZEOF_PIXEL; +int midoff_aligned = (dir ? 8 * 8 : 16) * SIZEOF_PIXEL; + +buf0 = base0 + midoff_aligned; +buf1 = base1 + midoff_aligned; + +for (wd = 0; wd < 3; wd++) { +// 4/8/16wd_8px +if (check_func(dsp.loop_filter_8[wd][dir], + "vp9_loop_filter_%s_%d_8_%dbpp", + dir_name[dir], 4 << wd, bit_depth)) { +randomize_buffers(0, 0, 8); +memcpy(buf1 - midoff, buf0 - midoff, + 16 * 8 * SIZEOF_PIXEL); +call_ref(buf0, 16 * SIZEOF_PIXEL >> dir, E[0], I[0], H[0]); +call_new(buf1, 16 * SIZEOF_PIXEL >> dir, E[0], I[0], H[0]); +if (memcmp(buf0 - midoff, buf1 - midoff, 16 * 8 * SIZEOF_PIXEL)) +fail(); +bench_new(buf
[FFmpeg-cvslog] tests/checkasm/vp9dsp: Add () to protect macro arguments
ffmpeg | branch: master | Michael Niedermayer | Sun Sep 20 11:37:57 2015 +0200| [bddcf758d3a68ac0bcc3bc4fc4aa7156e05245d4] | committer: Michael Niedermayer tests/checkasm/vp9dsp: Add () to protect macro arguments Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bddcf758d3a68ac0bcc3bc4fc4aa7156e05245d4 --- tests/checkasm/vp9dsp.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c index f64b48a..146a71f 100644 --- a/tests/checkasm/vp9dsp.c +++ b/tests/checkasm/vp9dsp.c @@ -102,7 +102,7 @@ static void check_ipred(void) ((uint16_t *)buf0)[(a) + (b) * jstride] = c; \ } \ } while (0) -#define setdx(a,b,c,d) setpx(a,b,c-(d)+(rnd()%((d)*2+1))) +#define setdx(a,b,c,d) setpx(a,b,(c)-(d)+(rnd()%((d)*2+1))) #define setsx(a,b,c,d) setdx(a,b,c,(d) << (bit_depth - 8)) #define randomize_buffers(bidx, lineoff, str) \ do { \ @@ -220,7 +220,7 @@ static void check_loopfilter() randomize_buffers(0, 0, 16); randomize_buffers(1, 8, 16); memcpy(buf1 - midoff, buf0 - midoff, 16 * 16 * SIZEOF_PIXEL); -#define M(a) ((a[1] << 8) | a[0]) +#define M(a) (((a)[1] << 8) | (a)[0]) call_ref(buf0, 16 * SIZEOF_PIXEL, M(E), M(I), M(H)); call_new(buf1, 16 * SIZEOF_PIXEL, M(E), M(I), M(H)); if (memcmp(buf0 - midoff, buf1 - midoff, 16 * 16 * SIZEOF_PIXEL)) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/internal: Use do {} while() for ff_tlog()
ffmpeg | branch: master | Michael Niedermayer | Sun Sep 20 12:55:10 2015 +0200| [b947ac9096e3eedd167a37c64509f0eba7a871e9] | committer: Michael Niedermayer avcodec/internal: Use do {} while() for ff_tlog() Avoids problems when used without braces Found-by: Clément Bœsch Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b947ac9096e3eedd167a37c64509f0eba7a871e9 --- libavcodec/internal.h |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/internal.h b/libavcodec/internal.h index fbee411..52b8917 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -57,7 +57,7 @@ #ifdef TRACE # define ff_tlog(ctx, ...) av_log(ctx, AV_LOG_TRACE, __VA_ARGS__) #else -# define ff_tlog(ctx, ...) while(0) {} +# define ff_tlog(ctx, ...) do {} while(0) #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] x86/vp9mc: fix string concatenation of fullpel function names
ffmpeg | branch: master | James Almer | Sat Sep 19 20:27:03 2015 -0300| [4bb6cb4c7db41e04057a15d7629d0ce1c4556d85] | committer: James Almer x86/vp9mc: fix string concatenation of fullpel function names Fixes compilation with NASM Reviewed-by: Ronald S. Bultje Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4bb6cb4c7db41e04057a15d7629d0ce1c4556d85 --- libavcodec/x86/vp9mc.asm |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/x86/vp9mc.asm b/libavcodec/x86/vp9mc.asm index d828312..9152ba5 100644 --- a/libavcodec/x86/vp9mc.asm +++ b/libavcodec/x86/vp9mc.asm @@ -583,11 +583,11 @@ filter_vx2_fn avg %endif %if %2 <= mmsize -cglobal vp9_%1%2%%szsuf, 5, 7, 4, dst, dstride, src, sstride, h, dstride3, sstride3 +cglobal vp9_%1%2 %+ %%szsuf, 5, 7, 4, dst, dstride, src, sstride, h, dstride3, sstride3 lea sstride3q, [sstrideq*3] lea dstride3q, [dstrideq*3] %else -cglobal vp9_%1%2%%szsuf, 5, 5, %8, dst, dstride, src, sstride, h +cglobal vp9_%1%2 %+ %%szsuf, 5, 5, %8, dst, dstride, src, sstride, h %endif .loop: %%srcfn m0, [srcq] ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi/buffersink: loop over ff_request_frame().
ffmpeg | branch: master | Nicolas George | Wed Aug 26 00:15:22 2015 +0200| [807d4b635567e51108ea3a6a774336321c3250e5] | committer: Nicolas George lavfi/buffersink: loop over ff_request_frame(). Do not assume that ff_request_frame() returning success implies a frame has arrived in the FIFO. Instead, just loop until a frame is in the FIFO. It does not change anything since the same loop is present in ff_request_frame(), confirmed by an assertion. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=807d4b635567e51108ea3a6a774336321c3250e5 --- libavfilter/buffersink.c |5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index e693161..3206bd9 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -133,7 +133,7 @@ int attribute_align_arg av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFr AVFrame *cur_frame; /* no picref available, fetch it from the filterchain */ -if (!av_fifo_size(buf->fifo)) { +while (!av_fifo_size(buf->fifo)) { if (inlink->closed) return AVERROR_EOF; if (flags & AV_BUFFERSINK_FLAG_NO_REQUEST) @@ -142,9 +142,6 @@ int attribute_align_arg av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFr return ret; } -if (!av_fifo_size(buf->fifo)) -return AVERROR(EINVAL); - if (flags & AV_BUFFERSINK_FLAG_PEEK) { cur_frame = *((AVFrame **)av_fifo_peek2(buf->fifo, 0)); if ((ret = av_frame_ref(frame, cur_frame)) < 0) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.
ffmpeg | branch: master | Nicolas George | Wed Aug 26 12:11:26 2015 +0200| [44f660e7e75b856eafa5f7e7cc6e633de5d01b5d] | committer: Nicolas George lavfi: remove FF_LINK_FLAG_REQUEST_LOOP. It has no longer any effect. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44f660e7e75b856eafa5f7e7cc6e633de5d01b5d --- libavfilter/af_afade.c |1 - libavfilter/af_asetnsamples.c |1 - libavfilter/af_atempo.c|2 -- libavfilter/af_compand.c |1 - libavfilter/af_dynaudnorm.c|7 --- libavfilter/af_silenceremove.c |8 libavfilter/avf_showfreqs.c|1 - libavfilter/avfilter.c |1 - libavfilter/f_ebur128.c|4 libavfilter/f_interleave.c |2 -- libavfilter/f_reverse.c|8 libavfilter/framesync.c|1 - libavfilter/internal.h | 14 -- libavfilter/trim.c |8 libavfilter/vf_atadenoise.c|7 --- libavfilter/vf_blend.c |5 ++--- libavfilter/vf_decimate.c |1 - libavfilter/vf_detelecine.c|1 - libavfilter/vf_fieldmatch.c|1 - libavfilter/vf_framerate.c |1 - libavfilter/vf_framestep.c |1 - libavfilter/vf_idet.c |7 --- libavfilter/vf_interlace.c |1 - libavfilter/vf_palettegen.c|1 - libavfilter/vf_pullup.c|7 --- libavfilter/vf_random.c|7 --- libavfilter/vf_stereo3d.c |1 - libavfilter/vf_telecine.c |1 - libavfilter/vf_tile.c |2 -- libavfilter/vf_tinterlace.c|1 - libavfilter/vf_w3fdif.c|1 - 31 files changed, 2 insertions(+), 103 deletions(-) diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c index 7168eba..2f18222 100644 --- a/libavfilter/af_afade.c +++ b/libavfilter/af_afade.c @@ -611,7 +611,6 @@ static int acrossfade_config_output(AVFilterLink *outlink) outlink->time_base = ctx->inputs[0]->time_base; outlink->channel_layout = ctx->inputs[0]->channel_layout; outlink->channels = ctx->inputs[0]->channels; -outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; switch (outlink->format) { case AV_SAMPLE_FMT_DBL: s->crossfade_samples = crossfade_samples_dbl; break; diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c index 02668e4..b5aa193 100644 --- a/libavfilter/af_asetnsamples.c +++ b/libavfilter/af_asetnsamples.c @@ -77,7 +77,6 @@ static int config_props_output(AVFilterLink *outlink) asns->fifo = av_audio_fifo_alloc(outlink->format, outlink->channels, asns->nb_out_samples); if (!asns->fifo) return AVERROR(ENOMEM); -outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; return 0; } diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c index 49d49ee..7b3d57c 100644 --- a/libavfilter/af_atempo.c +++ b/libavfilter/af_atempo.c @@ -1046,8 +1046,6 @@ static int config_props(AVFilterLink *inlink) int sample_rate = (int)inlink->sample_rate; int channels = av_get_channel_layout_nb_channels(inlink->channel_layout); -ctx->outputs[0]->flags |= FF_LINK_FLAG_REQUEST_LOOP; - return yae_reset(atempo, format, sample_rate, channels); } diff --git a/libavfilter/af_compand.c b/libavfilter/af_compand.c index 6724121..3848d67 100644 --- a/libavfilter/af_compand.c +++ b/libavfilter/af_compand.c @@ -531,7 +531,6 @@ static int config_output(AVFilterLink *outlink) if (err) return err; -outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; s->compand = compand_delay; return 0; } diff --git a/libavfilter/af_dynaudnorm.c b/libavfilter/af_dynaudnorm.c index e585648..8f0c2d0 100644 --- a/libavfilter/af_dynaudnorm.c +++ b/libavfilter/af_dynaudnorm.c @@ -305,12 +305,6 @@ static int config_input(AVFilterLink *inlink) return 0; } -static int config_output(AVFilterLink *outlink) -{ -outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; -return 0; -} - static inline double fade(double prev, double next, int pos, double *fade_factors[2]) { @@ -721,7 +715,6 @@ static const AVFilterPad avfilter_af_dynaudnorm_outputs[] = { { .name = "default", .type = AVMEDIA_TYPE_AUDIO, -.config_props = config_output, .request_frame = request_frame, }, { NULL } diff --git a/libavfilter/af_silenceremove.c b/libavfilter/af_silenceremove.c index 00a3959..3389d64 100644 --- a/libavfilter/af_silenceremove.c +++ b/libavfilter/af_silenceremove.c @@ -153,13 +153,6 @@ static int config_input(AVFilterLink *inlink) return 0; } -static int config_output(AVFilterLink *outlink) -{ -outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; - -return 0; -} - static double compute_rms(SilenceRemoveContext *s, double sample) { double new_sum; @@ -463,7 +456,6 @@ static const AVFilterPad silenceremove_outputs[] = { { .name = "default", .type
[FFmpeg-cvslog] lavfi/vf_idet: remove the loop in request_frame().
ffmpeg | branch: master | Nicolas George | Tue Aug 25 20:31:50 2015 +0200| [7635242ae591ec8c9e992f71a2db05b07eeaae3f] | committer: Nicolas George lavfi/vf_idet: remove the loop in request_frame(). It is not necessary due to the use of FF_LINK_FLAG_REQUEST_LOOP. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7635242ae591ec8c9e992f71a2db05b07eeaae3f --- libavfilter/vf_idet.c |9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index 711ba6e..d460330 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -314,7 +314,7 @@ static int request_frame(AVFilterLink *link) AVFilterContext *ctx = link->src; IDETContext *idet = ctx->priv; -do { +// TODO reindent int ret; if (idet->eof) @@ -328,14 +328,11 @@ static int request_frame(AVFilterLink *link) if (!next) return AVERROR(ENOMEM); -filter_frame(link->src->inputs[0], next); +ret = filter_frame(link->src->inputs[0], next); idet->eof = 1; -} else if (ret < 0) { -return ret; } -} while (link->frame_requested); -return 0; +return ret; } static av_cold void uninit(AVFilterContext *ctx) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi/vf_idet: reindent after last commit.
ffmpeg | branch: master | Nicolas George | Wed Aug 26 12:21:27 2015 +0200| [598f8a7afae6d0b8a49f85ec2de69acdc5e7ac6a] | committer: Nicolas George lavfi/vf_idet: reindent after last commit. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=598f8a7afae6d0b8a49f85ec2de69acdc5e7ac6a --- libavfilter/vf_idet.c | 24 +++- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index d460330..21011cf 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -313,24 +313,22 @@ static int request_frame(AVFilterLink *link) { AVFilterContext *ctx = link->src; IDETContext *idet = ctx->priv; +int ret; -// TODO reindent -int ret; +if (idet->eof) +return AVERROR_EOF; -if (idet->eof) -return AVERROR_EOF; +ret = ff_request_frame(link->src->inputs[0]); -ret = ff_request_frame(link->src->inputs[0]); +if (ret == AVERROR_EOF && idet->cur && !idet->analyze_interlaced_flag_done) { +AVFrame *next = av_frame_clone(idet->next); -if (ret == AVERROR_EOF && idet->cur && !idet->analyze_interlaced_flag_done) { -AVFrame *next = av_frame_clone(idet->next); +if (!next) +return AVERROR(ENOMEM); -if (!next) -return AVERROR(ENOMEM); - -ret = filter_frame(link->src->inputs[0], next); -idet->eof = 1; -} +ret = filter_frame(link->src->inputs[0], next); +idet->eof = 1; +} return ret; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi: drop the requirement that request_frame returns a frame.
ffmpeg | branch: master | Nicolas George | Tue Aug 25 20:33:48 2015 +0200| [2a351f6c5521c199b4285e4e42f2321e312170bd] | committer: Nicolas George lavfi: drop the requirement that request_frame returns a frame. It requires a loop in filters or the framework, that makes the scheduling less efficient and more complex. This is purely an internal change since the loop is now present in buffersink. Note that no filter except buffersink did rely on the requirement. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2a351f6c5521c199b4285e4e42f2321e312170bd --- doc/filter_design.txt | 19 +-- libavfilter/avfilter.c | 10 +- libavfilter/avfilter.h |6 -- libavfilter/internal.h | 13 - 4 files changed, 18 insertions(+), 30 deletions(-) diff --git a/doc/filter_design.txt b/doc/filter_design.txt index d784d84..e8a7c53 100644 --- a/doc/filter_design.txt +++ b/doc/filter_design.txt @@ -232,7 +232,8 @@ Frame scheduling one of its inputs, repeatedly until at least one frame has been pushed. Return values: -if request_frame could produce a frame, it should return 0; +if request_frame could produce a frame, or at least make progress +towards producing a frame, it should return 0; if it could not for temporary reasons, it should return AVERROR(EAGAIN); if it could not because there are no more frames, it should return AVERROR_EOF. @@ -244,20 +245,18 @@ Frame scheduling push_one_frame(); return 0; } -while (!frame_pushed) { -input = input_where_a_frame_is_most_needed(); -ret = ff_request_frame(input); -if (ret == AVERROR_EOF) { -process_eof_on_input(); -} else if (ret < 0) { -return ret; -} +input = input_where_a_frame_is_most_needed(); +ret = ff_request_frame(input); +if (ret == AVERROR_EOF) { +process_eof_on_input(); +} else if (ret < 0) { +return ret; } return 0; Note that, except for filters that can have queued frames, request_frame does not push frames: it requests them to its input, and as a reaction, -the filter_frame method will be called and do the work. +the filter_frame method possibly will be called and do the work. Legacy API == diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 7da6cf2..b9fadb3 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -347,9 +347,7 @@ int ff_request_frame(AVFilterLink *link) if (link->closed) return AVERROR_EOF; -av_assert0(!link->frame_requested); -link->frame_requested = 1; -while (link->frame_requested) { +// TODO reindent if (link->srcpad->request_frame) ret = link->srcpad->request_frame(link); else if (link->src->inputs[0]) @@ -360,14 +358,9 @@ int ff_request_frame(AVFilterLink *link) ret = ff_filter_frame_framed(link, pbuf); } if (ret < 0) { -link->frame_requested = 0; if (ret == AVERROR_EOF) link->closed = 1; -} else { -av_assert0(!link->frame_requested || - link->flags & FF_LINK_FLAG_REQUEST_LOOP); } -} return ret; } @@ -1088,7 +1081,6 @@ static int ff_filter_frame_framed(AVFilterLink *link, AVFrame *frame) } ret = filter_frame(link, out); link->frame_count++; -link->frame_requested = 0; ff_update_link_current_pts(link, pts); return ret; diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 642aa83..5d4cd6c 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -500,12 +500,6 @@ struct AVFilterLink { int channels; /** - * True if a frame is being requested on the link. - * Used internally by the framework. - */ -unsigned frame_requested; - -/** * Link processing flags. */ unsigned flags; diff --git a/libavfilter/internal.h b/libavfilter/internal.h index 7816654..1454112 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -102,9 +102,9 @@ struct AVFilterPad { int (*poll_frame)(AVFilterLink *link); /** - * Frame request callback. A call to this should result in at least one - * frame being output over the given link. This should return zero on - * success, and another value on error. + * Frame request callback. A call to this should result in some progress + * towards producing output over the given link. This should return zero + * on success, and another value on error. * * Output pads only. */ @@ -291,8 +291,11 @@ int ff_poll_frame(AVFilterLink *link); * caller (generally eventually a user application) as this step may (but does * not have to be) necessary to provide the input with the next frame. * - * If a request is successf
[FFmpeg-cvslog] avfilter: add rubberband wrapper
ffmpeg | branch: master | Paul B Mahol | Fri Sep 18 20:22:05 2015 +| [2a0fc55995b7a3fea828b2e245c369d76c5a0b62] | committer: Paul B Mahol avfilter: add rubberband wrapper Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2a0fc55995b7a3fea828b2e245c369d76c5a0b62 --- Changelog |1 + LICENSE.md |1 + configure |5 + libavfilter/Makefile|1 + libavfilter/af_rubberband.c | 236 +++ libavfilter/allfilters.c|1 + libavfilter/version.h |2 +- 7 files changed, 246 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 62d3a7a..c2fd10f 100644 --- a/Changelog +++ b/Changelog @@ -8,6 +8,7 @@ version : - alimiter filter - stereowiden filter - stereotools filter +- rubberband filter version 2.8: diff --git a/LICENSE.md b/LICENSE.md index 1a6e3b3..4c4a845 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -85,6 +85,7 @@ compatible libraries The following libraries are under GPL: - frei0r - libcdio +- librubberband - libutvideo - libvidstab - libx264 diff --git a/configure b/configure index 839c85d..d2a25bb 100755 --- a/configure +++ b/configure @@ -236,6 +236,7 @@ External library support: --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] --enable-libopus enable Opus de/encoding via libopus [no] --enable-libpulseenable Pulseaudio input via libpulse [no] + --enable-librubberband enable rubberband needed for rubberband filter [no] --enable-libquvi enable quvi input via libquvi [no] --enable-librtmp enable RTMP[E] support via librtmp [no] --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] @@ -1405,6 +1406,7 @@ EXTERNAL_LIBRARY_LIST=" libpulse libquvi librtmp +librubberband libschroedinger libshine libsmbclient @@ -2789,6 +2791,7 @@ pullup_filter_deps="gpl" removelogo_filter_deps="avcodec avformat swscale" repeatfields_filter_deps="gpl" resample_filter_deps="avresample" +rubberband_filter_deps="librubberband" sab_filter_deps="gpl swscale" scale_filter_deps="swscale" scale2ref_filter_deps="swscale" @@ -4661,6 +4664,7 @@ die_license_disabled_gpl() { die_license_disabled gpl frei0r die_license_disabled gpl libcdio +die_license_disabled gpl librubberband die_license_disabled gpl libsmbclient die_license_disabled gpl libutvideo die_license_disabled gpl libvidstab @@ -5271,6 +5275,7 @@ enabled libopus && require_pkg_config opus opus_multistream.h opus_mul enabled libpulse && require_pkg_config libpulse pulse/pulseaudio.h pa_context_new enabled libquvi && require_pkg_config libquvi quvi/quvi.h quvi_init enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket +enabled librubberband && require_pkg_config rubberband rubberband/rubberband-c.h rubberband_new enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init enabled libshine && require_pkg_config shine shine/layer3.h shine_encode_buffer enabled libsmbclient && { use_pkg_config smbclient libsmbclient.h smbc_init || diff --git a/libavfilter/Makefile b/libavfilter/Makefile index 05effd6..4bbe972 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -77,6 +77,7 @@ OBJS-$(CONFIG_LOWPASS_FILTER)+= af_biquads.o OBJS-$(CONFIG_PAN_FILTER)+= af_pan.o OBJS-$(CONFIG_REPLAYGAIN_FILTER) += af_replaygain.o OBJS-$(CONFIG_RESAMPLE_FILTER) += af_resample.o +OBJS-$(CONFIG_RUBBERBAND_FILTER) += af_rubberband.o OBJS-$(CONFIG_SIDECHAINCOMPRESS_FILTER) += af_sidechaincompress.o OBJS-$(CONFIG_SILENCEDETECT_FILTER) += af_silencedetect.o OBJS-$(CONFIG_SILENCEREMOVE_FILTER) += af_silenceremove.o diff --git a/libavfilter/af_rubberband.c b/libavfilter/af_rubberband.c new file mode 100644 index 000..60e8d3c --- /dev/null +++ b/libavfilter/af_rubberband.c @@ -0,0 +1,236 @@ +/* + * 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 + +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" +#
[FFmpeg-cvslog] lavf/matroska: ignore ChapCountry ID for now
ffmpeg | branch: master | Rodger Combs | Sun Sep 20 09:34:05 2015 -0500| [cf2719abeecb0a656d9bceebfca1a45e64f0cef7] | committer: Michael Niedermayer lavf/matroska: ignore ChapCountry ID for now Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cf2719abeecb0a656d9bceebfca1a45e64f0cef7 --- libavformat/matroska.h|1 + libavformat/matroskadec.c |5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/matroska.h b/libavformat/matroska.h index 344b2c3..a654e0c 100644 --- a/libavformat/matroska.h +++ b/libavformat/matroska.h @@ -218,6 +218,7 @@ #define MATROSKA_ID_CHAPTERDISPLAY 0x80 #define MATROSKA_ID_CHAPSTRING 0x85 #define MATROSKA_ID_CHAPLANG0x437C +#define MATROSKA_ID_CHAPCOUNTRY 0x437E #define MATROSKA_ID_EDITIONUID 0x45BC #define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45BD #define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45DB diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 43ad9af..7a094a6 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -474,8 +474,9 @@ static const EbmlSyntax matroska_attachments[] = { }; static const EbmlSyntax matroska_chapter_display[] = { -{ MATROSKA_ID_CHAPSTRING, EBML_UTF8, 0, offsetof(MatroskaChapter, title) }, -{ MATROSKA_ID_CHAPLANG, EBML_NONE }, +{ MATROSKA_ID_CHAPSTRING, EBML_UTF8, 0, offsetof(MatroskaChapter, title) }, +{ MATROSKA_ID_CHAPLANG,EBML_NONE }, +{ MATROSKA_ID_CHAPCOUNTRY, EBML_NONE }, { 0 } }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] tests/checkasm: fix stack smash in check_loopfilter
ffmpeg | branch: master | Rodger Combs | Sun Sep 20 12:29:32 2015 -0500| [df2a2643fef47e807d347f880a4eb41b7faf1d14] | committer: Michael Niedermayer tests/checkasm: fix stack smash in check_loopfilter Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=df2a2643fef47e807d347f880a4eb41b7faf1d14 --- tests/checkasm/vp9dsp.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/checkasm/vp9dsp.c b/tests/checkasm/vp9dsp.c index 146a71f..6c335e9 100644 --- a/tests/checkasm/vp9dsp.c +++ b/tests/checkasm/vp9dsp.c @@ -197,6 +197,9 @@ static void check_loopfilter() midoff = (dir ? 16 * 8 : 8) * SIZEOF_PIXEL; midoff_aligned = (dir ? 16 * 8 : 16) * SIZEOF_PIXEL; +buf0 = base0 + midoff_aligned; +buf1 = base1 + midoff_aligned; + // 16wd_16px loopfilter if (check_func(dsp.loop_filter_16[dir], "vp9_loop_filter_%s_16_16_%dbpp", ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/hevc_mp4toannexb_bsf: silence -Wdiscarded-qualifiers
ffmpeg | branch: master | Ganesh Ajjanagadde | Sun Sep 20 09:10:51 2015 -0400| [198110d702daf11a9f7db7b0ee53cc4a28ac5869] | committer: Michael Niedermayer avcodec/hevc_mp4toannexb_bsf: silence -Wdiscarded-qualifiers *poutbuf is non-const, so this casts it explicitly. This suppresses -Wdiscarded-qualifiers seen in e.g http://fate.ffmpeg.org/log.cgi?time=20150919100330&log=compile&slot=x86_64-archlinux-gcc-enableshared. Signed-off-by: Ganesh Ajjanagadde Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=198110d702daf11a9f7db7b0ee53cc4a28ac5869 --- libavcodec/hevc_mp4toannexb_bsf.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevc_mp4toannexb_bsf.c b/libavcodec/hevc_mp4toannexb_bsf.c index 54d6d79..d6feb99 100644 --- a/libavcodec/hevc_mp4toannexb_bsf.c +++ b/libavcodec/hevc_mp4toannexb_bsf.c @@ -134,7 +134,7 @@ static int hevc_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, "The input looks like it is Annex B already\n"); ctx->logged_nonmp4_warning = 1; } -*poutbuf = buf; +*poutbuf = (uint8_t *)buf; *poutbuf_size = buf_size; return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avdevice/libdc1394: add const to suppress " assignment discards const qualifier from pointer target type" warnings
ffmpeg | branch: master | Michael Niedermayer | Sun Sep 20 22:11:59 2015 +0200| [f67170e81b79ffbb1a5aa3f218baf906afd136ba] | committer: Michael Niedermayer avdevice/libdc1394: add const to suppress "assignment discards const qualifier from pointer target type" warnings See: http://fate.ffmpeg.org/log.cgi?time=20150919100330&log=compile&slot=x86_64-archlinux-gcc-enableshared Found-by: Ganesh Ajjanagadde Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f67170e81b79ffbb1a5aa3f218baf906afd136ba --- libavdevice/libdc1394.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavdevice/libdc1394.c b/libavdevice/libdc1394.c index 6868e9c..d5bbc7c 100644 --- a/libavdevice/libdc1394.c +++ b/libavdevice/libdc1394.c @@ -121,12 +121,12 @@ static const AVClass libdc1394_class = { static inline int dc1394_read_common(AVFormatContext *c, - struct dc1394_frame_format **select_fmt, struct dc1394_frame_rate **select_fps) + const struct dc1394_frame_format **select_fmt, const struct dc1394_frame_rate **select_fps) { dc1394_data* dc1394 = c->priv_data; AVStream* vst; -struct dc1394_frame_format *fmt; -struct dc1394_frame_rate *fps; +const struct dc1394_frame_format *fmt; +const struct dc1394_frame_rate *fps; enum AVPixelFormat pix_fmt; int width, height; AVRational framerate; @@ -293,8 +293,8 @@ static int dc1394_v2_read_header(AVFormatContext *c) dc1394_data* dc1394 = c->priv_data; dc1394camera_list_t *list; int res, i; -struct dc1394_frame_format *fmt = NULL; -struct dc1394_frame_rate *fps = NULL; +const struct dc1394_frame_format *fmt = NULL; +const struct dc1394_frame_rate *fps = NULL; if (dc1394_read_common(c, &fmt, &fps) != 0) return -1; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale: fix ticket 4850
ffmpeg | branch: master | Pedro Arthur | Sun Sep 20 18:03:49 2015 -0300| [77367f61b38dbdf17c31aa6a6b3edccb2ebf5354] | committer: Pedro Arthur swscale: fix ticket 4850 > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77367f61b38dbdf17c31aa6a6b3edccb2ebf5354 --- libswscale/swscale.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index f4aa41b..346728d 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -526,8 +526,8 @@ static int swscale(SwsContext *c, const uint8_t *src[], #ifdef NEW_FILTER hasLumHoles = lastInLumBuf != firstLumSrcY - 1; if (hasLumHoles) { -hout_slice->plane[0].sliceY = lastInLumBuf + 1; -hout_slice->plane[3].sliceY = lastInLumBuf + 1; +hout_slice->plane[0].sliceY = firstLumSrcY; +hout_slice->plane[3].sliceY = firstLumSrcY; hout_slice->plane[0].sliceH = hout_slice->plane[3].sliceH = 0; } @@ -538,8 +538,8 @@ static int swscale(SwsContext *c, const uint8_t *src[], #ifdef NEW_FILTER hasChrHoles = lastInChrBuf != firstChrSrcY - 1; if (hasChrHoles) { -hout_slice->plane[1].sliceY = lastInChrBuf + 1; -hout_slice->plane[2].sliceY = lastInChrBuf + 1; +hout_slice->plane[1].sliceY = firstChrSrcY; +hout_slice->plane[2].sliceY = firstChrSrcY; hout_slice->plane[1].sliceH = hout_slice->plane[2].sliceH = 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/snowenc: Remove unused new_picture field
ffmpeg | branch: master | Michael Niedermayer | Sun Sep 20 22:52:33 2015 +0200| [55b803e33ede35318f6afeadbe13fbb082eaaf20] | committer: Michael Niedermayer avcodec/snowenc: Remove unused new_picture field Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55b803e33ede35318f6afeadbe13fbb082eaaf20 --- libavcodec/snow.h|1 - libavcodec/snowenc.c |1 - 2 files changed, 2 deletions(-) diff --git a/libavcodec/snow.h b/libavcodec/snow.h index a09b622..bf744cf 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -121,7 +121,6 @@ typedef struct SnowContext{ H264QpelContext h264qpel; MpegvideoEncDSPContext mpvencdsp; SnowDWTContext dwt; -const AVFrame *new_picture; AVFrame *input_picture; ///< new_picture with the internal linesizes AVFrame *current_picture; AVFrame *last_picture[MAX_REF_FRAMES]; diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index 5e5dc35..99d8889 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -1584,7 +1584,6 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } emms_c(); -s->new_picture = pict; s->m.picture_number= avctx->frame_number; if(avctx->flags&AV_CODEC_FLAG_PASS2){ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/snowenc: Do not write into const AVFrame
ffmpeg | branch: master | Michael Niedermayer | Sun Sep 20 22:55:15 2015 +0200| [01770bfda02a72dc4c721e5cbd66ffa47b37002d] | committer: Michael Niedermayer avcodec/snowenc: Do not write into const AVFrame Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=01770bfda02a72dc4c721e5cbd66ffa47b37002d --- libavcodec/snowenc.c |9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index 99d8889..1f22ad5 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -1557,7 +1557,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, { SnowContext *s = avctx->priv_data; RangeCoder * const c= &s->c; -AVFrame *pic = pict; +AVFrame *pic; const int width= s->avctx->width; const int height= s->avctx->height; int level, orientation, plane_index, i, y, ret; @@ -1584,6 +1584,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, } emms_c(); +pic = s->input_picture; +pic->pict_type = pict->pict_type; +pic->quality = pict->quality; s->m.picture_number= avctx->frame_number; if(avctx->flags&AV_CODEC_FLAG_PASS2){ @@ -1844,8 +1847,8 @@ redo_frame: ff_snow_release_buffer(avctx); s->current_picture->coded_picture_number = avctx->frame_number; -s->current_picture->pict_type = pict->pict_type; -s->current_picture->quality = pict->quality; +s->current_picture->pict_type = pic->pict_type; +s->current_picture->quality = pic->quality; s->m.frame_bits = 8*(s->c.bytestream - s->c.bytestream_start); s->m.p_tex_bits = s->m.frame_bits - s->m.misc_bits - s->m.mv_bits; s->m.current_picture.f->display_picture_number = ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] mpjpeg: CRLF terminating a sequence of MIME headers should not cause an error
ffmpeg | branch: master | Alex Agranovsky | Sat Sep 12 19:04:26 2015 -0400| [53e8bef25a78457e4339e353568004f03b8a2396] | committer: Michael Niedermayer mpjpeg: CRLF terminating a sequence of MIME headers should not cause an error Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=53e8bef25a78457e4339e353568004f03b8a2396 --- libavformat/mpjpegdec.c | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c index 4b57fad..c76ea56 100644 --- a/libavformat/mpjpegdec.c +++ b/libavformat/mpjpegdec.c @@ -56,11 +56,20 @@ static void trim_right(char* p) static int split_tag_value(char **tag, char **value, char *line) { char *p = line; +int foundData = 0; -while (*p != '\0' && *p != ':') +*tag = NULL; +*value = NULL; + + +while (*p != '\0' && *p != ':') { +if (!av_isspace(*p)) { +foundData = 1; +} p++; +} if (*p != ':') -return AVERROR_INVALIDDATA; +return foundData ? AVERROR_INVALIDDATA : 0; *p = '\0'; *tag = line; @@ -167,6 +176,8 @@ static int parse_multipart_header(AVIOContext *pb, void *log_ctx) ret = split_tag_value(&tag, &value, line); if (ret < 0) return ret; +if (value==NULL || tag==NULL) +break; if (!av_strcasecmp(tag, "Content-type")) { if (av_strcasecmp(value, "image/jpeg")) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
Re: [FFmpeg-cvslog] configure: Reenable colorized warnings and check for tput's existence
On 2015-09-08 05:42, Timothy Gu wrote: > ffmpeg | branch: master | Timothy Gu | Mon Sep 7 > 19:11:16 2015 -0700| [617d53f4c7e43b5df6f99b363b550ff7b0007c6e] | committer: > Timothy Gu > > configure: Reenable colorized warnings and check for tput's existence > > Untested. > >> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=617d53f4c7e43b5df6f99b363b550ff7b0007c6e > --- > > configure | 10 +- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/configure b/configure > index 8c1309f..cd0c22a 100755 > --- a/configure > +++ b/configure > @@ -416,6 +416,14 @@ EOF > } > > quotes='""' > +if test -t 1 && which tput >/dev/null; then ^^ I think you need to silence errors here otherwise a shell can print to stderr, as mine does: > which: no tput in (... long path list removed ...) signature.asc Description: OpenPGP digital signature ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: master | James Almer | Sun Sep 20 23:20:43 2015 -0300| [fd9ac48dc8aebcbd601af34336234d5102b36e21] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fd9ac48dc8aebcbd601af34336234d5102b36e21 --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index a6e1e55..99ba88a 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -984,8 +984,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: release/2.4 | James Almer | Sun Sep 20 23:20:43 2015 -0300| [30f45124778c2479e0a295df817b49edf7a571cf] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer (cherry picked from commit fd9ac48dc8aebcbd601af34336234d5102b36e21) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=30f45124778c2479e0a295df817b49edf7a571cf --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index 8d7555d..5ca100b 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -935,8 +935,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: release/2.6 | James Almer | Sun Sep 20 23:20:43 2015 -0300| [be9ec446a04ec0eef229cc3fe26dca7e0d8f966c] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer (cherry picked from commit fd9ac48dc8aebcbd601af34336234d5102b36e21) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=be9ec446a04ec0eef229cc3fe26dca7e0d8f966c --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index 6c9531b..795f594 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -948,8 +948,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: release/2.5 | James Almer | Sun Sep 20 23:20:43 2015 -0300| [628479b096fe4d74841e6c2904cc9646544424b1] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer (cherry picked from commit fd9ac48dc8aebcbd601af34336234d5102b36e21) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=628479b096fe4d74841e6c2904cc9646544424b1 --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index dd19fcc..508d587 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -936,8 +936,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: release/2.8 | James Almer | Sun Sep 20 23:20:43 2015 -0300| [ddbb8d5edadba9b7954029bbf36690172e378626] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer (cherry picked from commit fd9ac48dc8aebcbd601af34336234d5102b36e21) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ddbb8d5edadba9b7954029bbf36690172e378626 --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index 2b782e0..c620855 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -983,8 +983,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc: mention libavcodec can decode Opus natively
ffmpeg | branch: release/2.7 | James Almer | Sun Sep 20 23:20:43 2015 -0300| [763c0d25b1f498b35518442d866fd90984b33050] | committer: James Almer doc: mention libavcodec can decode Opus natively Signed-off-by: James Almer (cherry picked from commit fd9ac48dc8aebcbd601af34336234d5102b36e21) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=763c0d25b1f498b35518442d866fd90984b33050 --- doc/general.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index ba79503..88a8847 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -954,8 +954,8 @@ following image formats are supported: @item Musepack SV8 @tab @tab X @item Nellymoser Asao@tab X @tab X @item On2 AVC (Audio for Video Codec) @tab @tab X -@item Opus @tab E @tab E -@tab supported through external library libopus +@item Opus @tab E @tab X +@tab encoding supported through external library libopus @item PCM A-law @tab X @tab X @item PCM mu-law @tab X @tab X @item PCM signed 8-bit planar @tab X @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
Re: [FFmpeg-cvslog] [FFmpeg-devel] configure: Reenable colorized warnings and check for tput's existence
On Sun, Sep 20, 2015 at 9:29 PM, James Darnley wrote: > On 2015-09-08 05:42, Timothy Gu wrote: >> ffmpeg | branch: master | Timothy Gu | Mon Sep 7 >> 19:11:16 2015 -0700| [617d53f4c7e43b5df6f99b363b550ff7b0007c6e] | committer: >> Timothy Gu >> >> configure: Reenable colorized warnings and check for tput's existence >> >> Untested. >> >>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=617d53f4c7e43b5df6f99b363b550ff7b0007c6e >> --- >> >> configure | 10 +- >> 1 file changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/configure b/configure >> index 8c1309f..cd0c22a 100755 >> --- a/configure >> +++ b/configure >> @@ -416,6 +416,14 @@ EOF >> } >> >> quotes='""' >> +if test -t 1 && which tput >/dev/null; then >^^ > > I think you need to silence errors here otherwise a shell can print to > stderr, as mine does: > >> which: no tput in (... long path list removed ...) Thanks, see patch. > > > > ___ > ffmpeg-devel mailing list > ffmpeg-de...@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog