Log in

View Full Version : VirtualdubMPEg2 support 2 audio stream (ac3/ vbrmp3 ogg)


Dark-Cracker
14th September 2002, 10:32
hi,

here u can find a modified version of virtualdub v1.4.10 that support 2 audio stream (vbr-mp3 / ac3 and ogg) like in nandub.

http://virtualdubmpg2.chez.tiscali.fr/

bye.

cjaar
16th September 2002, 06:23
@DC....

a good application.... btw the link is tooooo slooow.
Does this supp vob files????

ta
cj

pab29
16th September 2002, 07:43
It only supports smart ripper generated info files (vtsXXX.txt) for the moment.

bb
16th September 2002, 09:51
Will it be able to open MPEG-2 program streams (.mpg files) in the future?

bb

alexnoe
16th September 2002, 13:01
Does it work with OGG-VBR properly?

And: I've installed OGGDS 0.9.9.3, and the new Winamp plays ogg files, but the BSPlayer doesn't play any sound for such files created with your vdub build.

The avi headers look weird:
strf.nAvgBytesPerSec is 0x2B110 for the audio stream, which is 176400 and therefore the correct value for 44,1 kHz PCM audio, but certainly not for 48 kHz ogg.

pulco-citron
21st September 2002, 12:28
>> alexnoe : Ogg support is the same as in Nandub 1.0RC2. I only included it because I wanted AC3 and it came with it without additional effort. Since I don't use OGG myself, I do not plan in the near future to debug possible problems with Ogg.

>> bb : I don't know... There's code to do it, but untested. Maybe if you produce a smartripper-like txt file pointing to your .mpg ... Just try !

Sources are now available.

Here is the change log :

Changes in alpha 0.1 (18th september, 2002)

- Added partial audio support: external files are generated with the .d2v. Works for AC3 for demuxing and decoding. LPCM untested. MPA may work if a single MPA stream is selected.

