On Fri, May 13, 2016 at 06:05:26PM +0000, Davinder Singh wrote: > should fix fate :) > > On Wed, May 11, 2016 at 6:32 PM Michael Niedermayer <mich...@niedermayer.cc> > wrote: > > > On Wed, May 11, 2016 at 12:41:43PM +0000, Davinder Singh wrote: > > > single patch > > > > > > On Sun, May 8, 2016 at 1:18 AM Davinder Singh <ds.mud...@gmail.com> > > wrote: > > > > > > > separated motion vector types (forward or backward) from frame picture > > > > types as MVs are associated with picture types only in video coding. > > > > > > > > option `mv` can have two values: > > > > forward predicted or backward predicted. > > > > > > > > option `frames` can have three values: > > > > p-frames, i-frames and b-frames. > > > > > > > > ex: > > > > only forward predicted mvs of all frames: > > > > -vf codecview=mv=fp > > > > > > > > mvs (both forward or backward predicted) of P or B-frames: > > > > -vf codecview=mv=fp+bp:frames=pf+bf > > > > > > > > Regards, > > > > DSM_ > > > > > > > > > doc/filters.texi | 30 ++++++++++++++++++++++++------ > > > libavfilter/vf_codecview.c | 36 ++++++++++++++++++++++++++---------- > > > 2 files changed, 50 insertions(+), 16 deletions(-) > > > 6168c73a45d4b183a4478909e4f8f3b0e47d1738 > > 0001-vf_codecview-improved-filter-options.patch > > > From 0c2c258bd14d5dd58351271cc8c8859cd5edbf26 Mon Sep 17 00:00:00 2001 > > > From: dsmudhar <ds.mud...@gmail.com> > > > Date: Wed, 11 May 2016 17:57:39 +0530 > > > Subject: [PATCH] vf_codecview: improved filter options > > > > this breaks make fate > > > > make fate-filter-codecview-mvs > > TEST filter-codecview-mvs > > --- ./tests/ref/fate/filter-codecview-mvs 2016-05-11 > > 04:21:34.187662201 +0200 > > +++ tests/data/fate/filter-codecview-mvs 2016-05-11 > > 14:58:43.732467592 +0200 > > @@ -1,65 +0,0 @@ > > -#tb 0: 32768/785647 > > -#media_type 0: video > > -#codec_id 0: rawvideo > > -#dimensions 0: 576x320 > > -#sar 0: 0/1 > > -0, 0, 0, 1, 276480, 0x5f7a0d4f > > -0, 1, 1, 1, 276480, 0x5f7a0d4f > > -0, 2, 2, 1, 276480, 0x5f7a0d4f > > -0, 3, 3, 1, 276480, 0x5f7a0d4f > > -0, 4, 4, 1, 276480, 0x5f7a0d4f > > -0, 5, 5, 1, 276480, 0x5f7a0d4f > > -0, 6, 6, 1, 276480, 0x5f7a0d4f > > -0, 7, 7, 1, 276480, 0x5f7a0d4f > > -0, 8, 8, 1, 276480, 0x5f7a0d4f > > -0, 9, 9, 1, 276480, 0x5f7a0d4f > > -0, 10, 10, 1, 276480, 0x5f7a0d4f > > -0, 11, 11, 1, 276480, 0x5f7a0d4f > > -0, 12, 12, 1, 276480, 0x5f7a0d4f > > -0, 13, 13, 1, 276480, 0x5f7a0d4f > > -0, 14, 14, 1, 276480, 0x5f7a0d4f > > -0, 15, 15, 1, 276480, 0x5f7a0d4f > > -0, 16, 16, 1, 276480, 0xc3b80edf > > -0, 17, 17, 1, 276480, 0x5f7a0d4f > > -0, 18, 18, 1, 276480, 0x5f7a0d4f > > -0, 19, 19, 1, 276480, 0x5f7a0d4f > > -0, 20, 20, 1, 276480, 0xc3b80edf > > -0, 21, 21, 1, 276480, 0x5f7a0d4f > > -0, 22, 22, 1, 276480, 0x5f7a0d4f > > -0, 23, 23, 1, 276480, 0x5f7a0d4f > > -0, 24, 24, 1, 276480, 0xc3b80edf > > -0, 25, 25, 1, 276480, 0x5f7a0d4f > > -0, 26, 26, 1, 276480, 0x5f7a0d4f > > -0, 27, 27, 1, 276480, 0x5f7a0d4f > > -0, 28, 28, 1, 276480, 0xc3b80edf > > -0, 29, 29, 1, 276480, 0x5f7a0d4f > > -0, 30, 30, 1, 276480, 0x5f7a0d4f > > -0, 31, 31, 1, 276480, 0x5f7a0d4f > > -0, 32, 32, 1, 276480, 0xc3b80edf > > -0, 33, 33, 1, 276480, 0x75641594 > > -0, 34, 34, 1, 276480, 0x32ee3526 > > -0, 35, 35, 1, 276480, 0xcb53479a > > -0, 36, 36, 1, 276480, 0xe1be6e26 > > -0, 37, 37, 1, 276480, 0x5ce39368 > > -0, 38, 38, 1, 276480, 0x4ec1e418 > > -0, 39, 39, 1, 276480, 0x23c418ae > > -0, 40, 40, 1, 276480, 0x036a5515 > > -0, 41, 41, 1, 276480, 0x7946efbd > > -0, 42, 42, 1, 276480, 0xd9aa1382 > > -0, 43, 43, 1, 276480, 0x3863f9c8 > > -0, 44, 44, 1, 276480, 0x33e47330 > > -0, 45, 45, 1, 276480, 0xff6e8038 > > -0, 46, 46, 1, 276480, 0xed3ff087 > > -0, 47, 47, 1, 276480, 0xe7834514 > > -0, 48, 48, 1, 276480, 0x4d5d909d > > -0, 49, 49, 1, 276480, 0x82eea962 > > -0, 50, 50, 1, 276480, 0x8075bca3 > > -0, 51, 51, 1, 276480, 0xd5dc3185 > > -0, 52, 52, 1, 276480, 0x859e0490 > > -0, 53, 53, 1, 276480, 0x6ceebf3e > > -0, 54, 54, 1, 276480, 0xada5d62d > > -0, 55, 55, 1, 276480, 0x991a7628 > > -0, 56, 56, 1, 276480, 0xe169042a > > -0, 57, 57, 1, 276480, 0x226e52c4 > > -0, 58, 58, 1, 276480, 0xa3fe775c > > -0, 59, 59, 1, 276480, 0x6b80e99f > > Test filter-codecview-mvs failed. Look at > > tests/data/fate/filter-codecview-mvs.err for details. > > make: *** [fate-filter-codecview-mvs] Error 1 > > > > (note with V=2 as in make V=2 fate-filter-codecview-mvs) it shows > > more details of what is executed and what fails > > > > > > [...] > > > > -- > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > > > In a rich man's house there is no place to spit but his face. > > -- Diogenes of Sinope > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >
> doc/filters.texi | 30 ++++++++++++++++++++++++------ > libavfilter/vf_codecview.c | 36 ++++++++++++++++++++++++++---------- > tests/fate/filter-video.mak | 2 +- > 3 files changed, 51 insertions(+), 17 deletions(-) > 7c79e05ac854cfbe0f05d2e561358d8ebe317a6d > 0001-vf_codecview-improved-filter-options.patch > From 58b2545797c6d61cb5a200f800835b84dc105cfa Mon Sep 17 00:00:00 2001 > From: dsmudhar <ds.mud...@gmail.com> > Date: Fri, 13 May 2016 23:27:41 +0530 > Subject: [PATCH] vf_codecview: improved filter options > > --- > doc/filters.texi | 30 ++++++++++++++++++++++++------ > libavfilter/vf_codecview.c | 36 ++++++++++++++++++++++++++---------- > tests/fate/filter-video.mak | 2 +- > 3 files changed, 51 insertions(+), 17 deletions(-) > > diff --git a/doc/filters.texi b/doc/filters.texi > index 8fca52d..6204b5d 100644 > --- a/doc/filters.texi > +++ b/doc/filters.texi > @@ -4715,12 +4715,24 @@ Set motion vectors to visualize. > Available flags for @var{mv} are: > > @table @samp > +@item fp > +forward predicted MVs > +@item bp > +backward predicted MVs > +@end table > + > +@item frames > +Set frame types to display motion vectors of. > + > +Available flags for @var{frames} are: > + > +@table @samp > +@item if > +intra-coded frames (I-frames) > @item pf > -forward predicted MVs of P-frames > +predicted frames (P-frames) > @item bf > -forward predicted MVs of B-frames > -@item bb > -backward predicted MVs of B-frames > +bi-directionally predicted frames (B-frames) > @end table > > @item qp > @@ -4731,9 +4743,15 @@ Display quantization parameters using the chroma planes > > @itemize > @item > -Visualizes multi-directionals MVs from P and B-Frames using @command{ffplay}: > +Visualize forward predicted MVs of all frames using @command{ffplay}: > +@example > +ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=fp > +@end example > + > +@item > +Visualize multi-directional MVs of P and B-frames: > @example > -ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb > +ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=fp+bp:frames=pf+bf > @end example > @end itemize > > diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c > index e70b397..d2c9254 100644 > --- a/libavfilter/vf_codecview.c > +++ b/libavfilter/vf_codecview.c > @@ -35,24 +35,32 @@ > #include "avfilter.h" > #include "internal.h" > > -#define MV_P_FOR (1<<0) > -#define MV_B_FOR (1<<1) > -#define MV_B_BACK (1<<2) > +#define MV_FOR (1<<0) > +#define MV_BACK (1<<1) > +#define FRAME_TYPE_I (1<<0) > +#define FRAME_TYPE_P (1<<1) > +#define FRAME_TYPE_B (1<<2) > > typedef struct { > const AVClass *class; > unsigned mv; > + unsigned frames; > int hsub, vsub; > int qp; > } CodecViewContext; > > #define OFFSET(x) offsetof(CodecViewContext, x) > #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM > +#define CONST(name, help, val, unit) { name, help, 0, AV_OPT_TYPE_CONST, > {.i64=val}, 0, 0, FLAGS, unit } > + > static const AVOption codecview_options[] = { > { "mv", "set motion vectors to visualize", OFFSET(mv), > AV_OPT_TYPE_FLAGS, {.i64=0}, 0, INT_MAX, FLAGS, "mv" }, > - {"pf", "forward predicted MVs of P-frames", 0, AV_OPT_TYPE_CONST, > {.i64 = MV_P_FOR }, INT_MIN, INT_MAX, FLAGS, "mv"}, > - {"bf", "forward predicted MVs of B-frames", 0, AV_OPT_TYPE_CONST, > {.i64 = MV_B_FOR }, INT_MIN, INT_MAX, FLAGS, "mv"}, > - {"bb", "backward predicted MVs of B-frames", 0, AV_OPT_TYPE_CONST, > {.i64 = MV_B_BACK }, INT_MIN, INT_MAX, FLAGS, "mv"}, > + CONST("fp", "forward predicted MVs", MV_FOR, "mv"), > + CONST("bp", "backward predicted MVs", MV_BACK, "mv"), > + { "frames", "set frame types to display MVs of", OFFSET(frames), > AV_OPT_TYPE_FLAGS, {.i64=0}, 0, INT_MAX, FLAGS, "frames" }, > + CONST("if", "I-frames", FRAME_TYPE_I, "frames"), > + CONST("pf", "P-frames", FRAME_TYPE_P, "frames"), > + CONST("bf", "B-frames", FRAME_TYPE_B, "frames"), it would be better if the previous syntax would still work, in addition to any new things bug reports, mailing list posts, user experience and scripts may use the old syntax [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws. -- Plato
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel