Tim Nicholson | 1 May 09:29 2012
Picon

Re: [PATCH] Change default behaviour of scale filter from 'progressive' to 'auto'

On 30/04/12 14:44, Michael Niedermayer wrote:
> On Tue, Apr 17, 2012 at 10:15:15AM +0100, Tim Nicholson wrote:

> [...]

>>  doc/filters.texi       |    7 +++++--
>>  libavfilter/vf_scale.c |    4 +++-
>>  2 files changed, 8 insertions(+), 3 deletions(-)
>> 204530437f82f96f65d5062b44225c03f15a5dd6  0001-Make-default-setting-of-parameter-interl-1-auto.patch
>> From 3d2f71dc0dec57d6058eddfe9a6f90766943080b Mon Sep 17 00:00:00 2001
>> From: Tim Nicholson <Tim.Nicholson <at> bbc.co.uk>
>> Date: Fri, 30 Mar 2012 10:43:46 +0100
>> Subject: [PATCH 1/2] Make default setting of parameter interl=-1 (auto)
>>
>> Previously default was 0 (progressive), but interlace detection has been
>> improved in 648e55ff, and this makes the behaviour consistent with other
>> options that use 1|0|-1 with -1 the default.
> 
> Ive tested a few files and the autodetection does not work reliable.
> for example matrixbench_mpeg2.mpg is flaged as interlaced while it
> is progressive.

Hmm, pity. I have also found that the idet filter doesn't seem to work
if a scale 0 is auto inserted (with or without my patch), which means
that it fails to detect bgr material....

> Currently progressive material is scaled correctly and interlaced
> material needs the user to override the setting otherwise it produces
> vissible artifacts
> 
(Continue reading)

Michael Niedermayer | 1 May 10:26 2012
Picon
Picon

Re: [PATCH] Change default behaviour of scale filter from 'progressive' to 'auto'

On Tue, May 01, 2012 at 08:29:47AM +0100, Tim Nicholson wrote:
> On 30/04/12 14:44, Michael Niedermayer wrote:
> > On Tue, Apr 17, 2012 at 10:15:15AM +0100, Tim Nicholson wrote:
[...]
> > I think the patch is correct but until the input interlace flag is
> > ALOT more reliable i dont think we should apply this as it likely
> > would worsen the overall results for the end user, who after this
> > patch would need to manually override it for all files while now
> > only interlaced files need a override to be sure they are scaled
> > correctly
> > 
> 
> Fair comment. One of the problems with the current system is that in
> order to perform the override, one has to construct a command string,
> run a test on the material. Observe where scale filters ma be auto
> inserted. Then reconstruct the command line with a full -vf string and
> manually inserting the scaler with interlace turned on, or preceded by a
> setfield filter. This can be tedious and simple command strings end up
> being turned into more complex lines with filterchains. Using just -vf
> setfield=prog|tff|bff on its own doesn't seem to work.
> 
> I therefore wonder if a better solution at this stage would be to add an
> additional SWScaler AVOption to enable selecting the default mode.
> Current users would see no change, and those who need it could simply
> add the option to their command line and get the results they need in a
> more elegant and simple manner than described previously.
> 
> I will try and bone up on the SWScaler API and see what it would take to
> achieve that if you think that approach might work.

(Continue reading)

Georg Lippitsch | 1 May 11:43 2012

Re: [PATCH] FireWire DV/HDV input device using libiec61883

Here are the two rebased patches, also with the typo-corrections in the  
documentation.

Georg
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel <at> ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Tim Nicholson | 1 May 12:12 2012
Picon

Re: [PATCH] Change default behaviour of scale filter from 'progressive' to 'auto'

On 01/05/12 09:26, Michael Niedermayer wrote:
> On Tue, May 01, 2012 at 08:29:47AM +0100, Tim Nicholson wrote:
>> On 30/04/12 14:44, Michael Niedermayer wrote:
>>> On Tue, Apr 17, 2012 at 10:15:15AM +0100, Tim Nicholson wrote:
> [...]
>>> I think the patch is correct but until the input interlace flag is
>>> ALOT more reliable i dont think we should apply this as it likely
>>> would worsen the overall results for the end user, 

> [..]

