Discussion:
[vlc] video wall question
Andreas Schiffler
2004-02-17 15:46:50 UTC
Permalink
I'd like to drive a 3x3 video wall from vlc.

I know there is a plugin "wall video filter". What does this do? Is
there any documentation?

Ultimately I'd like to implement a new video wall driver that allows for
more control over what is shown where.

The issue is that for a multi-monitor video display one needs to display
parts of the decoded source image on one of the monitors. Because of the
frame of many displays, adjacent pixels on the monitor are not adjacent
pixels in the source image due to the gap between the monitors.
Therefore a general multi-monitor video wall driver needs to be able map
source rectangles to target rectangles.

Assuming we use a system-managed virtual display, the steps the drivers
has to implement are essentially:
- configure the number of target windows Dn(x,y,w,h
- for each target window configure mappings Sn(x,y,w,h) --> Dn
- open target windows (frameless)
- map source to target (with/without antialiasing)

I have some generic (C) scaling code in my SDL_gfx library (currently
LGPL) that can be GPLed and probably easily modified and used to
implement an unaccelerated rendering step for this driver.

Any hints and pointers on how I would create such a plugin would be
greatly appreciated. Initially I'd like to implement this on Linux which
is my devel platform.

Best regards
Andreas
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Sigmund Augdal
2004-02-17 20:48:39 UTC
Permalink
Post by Andreas Schiffler
I'd like to drive a 3x3 video wall from vlc.
I know there is a plugin "wall video filter". What does this do? Is
there any documentation?
The video wall filter splits the video into n*m equally sized parts, and
shows any combination of these in separate windows.

example use:
vlc --filter wall --wall-cols 3 --wall-rows 3 --wall-active 0,4,8

This will open three windows containing the upper left, the middle and the
lower right part of a 3x3 video wall. The filter doesn't take care of gaps
between monitors.


Sigmund
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Andreas Schiffler
2004-02-17 21:49:17 UTC
Permalink
Post by Sigmund Augdal
Post by Andreas Schiffler
I'd like to drive a 3x3 video wall from vlc.
I know there is a plugin "wall video filter". What does this do? Is
there any documentation?
The video wall filter splits the video into n*m equally sized parts, and
shows any combination of these in separate windows.
vlc --filter wall --wall-cols 3 --wall-rows 3 --wall-active 0,4,8
This will open three windows containing the upper left, the middle and the
lower right part of a 3x3 video wall. The filter doesn't take care of gaps
between monitors.
OK, so it should be fairly easy to extend the wall filter to allow the
following adjustments:
(A) optionally sub-select a rectangle from the source part
(B) scale this rectangle to the original destination size
to account for monitor frames in a video-wall matrix.

I'll try to make a version of the existing wall filter to implement this
if I can figure out the source and pixel format.

Bye
Andreas
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Sigmund Augdal
2004-02-17 21:58:44 UTC
Permalink
I see no reason for a window not to be fullscreen in this setip. The scaling
to fullscreen is already implemented in vlc. What whould be a cool feature
was for the wall filter to automatically tell each window it creates which
monitor it should use.

Sigmund
Post by Andreas Schiffler
OK, so it should be fairly easy to extend the wall filter to allow the
(A) optionally sub-select a rectangle from the source part
(B) scale this rectangle to the original destination size
to account for monitor frames in a video-wall matrix.
I'll try to make a version of the existing wall filter to implement this
if I can figure out the source and pixel format.
Bye
Andreas
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Andreas Schiffler
2004-02-18 04:22:13 UTC
Permalink
Sure, you normally want to display full screen, but you might need black
bars at different positions. Imagine a video wall implementation with 4x
16:9 screens. To display a 4:3 video one needs to place the pieces at
the left (or right) edge of the screen and fill the rest with black (or
don't draw at all).

The selection of piece to monitor is typically done by the graphics
driver setup (monitor 1 left of monitor 2, etc.) which in essence
provides a virtual screen area. In fact I couldn't figure what the the
"wall" filter was really doing. When I tried the "wall" option on a
640x480 video a 2x2 setupactivating part 1 and 2 and found them to
appear in the upper left and lower right corners of my 1024x768 screen -
quite a counterintuitive positioning. One should at least add the
possibility to use absolute subwindow positioning for the "wall" filter.

The more general approach would be to map source rectangles to target
rectangles - and optimize to the full-screen case as a default setting.

I'm also not sure if YUV scaling is active on Linux (or Windows for for
that matter) for more complex multi monitor setups (like one AGP and one
PCI Nvidia cards for a 2x2 setup and 4 monitors, or 3 PCI Matrox MMS
cards for a 3x3 setup and 9 monitors). Anyone has any experience with that?

Cheers
Andreas
Post by Sigmund Augdal
I see no reason for a window not to be fullscreen in this setip. The scaling
to fullscreen is already implemented in vlc. What whould be a cool feature
was for the wall filter to automatically tell each window it creates which
monitor it should use.
Sigmund
Post by Andreas Schiffler
OK, so it should be fairly easy to extend the wall filter to allow the
(A) optionally sub-select a rectangle from the source part
(B) scale this rectangle to the original destination size
to account for monitor frames in a video-wall matrix.
I'll try to make a version of the existing wall filter to implement this
if I can figure out the source and pixel format.
Bye
Andreas
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Sigmund Augdal
2004-02-20 09:08:32 UTC
Permalink
The wall filter is very, very basic in it's features. It just open one
window for each slice of the video. It does not attempt to position the
windows at all. For the black bars, these only need to go in edges of the
video, and I think it can be easily solved with the --video-align option on
the different windows.

Sigmund
Post by Andreas Schiffler
Sure, you normally want to display full screen, but you might need black
bars at different positions. Imagine a video wall implementation with 4x
16:9 screens. To display a 4:3 video one needs to place the pieces at
the left (or right) edge of the screen and fill the rest with black (or
don't draw at all).
The selection of piece to monitor is typically done by the graphics
driver setup (monitor 1 left of monitor 2, etc.) which in essence
provides a virtual screen area. In fact I couldn't figure what the the
"wall" filter was really doing. When I tried the "wall" option on a
640x480 video a 2x2 setupactivating part 1 and 2 and found them to
appear in the upper left and lower right corners of my 1024x768 screen -
quite a counterintuitive positioning. One should at least add the
possibility to use absolute subwindow positioning for the "wall" filter.
The more general approach would be to map source rectangles to target
rectangles - and optimize to the full-screen case as a default setting.
I'm also not sure if YUV scaling is active on Linux (or Windows for for
that matter) for more complex multi monitor setups (like one AGP and one
PCI Nvidia cards for a 2x2 setup and 4 monitors, or 3 PCI Matrox MMS
cards for a 3x3 setup and 9 monitors). Anyone has any experience with that?
Cheers
Andreas
Post by Sigmund Augdal
I see no reason for a window not to be fullscreen in this setip. The scaling
to fullscreen is already implemented in vlc. What whould be a cool feature
was for the wall filter to automatically tell each window it creates which
monitor it should use.
Sigmund
Post by Andreas Schiffler
OK, so it should be fairly easy to extend the wall filter to allow the
(A) optionally sub-select a rectangle from the source part
(B) scale this rectangle to the original destination size
to account for monitor frames in a video-wall matrix.
I'll try to make a version of the existing wall filter to implement this
if I can figure out the source and pixel format.
Bye
Andreas
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
Loading...