[FFmpeg-devel,v1] doc/filters: add 4x4 layout example for xstack filter

Submitted by lance.lmwang@gmail.com on Sept. 19, 2019, 5:43 a.m.

Details

Message ID 20190919054314.32694-1-lance.lmwang@gmail.com
State New
Headers show

Commit Message

lance.lmwang@gmail.com Sept. 19, 2019, 5:43 a.m.
From: Limin Wang <lance.lmwang@gmail.com>

In additon, I have added details of each input position to help understand 
how to write the layout parameters.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
---
 doc/filters.texi | 34 +++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

Comments

lance.lmwang@gmail.com Sept. 24, 2019, 10:32 a.m.
ping, although my testing is OK.


On Thu, Sep 19, 2019 at 01:43:14PM +0800, lance.lmwang@gmail.com wrote:
> From: Limin Wang <lance.lmwang@gmail.com>
> 
> In additon, I have added details of each input position to help understand 
> how to write the layout parameters.
> 
> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> ---
>  doc/filters.texi | 34 +++++++++++++++++++++++++++++++++-
>  1 file changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 06ce7ec069..bd5edf9d0c 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -19045,6 +19045,11 @@ terminates. Default value is 0.
>  @itemize
>  @item
>  Display 4 inputs into 2x2 grid.
> +
> +Below is the 4 inputs position:
> +input1(0,0)    | input3(w0, 0)
> +input2(0,h0)   | input4(w0, h0)
> +
>  Note that if inputs are of different sizes unused gaps might appear,
>  as not all of output video is used.
>  @example
> @@ -19053,6 +19058,10 @@ xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
>  
>  @item
>  Display 4 inputs into 1x4 grid.
> +
> +Below is the 4 inputs position:
> +input1(0,0) | input2(0,h0) | input3(0,h0+h1) | input4(0, h0+h1+h2)
> +
>  Note that if inputs are of different sizes unused gaps might appear,
>  as not all of output video is used.
>  @example
> @@ -19061,11 +19070,34 @@ xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
>  
>  @item
>  Display 9 inputs into 3x3 grid.
> +
> +Below is the 9 inputs position:
> +input1(0, 0)          |  input4(w0, 0)       | input7(w0+w1, 0)
> +input2(0, h0)         |  input5(w0,h0)       | input8(w0+w1, h0)
> +input3(0, h0+h1)      |  input6(w0,h0+h1)    | input9(w0+w1, h0+h1)
> +
>  Note that if inputs are of different sizes unused gaps might appear,
>  as not all of output video is used.
>  @example
> -xstack=inputs=9:layout=w3_0|w3_h0+h2|w3_h0|0_h4|0_0|w3+w1_0|0_h1+h2|w3+w1_h0|w3+w1_h1+h2
> +xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w1_0|w0+w1_h0|w0+w1_h0+h1
>  @end example
> +
> +@item
> +Display 16 inputs into 4x4 grid.
> +
> +Below is the 16 inputs position:
> +input1(0, 0)        |  input5(w0, 0)        | input9 (w0+w1,  0)       | input13(w0+w1+w2, 0)
> +input2(0, h0)       |  input6(w0, h0)       | input10(w0+w1, h0)       | input14(w0+w1+w2, h0)
> +input3(0, h0+h1)    |  input7(w0, h0+h1)    | input11(w0+w1, h0+h1)    | input15(w0+w1+w2, h0+h1)
> +input4(0, h0+h1+h2) |  input8(w0, h0+h1+h2) | input12(w0+w1, h0+h1+h2) | input16(w0+w1+w2, h0+h1+h2)
> +
> +Note that if inputs are of different sizes unused gaps might appear,
> +as not all of output video is used.
> +@example
> +xstack=inputs=16:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2|w0_0|w0_h0|w0_h0+h1|w0_h0+h1+h2|w0+w1_0|\
> +w0+w1_h0|w0+w1_h0+h1|w0+w1_h0+h1+h2|w0+w1+w2_0|w0+w1+w2_h0|w0+w1+w2_h0+h1|w0+w1+w2_h0+h1+h2
> +@end example
> +
>  @end itemize
>  
>  @anchor{yadif}
> -- 
> 2.21.0
>
Gyan Sept. 24, 2019, 10:40 a.m.
On 24-09-2019 04:02 PM, Limin Wang wrote:
> ping, although my testing is OK.
>
>
> On Thu, Sep 19, 2019 at 01:43:14PM +0800, lance.lmwang@gmail.com wrote:
>> From: Limin Wang <lance.lmwang@gmail.com>
>>
>> In additon, I have added details of each input position to help understand
>> how to write the layout parameters.
>>
>> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
>> ---
>>   doc/filters.texi | 34 +++++++++++++++++++++++++++++++++-
>>   1 file changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/doc/filters.texi b/doc/filters.texi
>> index 06ce7ec069..bd5edf9d0c 100644
>> --- a/doc/filters.texi
>> +++ b/doc/filters.texi
>> @@ -19045,6 +19045,11 @@ terminates. Default value is 0.
>>   @itemize
>>   @item
>>   Display 4 inputs into 2x2 grid.
>> +
>> +Below is the 4 inputs position:
>> +input1(0,0)    | input3(w0, 0)
>> +input2(0,h0)   | input4(w0, h0)
>> +
>>   Note that if inputs are of different sizes unused gaps might appear,
>>   as not all of output video is used.
>>   @example
>> @@ -19053,6 +19058,10 @@ xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
>>   
>>   @item
>>   Display 4 inputs into 1x4 grid.
>> +
>> +Below is the 4 inputs position:
>> +input1(0,0) | input2(0,h0) | input3(0,h0+h1) | input4(0, h0+h1+h2)
Inconsistent indentation. Make it like input4 e.g.  input1(0, 0)