- Added support for YV12 color mode (activated only when there's no clip and no resize). Performance is 7% better than YUY2 on my Excalibur test vob (720*576 PAL, 4718 frames) with DivX 5.0.2 Pro, B-Frames and GMC activated.

Changes in alpha 0.11 (20th september, 2002)

- Job support should be working now.

- Fixed a bug where the avi output was unreadable when the user had not done any seeking at all with trackbars before saving an .avi

pulco-citron
4th October 2002, 16:36
Changes in alpha 0.2 (4th october, 2002)

- Minor tweaks in preview trackbars: width is now a multiple of 8, height position is now correct at startup

- Added bilinear vertical resize for YV12. On my test vob, it is 21 % faster than YUY2 (yes 21% !!! but my test vob is rather short, I'll try to do more realistic tests on longer vobs when I have time). This mode is automatically activated when 1) width is a multiple of 16, 2) there's no horizontal resize and 3) bilinear resize is chosen. Horizontal clip *works* (does anyone use it, anyway ?): when you put too high values for clip left and/or right, top and bottom begin to increase. DVD2avi's clip&resize already had this "feature"...

- The .d2v file now remembers the filter type (it used to default to bilinear when you reloaded a file)

- Job support now works even if the .d2v file was not previously generated. This is of no use for a standard usage of the program but can ease the use of VirtualDubMpg2 by another program. Note that there's no progress bar during .d2v generation, and that VirtualDubMpg2 appears to be not responding. This is normal. VirtualDub's status window will popup when .d2v creation is complete.

- Bug fix (regression introduced in 0.11) : files could not be opened when .d2v did not already exist. Strange that only one person saw that. I was not aware of that problem myself since I always work on the same test .vob file...

Dali Lama
4th October 2002, 23:45
@pulco-citron

This YV12 support is very exciting. Have you spoken with MarcFD over in the Avisynth forums? I think he is trying to make AVIsynth compatible with YV12.

Anyways, Before I start testing this out, I wanted to know if there is a YV12 Crop to use along with your YV12 Resize function.

Thanks,

Dali

pulco-citron
7th October 2002, 09:45
Originally posted by Dali Lama
@pulco-citron

This YV12 support is very exciting. Have you spoken with MarcFD over in the Avisynth forums? I think he is trying to make AVIsynth compatible with YV12.

Anyways, Before I start testing this out, I wanted to know if there is a YV12 Crop to use along with your YV12 Resize function.

Thanks,

Dali


There is now a YV12 crop available.
Just try the last release :

Changes in alpha 0.22 (7th october, 2002)

- Bug fix : when seeking in virtualdub after the end of the first .vob file, frames appeared to come again from the first file. This problem did not appear when streaming from the beginning.

- Vertical clip implemented for YV12. Not fully tested.

- I'm implementing a custom bicubic filter. It is now only available with fixed values (neutral bicubic).

pulco-citron
9th October 2002, 14:32
the site moved to :

http://virtualdubmpg2.sourceforge.net

pulco-citron
14th October 2002, 17:22
version alpha 0.3 is out

Mainly bug fixes and direct .vob support.




Changes in alpha 0.3 (14th october, 2002)

- Bug fix : virtualdubmpg2 crashed sometimes when seeking to the last frame. This should be fixed.

- Bug fix : .d2v was generated twice, taking twice the time. That's why you had to wait the same amount of time again after the counter had hit 100%. As far as I can remember, the very first releases didn't have this bug.

- Bug fix : audio files are no longer generated in the exe's directory but in the same directory as the input files.

- Bug fix : B and P frames were reported as P and B frames in the status bar.

- Added .vob support. This allows to open MPEG2 files without SmartRipper info files. The file extension MUST be ".vob"; ".mpg" will NOT work with MPEG-2 and report a "pack syncronization error" (it's far easier for me to code a strcmp(.,".vob") than trying to figure out if a file is MPEG-1 or MPEG-2 ...). This support is limited to one file. If you want to concatenate vob files, read the FAQ about smartripper .txt files and so on... Vob support includes drag and drop into virtualdubmpg2.

sh0dan
14th October 2002, 19:14
Where's the source - I can't find it - neither in download or CVS?
I'd like to see the YV12 implementation.

pulco-citron
14th October 2002, 19:40
Originally posted by sh0dan
Where's the source - I can't find it - neither in download or CVS?
I'd like to see the YV12 implementation.

The sources for version 0.11 (basic YV12 with no resize) can be found on http://virtualdubmpg2.chez.tiscali.fr/

The sources for the current version will be on SourceForge as soon as I find out how to use CVS (I've been on sourceforge for 3 days only and I'm still reading the documentation)



YV12 support was not hard to implement since it's most DVDs' native format (or is it I420 ? it's almost the same). Actually it was more deleting color space conversion code than supporting a new one...

sh0dan
15th October 2002, 09:07
Yeah - I also had my troubles getting CVS up. I gave up on WinCVS, and use Tortoise CVS (http://www.tortoisecvs.org/) instead. It's completely integrated into Windows, and much, much easier to use. Feel free to PM if you have any problems.

I'm interested in YV12, to be able to make a direct link from AviSynth to XVID in pure YV12. Avisynth does not support YV12 yet, but it's in the works, and avoiding YV12->YUY2->YV12 would probably gain quite a few FPS.

pulco-citron
16th October 2002, 15:04
version 0.31 is out

With the sources !




Changes in alpha 0.31 (16th october, 2002)

- Added bicubic vertical (only) resize for YV12. Works only for "Precise" and "Neutral". It runs 15+% faster than YUY2 on a P3-733 with my Excalibur test vob (720*576 to 720*432). It was not very seriously tested; let me know if you find bugs ...

trbarry
21st October 2002, 17:26
From the Faq:

Actually, i've taken the DVD2AVIT3 version from trbarry that includes the OGO modifications.

Cool! I only just found out about this, and haven't tried it yet. But does it mean it might have support for ATSC HDTV files like DVD2AVIT3 & MPEG2DEC2?

- Tom

pulco-citron
22nd October 2002, 07:56
Originally posted by trbarry
Cool! I only just found out about this, and haven't tried it yet. But does it mean it might have support for ATSC HDTV files like DVD2AVIT3 & MPEG2DEC2?

- Tom

If your code did it, mine should too :)

However, I do not have access to an ATSC HDTV stream (i don't even know what "ATSC" is) so it is untested.

Concerning the dual audio support that is (partly) implemented in vdubmpg2, modifications in the code (getbit.cpp) were done mainly in Next_Packet(), not in Next_Transport_Packet().
Does it mean that the audio part of the MPEG2 import GUI is proposing features that are not available for ATSC HDTV streams ?

trbarry
22nd October 2002, 15:42
IIRC, ATSC is Advanced Television Systems Committee, responsible for the high definition TV standard for the US. See www.atsc.org .

This is mostly an MPEG2 transport stream, at about 19.3 mbps (8.5 GB / hour!) which is what those of us with digital TV cards (Hipix, HiDTV, etc.) capture from US digital stations.

But if your code has the Next_Transport_Packet() function in it then you did indeed pick up the version with support for this. Nifty!

I didn't write that code and don't know about dual audio streams. (or much audio at all)

But except for extracting the MPEG2 elementary stream from the transport stream HDTV data looks pretty much like DVD VOB's, with AC3 audio in them, and big resolutions like 1920x1088i.

I'll just test some and see what happens. ;)

- Tom

pulco-citron
23rd October 2002, 15:44
VirtualDubMpg2 now has its own forum at SourceForge :
http://virtualdubmpg2.sourceforge.net/forum/index.php

Wilbert
24th October 2002, 15:02
A couple of questions about the YV12 support.

1) If you do fast recompress (and your avi is YV12), does that mean that your avi stays in YV12 if you recompress it to Xvid for example?

2) "Added bilinear vertical resize for YV12". I guess you have to switch to full processing mode for that. In the past that meant always a YUY2-->RGB conversion. How is it now?

3) Suppose you do some processing on a file, how do you know (can you see it somewhere ?) that there are no colorspace conversions?

pulco-citron
25th October 2002, 07:25
Originally posted by Wilbert
A couple of questions about the YV12 support.

1) If you do fast recompress (and your avi is YV12), does that mean that your avi stays in YV12 if you recompress it to Xvid for example?