>>
>> I therefore wonder if a better solution at this stage would be to add an
>> additional SWScaler AVOption to enable selecting the default mode.
>> Current users would see no change, and those who need it could simply
>> add the option to their command line and get the results they need in a
>> more elegant and simple manner than described previously.
>>
>> I will try and bone up on the SWScaler API and see what it would take to
>> achieve that if you think that approach might work.
> 
> I think adding more possibly values to the interlace field used in
> libavfilter is better. Its not certain the interlace state is the
> same in the whole filter graph, also other filters may similarly
> need to accurately know the interlacing/progressive state

Is that not what the setfield filter does if used at the start of a
filtergraph? I have already added in the ability to force progressive as
well as the previous tff|bff options. However it doesn't seem to help
the case of auto inserted "scale 0".
(Continue reading)

Michael Niedermayer | 1 May 12:38 2012
Picon
Picon

Re: [PATCH] Change default behaviour of scale filter from 'progressive' to 'auto'

On Tue, May 01, 2012 at 11:12:33AM +0100, Tim Nicholson wrote:
> On 01/05/12 09:26, Michael Niedermayer wrote:
> > On Tue, May 01, 2012 at 08:29:47AM +0100, Tim Nicholson wrote:
> >> On 30/04/12 14:44, Michael Niedermayer wrote:
> >>> On Tue, Apr 17, 2012 at 10:15:15AM +0100, Tim Nicholson wrote:
> > [...]
> >>> I think the patch is correct but until the input interlace flag is
> >>> ALOT more reliable i dont think we should apply this as it likely
> >>> would worsen the overall results for the end user, 
> 
> > [..]
> 
> >>
> >> I therefore wonder if a better solution at this stage would be to add an
> >> additional SWScaler AVOption to enable selecting the default mode.
> >> Current users would see no change, and those who need it could simply
> >> add the option to their command line and get the results they need in a
> >> more elegant and simple manner than described previously.
> >>
> >> I will try and bone up on the SWScaler API and see what it would take to
> >> achieve that if you think that approach might work.
> > 
> > I think adding more possibly values to the interlace field used in
> > libavfilter is better. Its not certain the interlace state is the
> > same in the whole filter graph, also other filters may similarly
> > need to accurately know the interlacing/progressive state
> 
> 
> Is that not what the setfield filter does if used at the start of a
> filtergraph? I have already added in the ability to force progressive as
(Continue reading)

Stefano Sabatini | 1 May 13:29 2012
Picon

[PATCH] lavfi/drawtext: alphabetically sort the expression parameters

---
 doc/filters.texi          |   48 +++++++++++++++++++++++---------------------
 libavfilter/vf_drawtext.c |   42 ++++++++++++++++++--------------------
 2 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 5a8cd60..dec9336 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
 <at>  <at>  -1363,21 +1363,6  <at>  <at>  The parameters for  <at> var{x} and  <at> var{y} are expressions containing the
 following constants:

  <at> table  <at> option
- <at> item W, H
-the input width and height
-
- <at> item tw, text_w
-the width of the rendered text
-
- <at> item th, text_h
-the height of the rendered text
-
- <at> item lh, line_h
-the height of each text line
-
- <at> item sar
-input sample aspect ratio
-
  <at> item dar
 input display aspect ratio, it is the same as ( <at> var{w} /  <at> var{h}) *  <at> var{sar}
(Continue reading)

Stefano Sabatini | 1 May 13:29 2012
Picon

[PATCH] doc/filters: fix location of "rate" and "timecode" drawtext options

They are options, not expression parameters.
---
 doc/filters.texi |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index dec9336..e72d34a 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
 <at>  <at>  -1319,6 +1319,9  <at>  <at>  Default value is "render".
 For more information consult the documentation for the FT_LOAD_*
 libfreetype flags.

+ <at> item rate, r
+Set the timecode frame rate (timecode only).
+
  <at> item shadowcolor
 The color to be used for drawing a shadow behind the drawn text.  It
 can be a color name (e.g. "yellow") or a string in the 0xRRGGBB[AA]
 <at>  <at>  -1334,6 +1337,11  <at>  <at>  values. Default value for both is "0".
 The size in number of spaces to use for rendering the tab.
 Default value is 4.