>> +
>>   Note that if inputs are of different sizes unused gaps might appear,
>>   as not all of output video is used.
>>   @example
>> @@ -19061,11 +19070,34 @@ xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
>>   
>>   @item
>>   Display 9 inputs into 3x3 grid.
>> +
>> +Below is the 9 inputs position:
>> +input1(0, 0)          |  input4(w0, 0)       | input7(w0+w1, 0)
>> +input2(0, h0)         |  input5(w0,h0)       | input8(w0+w1, h0)
>> +input3(0, h0+h1)      |  input6(w0,h0+h1)    | input9(w0+w1, h0+h1)

Same for input5 and 6..

>> +
>>   Note that if inputs are of different sizes unused gaps might appear,
>>   as not all of output video is used.
>>   @example
>> -xstack=inputs=9:layout=w3_0|w3_h0+h2|w3_h0|0_h4|0_0|w3+w1_0|0_h1+h2|w3+w1_h0|w3+w1_h1+h2
>> +xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w1_0|w0+w1_h0|w0+w1_h0+h1
>>   @end example
>> +
>> +@item
>> +Display 16 inputs into 4x4 grid.
>> +
>> +Below is the 16 inputs position:
>> +input1(0, 0)        |  input5(w0, 0)        | input9 (w0+w1,  0)       | input13(w0+w1+w2, 0)
>> +input2(0, h0)       |  input6(w0, h0)       | input10(w0+w1, h0)       | input14(w0+w1+w2, h0)
>> +input3(0, h0+h1)    |  input7(w0, h0+h1)    | input11(w0+w1, h0+h1)    | input15(w0+w1+w2, h0+h1)
>> +input4(0, h0+h1+h2) |  input8(w0, h0+h1+h2) | input12(w0+w1, h0+h1+h2) | input16(w0+w1+w2, h0+h1+h2)
Same for input9.

Gyan
lance.lmwang@gmail.com Sept. 24, 2019, 11:31 a.m.
On Tue, Sep 24, 2019 at 04:10:12PM +0530, Gyan wrote:
> 
> 
> On 24-09-2019 04:02 PM, Limin Wang wrote:
> >ping, although my testing is OK.
> >
> >
> >On Thu, Sep 19, 2019 at 01:43:14PM +0800, lance.lmwang@gmail.com wrote:
> >>From: Limin Wang <lance.lmwang@gmail.com>
> >>
> >>In additon, I have added details of each input position to help understand
> >>how to write the layout parameters.
> >>
> >>Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> >>---
> >>  doc/filters.texi | 34 +++++++++++++++++++++++++++++++++-
> >>  1 file changed, 33 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/doc/filters.texi b/doc/filters.texi
> >>index 06ce7ec069..bd5edf9d0c 100644
> >>--- a/doc/filters.texi
> >>+++ b/doc/filters.texi
> >>@@ -19045,6 +19045,11 @@ terminates. Default value is 0.
> >>  @itemize
> >>  @item
> >>  Display 4 inputs into 2x2 grid.
> >>+
> >>+Below is the 4 inputs position:
> >>+input1(0,0)    | input3(w0, 0)
> >>+input2(0,h0)   | input4(w0, h0)
> >>+
> >>  Note that if inputs are of different sizes unused gaps might appear,
> >>  as not all of output video is used.
> >>  @example
> >>@@ -19053,6 +19058,10 @@ xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
> >>  @item
> >>  Display 4 inputs into 1x4 grid.
> >>+
> >>+Below is the 4 inputs position:
> >>+input1(0,0) | input2(0,h0) | input3(0,h0+h1) | input4(0, h0+h1+h2)
> Inconsistent indentation. Make it like input4 e.g.  input1(0, 0)

Thanks for your review, I have fixed and updated the patch. Please
check it.