2) "Added bilinear vertical resize for YV12". I guess you have to switch to full processing mode for that. In the past that meant always a YUY2-->RGB conversion. How is it now?

3) Suppose you do some processing on a file, how do you know (can you see it somewhere ?) that there are no colorspace conversions?
1) YV12 indeed is enabled not only for MPEG2 but also for any codec that supports it. However color space negotiation is done in this order : UYVY,YUYV,YV12,YUY2, several RGB formats. This list is read from UYVY to RGB8 until both input and output support the color space.
The first format that is common to MPEG2 and DivX5 for instance is YV12, which avoids the unnecessary conversion from YV12 to YUY2 (since MPEG2 native format is YV12). That's why a conversion from MPEG2 to DivX is faster with VirtualDubMpg2 than with the DVD2avi when fast recompress is chosen.
The color space used for conversion from xvid to xvid depends on the formats natively supported by xvid (I don't know them, maybe they're specified somewhere, as they're mentioned for DivX5 on www.divx.com).

2) Nononononooo. Full processing is RGB only. In order to make the most of the YV12 vertical resize (bilinear or sharp/neutral bicubic), fast recompress must be selected. This resize is not part of virtualdub's filter system (which is activated only in full processing mode). Let's see it rather as a preprocessing. In fact the input file appears to be already resized in virtualdub.

3) There's no GUI that shows that. However, if you choose fast recompress and if it works, you can be sure that there's no color space conversion, even if you don't which color space was actually used...

Wilbert
25th October 2002, 09:41
Thanks for your answers!

The color space used for conversion from xvid to xvid depends on the formats natively supported by xvid (I don't know them, maybe they're specified somewhere, as they're mentioned for DivX5 on www.divx.com).

Xvid supports also YV12 (I'm sure it is somewhere on www.xvid.org). IIRC it supports the same formats as DivX5.

pulco-citron
29th October 2002, 17:02
VirtualDubMpg2 will not go past version alpha 0.31
The sourceforge project will remain as it is now.

But development goes on in VirtualDubMod, that merges various modified versions of VirtualDub (Mpg2, AVS, OGM) :

http://forum.doom9.org/showthread.php?s=&threadid=36797