multiple description in VLC!

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
mhl
New Cone
New Cone
Posts: 4
Joined: 22 Feb 2005 16:58
Location: Denmark
Contact:

multiple description in VLC!

Postby mhl » 22 Feb 2005 17:50

Hi VLC forum

I am trying to implement the multiple description video scheme in VLC, as described in the paper:

Frank H. P. Fitzek, Basak Can, Ramjee Prasad, Markos Katz, "Traffic Analysis of Multiple Description Coding of Video Services over IP Networks", Wireless Personal Multimedia Communications (WPMC) 2004, September, 2004

But, I have a problem in the decoder part. You don't need to read the paper to give me a hint :-)

I have two input thread and two mpeg decoder running simultaneous, controled by VLM interface. In a standard VLC the two decoder will display the result in two different windows (vout=picture).

But I need to mix the two results into one window.

I have tried to hack __vout_Request in video_output.c, but something went wrong when two decoders writing in the same p_dec->p_owner->p_vout buffer (this is done in the decoder thread).

Do you know the reason or do you have a better solution?

Best regards,
Morten

Sigmund
Big Cone-huna
Big Cone-huna
Posts: 893
Joined: 26 Nov 2003 09:38

Postby Sigmund » 22 Feb 2005 18:45

code for something similar to this was added very recently to svn. It's called mosaic.c or something.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 22 Feb 2005 23:34

... and mosaic (along with the picture vout) is really a dirty hack. To do anything clean, we need to rewrite the whole vout system ...

mhl
New Cone
New Cone
Posts: 4
Joined: 22 Feb 2005 16:58
Location: Denmark
Contact:

Postby mhl » 23 Feb 2005 12:42

First tnk for the fast response :-)

If the vout will be rewriten will it get a new strategy or is it to remove some bugs?

I have tried you example as described in svn commit r10017 (dionoea) and it works perfect!

But the function Filter() will be conducted each time a new frame is ready in somevideo0.avi. Thus, if the famerate is 60 frames/sec. in somevideo1.avi and 30 frames/sec. in the somevideo0.avi then the output of the filter will only be 30 frames/sec.

Do I understand the filter construction currect?

Best regards
Morten

zorglub
Cone that earned his stripes
Cone that earned his stripes
Posts: 482
Joined: 21 Nov 2003 02:53
Location: Paris - France
Contact:

Postby zorglub » 23 Feb 2005 13:12

Hello,

A vout rewrite would target things like :
- Separation of "real windows" vs "helper" (like spectrum analyser, ...)
- better OSD handling
-only put OSD on real windows, not on "helper windows"
-ability to put OSD in black bars
- Better hotkeys handling
- Centralized management of streams (better PiP management)
- Better use of new generation of filters (ability to manually add them, on the fly, ...)

For your question, yes, the output will be only 30fps. But no desynchronization will happen. This "problem" is unlikely to be fixed, though
Zorglub
Clément Stenac

zorglub
Cone that earned his stripes
Cone that earned his stripes
Posts: 482
Joined: 21 Nov 2003 02:53
Location: Paris - France
Contact:

Postby zorglub » 23 Feb 2005 13:14

Just a precision: it won't be made in the next version of VLC (0.8.2), but in the next one. 0.8.2 is currently entering frozen state.
Zorglub
Clément Stenac

mhl
New Cone
New Cone
Posts: 4
Joined: 22 Feb 2005 16:58
Location: Denmark
Contact:

Postby mhl » 23 Feb 2005 15:00

Hi again!

If both somevideo0.avi and somevideo1.avi use vout=picture and we start a modified video_output thread. Thus, when a picture is ready for display, its (picture) thread send a vlc_condition to the sleeping video_output thread and the video_output thread will filter/OSD and finaly display it?

Is there a reason for not using vlc_condition in video_output?

Best regards,
Morten


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 49 guests