> 
> 
> >>+
> >>  Note that if inputs are of different sizes unused gaps might appear,
> >>  as not all of output video is used.
> >>  @example
> >>@@ -19061,11 +19070,34 @@ xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
> >>  @item
> >>  Display 9 inputs into 3x3 grid.
> >>+
> >>+Below is the 9 inputs position:
> >>+input1(0, 0)          |  input4(w0, 0)       | input7(w0+w1, 0)
> >>+input2(0, h0)         |  input5(w0,h0)       | input8(w0+w1, h0)
> >>+input3(0, h0+h1)      |  input6(w0,h0+h1)    | input9(w0+w1, h0+h1)
> 
> Same for input5 and 6..
> 
> >>+
> >>  Note that if inputs are of different sizes unused gaps might appear,
> >>  as not all of output video is used.
> >>  @example
> >>-xstack=inputs=9:layout=w3_0|w3_h0+h2|w3_h0|0_h4|0_0|w3+w1_0|0_h1+h2|w3+w1_h0|w3+w1_h1+h2
> >>+xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w1_0|w0+w1_h0|w0+w1_h0+h1
> >>  @end example
> >>+
> >>+@item
> >>+Display 16 inputs into 4x4 grid.
> >>+
> >>+Below is the 16 inputs position:
> >>+input1(0, 0)        |  input5(w0, 0)        | input9 (w0+w1,  0)       | input13(w0+w1+w2, 0)
> >>+input2(0, h0)       |  input6(w0, h0)       | input10(w0+w1, h0)       | input14(w0+w1+w2, h0)
> >>+input3(0, h0+h1)    |  input7(w0, h0+h1)    | input11(w0+w1, h0+h1)    | input15(w0+w1+w2, h0+h1)
> >>+input4(0, h0+h1+h2) |  input8(w0, h0+h1+h2) | input12(w0+w1, h0+h1+h2) | input16(w0+w1+w2, h0+h1+h2)
> Same for input9.
> 
> Gyan
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

Patch hide | download patch | download mbox

diff --git a/doc/filters.texi b/doc/filters.texi
index 06ce7ec069..bd5edf9d0c 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -19045,6 +19045,11 @@  terminates. Default value is 0.
 @itemize
 @item
 Display 4 inputs into 2x2 grid.
+
+Below is the 4 inputs position:
+input1(0,0)    | input3(w0, 0)
+input2(0,h0)   | input4(w0, h0)
+
 Note that if inputs are of different sizes unused gaps might appear,
 as not all of output video is used.
 @example
@@ -19053,6 +19058,10 @@  xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
 
 @item
 Display 4 inputs into 1x4 grid.
+
+Below is the 4 inputs position:
+input1(0,0) | input2(0,h0) | input3(0,h0+h1) | input4(0, h0+h1+h2)
+
 Note that if inputs are of different sizes unused gaps might appear,
 as not all of output video is used.
 @example
@@ -19061,11 +19070,34 @@  xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
 
 @item
 Display 9 inputs into 3x3 grid.
+
+Below is the 9 inputs position:
+input1(0, 0)          |  input4(w0, 0)       | input7(w0+w1, 0)
+input2(0, h0)         |  input5(w0,h0)       | input8(w0+w1, h0)
+input3(0, h0+h1)      |  input6(w0,h0+h1)    | input9(w0+w1, h0+h1)
+
 Note that if inputs are of different sizes unused gaps might appear,
 as not all of output video is used.
 @example
-xstack=inputs=9:layout=w3_0|w3_h0+h2|w3_h0|0_h4|0_0|w3+w1_0|0_h1+h2|w3+w1_h0|w3+w1_h1+h2
+xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w1_0|w0+w1_h0|w0+w1_h0+h1
 @end example
+
+@item
+Display 16 inputs into 4x4 grid.
+
+Below is the 16 inputs position:
+input1(0, 0)        |  input5(w0, 0)        | input9 (w0+w1,  0)       | input13(w0+w1+w2, 0)
+input2(0, h0)       |  input6(w0, h0)       | input10(w0+w1, h0)       | input14(w0+w1+w2, h0)
+input3(0, h0+h1)    |  input7(w0, h0+h1)    | input11(w0+w1, h0+h1)    | input15(w0+w1+w2, h0+h1)
+input4(0, h0+h1+h2) |  input8(w0, h0+h1+h2) | input12(w0+w1, h0+h1+h2) | input16(w0+w1+w2, h0+h1+h2)
+
+Note that if inputs are of different sizes unused gaps might appear,
+as not all of output video is used.
+@example
+xstack=inputs=16:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2|w0_0|w0_h0|w0_h0+h1|w0_h0+h1+h2|w0+w1_0|\
+w0+w1_h0|w0+w1_h0+h1|w0+w1_h0+h1+h2|w0+w1+w2_0|w0+w1+w2_h0|w0+w1+w2_h0+h1|w0+w1+w2_h0+h1+h2
+@end example
+
 @end itemize
 
 @anchor{yadif}