+ <at> item timecode
+Set the initial timecode representation in "hh:mm:ss[:;.]ff"
+format. It can be used with or without text parameter.  <at> var{rate}
+option must be specified.
+
  <at> item text
 The text string to be drawn. The text must be a sequence of UTF-8
(Continue reading)

Stefano Sabatini | 1 May 13:29 2012
Picon

[PATCH] doc/filters: document x, y drawtext expression parameters

---
 doc/filters.texi |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index e72d34a..ec4eb5e 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
 <at>  <at>  -1423,6 +1423,12  <at>  <at>  the height of the rendered text

  <at> item text_w, tw
 the width of the rendered text
+
+ <at> item x, y
+the x and y offset coordinates where the text is drawn.
+
+These parameters allow the  <at> var{x} and  <at> var{y} expressions to refer
+each other, so you can for example specify  <at> code{y=x/dar}.
  <at> end table

 If libavfilter was built with  <at> code{--enable-fontconfig}, then
--

-- 
1.7.5.4
Stefano Sabatini | 1 May 13:30 2012
Picon

[PATCH] doc/filters: document rand() drawtext expression function

---
 doc/filters.texi |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index ec4eb5e..c529f00 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
 <at>  <at>  -1364,11 +1364,11  <at>  <at>  output image.

 The default value of  <at> var{x} and  <at> var{y} is "0".

-See below for the list of accepted constants.
+See below for the list of accepted constants and functions.
  <at> end table

 The parameters for  <at> var{x} and  <at> var{y} are expressions containing the
-following constants:
+following constants and functions:

  <at> table  <at> option
  <at> item dar
 <at>  <at>  -1412,6 +1412,9  <at>  <at>  contained in the rendered text
  <at> item n
 the number of input frame, starting from 0

+ <at> item rand(min, max)
+return a random number included between  <at> var{min} and  <at> var{max}
+
  <at> item sar
(Continue reading)

Stefano Sabatini | 1 May 13:30 2012
Picon

[PATCH] lavfi/drawtext: rename and document variables d_expr and d_pexpr

Use the more expressive names draw_expr and draw_pexpr, also more
consistent.
---
 libavfilter/vf_drawtext.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
index e12aa3d..74a19c8 100644
--- a/libavfilter/vf_drawtext.c
+++ b/libavfilter/vf_drawtext.c
 <at>  <at>  -147,8 +147,8  <at>  <at>  typedef struct {
     AVExpr *x_pexpr, *y_pexpr;      ///< parsed expressions for x and y
     int64_t basetime;               ///< base pts time in the real world for display
     double var_values[VAR_VARS_NB];
-    char   *d_expr;
-    AVExpr *d_pexpr;
+    char   *draw_expr;              ///< expression for draw
+    AVExpr *draw_pexpr;             ///< parsed expression for draw
     int draw;                       ///< set to zero to prevent drawing
     AVLFG  prng;                    ///< random
     char       *tc_opt_string;      ///< specified timecode option string
 <at>  <at>  -175,7 +175,7  <at>  <at>  static const AVOption drawtext_options[]= {
 {"shadowy",  "set y",                OFFSET(shadowy),            AV_OPT_TYPE_INT,    {.dbl=0},     INT_MIN,  INT_MAX  },
 {"tabsize",  "set tab size",         OFFSET(tabsize),            AV_OPT_TYPE_INT,    {.dbl=4},     0,        INT_MAX  },
 {"basetime", "set base time",        OFFSET(basetime),           AV_OPT_TYPE_INT64,  {.dbl=AV_NOPTS_VALUE},    
INT64_MIN,        INT64_MAX  },
-{"draw",     "if false do not draw", OFFSET(d_expr),             AV_OPT_TYPE_STRING, {.str="1"},   CHAR_MIN, CHAR_MAX },
+{"draw",     "if false do not draw", OFFSET(draw_expr),          AV_OPT_TYPE_STRING, {.str="1"},   CHAR_MIN,
CHAR_MAX },
 {"timecode", "set initial timecode", OFFSET(tc_opt_string),      AV_OPT_TYPE_STRING, {.str=NULL}, 
(Continue reading)


Gmane