View Full Version : VirtualDub2
shekh
15th February 2017, 10:34
In general my plugin is more rich on features, especially modded features (support for new formats, alpha channel, stream copy, image sequences, append segments, ...)
The virtualdubffmpeginputplugin implements many options for tweaking (which I do not want to do) and the code is completely different so YMMV.
There is no technical problem to use both, any and none.
shekh
15th February 2017, 15:40
WNR 0.1 not worked in virtualdub filtermod
In fact it works with "Force single framebuffer" option
(Video->Filters...->Options...)
Gromozeka
26th February 2017, 20:01
In fact it works with "Force single framebuffer" option
(Video->Filters...->Options...)
Thanks, shekh
kolpotoru
26th February 2017, 20:34
Thank you for VirtualDub FilterMod. Please implement the duel audio support like the old VirtualDubMod.
LigH
26th February 2017, 21:40
Indeed, a "Stream list" management would be useful to support more than a low fixed number of streams in parallel to video.
shekh
27th February 2017, 12:11
Extra streams: not planning yet.
Also this part interferes with audio filters which seem in desperate state. Any opinions for audio filters? Worth keeping around? :)
TlatoSMD
1st March 2017, 03:50
First off, it's great people are still developing VDub close to 20 years after its first release. I'd have two suggestions regardings things that have always bugged me about VDub although I'm still using it on a daily basis.
I'd like to be able to assign a fixed aspect ratio to the output AVI. Many people claim it would be impossible, but a.) Tmpgenc can when I'm using it for transcoding to an x264 AVI, and b.) so can Adobe Premiere Pro when I'm outputting a 4:3 or 16:9 DV AVI. Oh, and my old Canopus ADVC-100 also encodes to a 720x576 DV stream with an assigned aspect ratio of 4:3 so that when I'm playing the captured file in VLC, the display ratio is actually 768x576 (or maybe it's what my capture tool VirtualVCR does).
And speaking of audio filters, please greatly simplify VDub's audio interface! If all I wanna do is normalize the audio, what VDub is giving me is something like a set of lego bricks that I have to stack in the right way and order, and then I also have to somehow tie them all together with wires or strings. Why does it even need an "input" lego brick and an "output" lego brick? It would be much simpler if it was just like with the video filters: Choose "Normalize" from a set of pre-defined filters, set it to "max", "-1dB of max", or "-3dB of max" (and offer a seperate or integrated simple "boost" or "cut" volume filter), and you're done.
shekh
1st March 2017, 17:36
I'd like to be able to assign a fixed aspect ratio to the output AVI.
If all you need is x264 the encoder has "sar width/height" options and it works.
Can't see what else to do about it.
And speaking of audio filters, please greatly simplify VDub's audio interface! If all I wanna do is normalize the audio, what VDub is giving me is something like a set of lego bricks that I have to stack in the right way and order, and then I also have to somehow tie them all together with wires or strings. Why does it even need an "input" lego brick and an "output" lego brick? It would be much simpler if it was just like with the video filters: Choose "Normalize" from a set of pre-defined filters, set it to "max", "-1dB of max", or "-3dB of max" (and offer a seperate or integrated simple "boost" or "cut" volume filter), and you're done.
It's exactly my thoughts :)
StainlessS
2nd March 2017, 01:59
First off, it's great people are still developing VDub close to 20 years after its first release.
No.
Shekh, is doin' his damdest to make it the new greatest thing in the world, and pretty much succeeding.
Methinks, Shekh, should be voted king, me would lick his feet :)
(Dont hold me to that, please).
TlatoSMD
2nd March 2017, 06:20
Oh, and since this seems an all-over VDub-related suggestion thread, I'd like to quote myself from another thread:
somebody really needs to at last write the cross-color and cross-luma PAL filter for VDub that Tacosalad has announced already more than a decade ago. I've mailed him about it around 2005 and he said he has "all the math in his head" for a genuine PAL version of his Dotcrawl filter with that, but nothing doing so far. MSU has been faster and implemented the thing in their commercial MSU Tuner TV Restore filter: http://www.compression.ru/video/tuner_tv_restore/index_en.html (look at the guy's shirt to see what I mean). Well, we need either that, or a proper GUI for Avisynth at least. After all, I'm just a button clicker, not a programmer, which is why I've never gotten a single AVIsiynth script to work within the last ten years that I've been trying.
The outmost I've ever managed to do in this vein of using an abstract video-processing programming language like AVIsinth was to use Mencoder (with lots of help every single time when they'd brought out a new version and seemingly all former commands had been blacklisted again) for what I'm now much more easily and more conveniently using Xmedia Recode for: Simply transcoding stuff into readable files for VDub and PPro before there were all those many codec and container plug-ins for VDub. And even just using Mencoder for that was really pushing the limits of my abilities to use one of those darn programming languages to write "scripts".
So you see, that's why I'm so desperate for either a genuine PAL cross-color and cross-luma filter for VDub...*OR* a clickable GUI like VDub for AVIsinyth. AVIsynth seems to have all the hot filters but the programming language to use them is just gobledegook to me. Besides a genuine PAL cross-color and cross-luma filter, AVIsnyth also seems to have an effective filter to remove those black and white lines from analogue satellite TV recordings, whereas I've never gotten the VDub version called "Processing the linear hindrances" to do anything at all to my footage, and I have lots of tapes recorded from analogue satellite TV. And let's not forget about AVIsynth's awesome filters to turn regular 25 or 30fps videos into extreme slo-mos, with a quality only equalled by Apple Motion so you can forget about cheap and crappy tools like Twixtor.
shekh
2nd March 2017, 11:20
Methinks, Shekh, should be voted king, me would lick his feet :)
I just got motivation to make a project web page: imagine how this quote would look in "what users say" section!
StainlessS
2nd March 2017, 19:30
Yeh, go for it :)
jpsdr
10th March 2017, 09:55
Would it be possible, to have in the next release (no hurry, take your time), the two following things :
First, change the default value alignment (and so also the modulo pitch value) from 16 to 64.
And also, change this :
/// Filter requests 16 byte alignment for source and destination buffers. This guarantees that:
///
/// - data and pitch fields are multiples of 16 bytes (aligned)
/// - an integral number of 16 byte vectors may be read, even if the last vector includes
/// some bytes beyond the end of the scanline (their values are undefined)
/// - an integral number of 16 byte vectors may be written, even if the last vector includes
/// some bytes beyong the end of the scanline (their values are ignored)
///
FILTERPARAM_ALIGN_SCANLINES = 0x00000008L,
to this :
/// Filter requests 64 byte alignment for source and destination buffers. This guarantees that:
///
/// - data and pitch fields are multiples of 64 bytes (aligned)
/// - an integral number of 64 byte vectors may be read, even if the last vector includes
/// some bytes beyond the end of the scanline (their values are undefined)
/// - an integral number of 64 byte vectors may be written, even if the last vector includes
/// some bytes beyong the end of the scanline (their values are ignored)
///
FILTERPARAM_ALIGN_SCANLINES = 0x00000008L,
As the "why 64" ? Just to see for the future, and don't have to touch it again for a long time.
The second change, would be to add CPU mode.
The first step would just be to add these :
// AVS+
CPUF_AVX2 = 0x2000, // Haswell
CPUF_FMA3 = 0x4000,
CPUF_F16C = 0x8000,
CPUF_MOVBE = 0x10000, // Big Endian move
CPUF_POPCNT = 0x20000,
CPUF_AES = 0x40000,
CPUF_FMA4 = 0x80000,
CPUF_AVX512F = 0x100000, // AVX-512 Foundation.
CPUF_AVX512DQ = 0x200000, // AVX-512 DQ (Double/Quad granular) Instructions
CPUF_AVX512PF = 0x400000, // AVX-512 Prefetch
CPUF_AVX512ER = 0x800000, // AVX-512 Exponential and Reciprocal
CPUF_AVX512CD = 0x1000000, // AVX-512 Conflict Detection
CPUF_AVX512BW = 0x2000000, // AVX-512 BW (Byte/Word granular) Instructions
CPUF_AVX512VL = 0x4000000, // AVX-512 VL (128/256 Vector Length) Extensions
CPUF_AVX512IFMA = 0x8000000, // AVX-512 IFMA integer 52 bit
CPUF_AVX512VBMI = 0x10000000,// AVX-512 VBMI
to made them avaible for plugin.
I don't know how it's made within VDub, my humble suggestion would be to take a look at the avs+ cpuid.cpp code, it's now "very easy"...;)
The second step, could be done later in a second time, would be to add these in the "Option->Preference->CPU" menu.
I think these improvements could be very usefull in your spirit of upgrade or continue to make live VirtualDub.
LigH
10th March 2017, 10:24
If 0x00000008L is equal to a 16 byte alignment, I would assume that a 64 byte alignment needs a different value?
jpsdr
10th March 2017, 12:06
It's not like this it's to be seen. Setting FILTERPARAM_ALIGN_SCANLINES in your filter means your require alignment. Actualy the alignment is on 16, i asked if it can be changed to 64. If you're aligned on 64, you're on 16, so it's backward compatible, no need to introduce more complexity with another parameter.
shekh
31st March 2017, 12:54
Sorry for long reply, was on vacation :)
> change the default value alignment
This feature is already sort of scheduled. I will make a new flag value to be able to tell the difference later.
> add CPU mode
I cant see how this can be helped from VirtualDub. If you want to write code using FMA4 or whatever, IMO just do it and make your own compatibility check.
shekh
4th April 2017, 13:00
jpsdr
What do you think if I make 64-byte alignment for buffers in x64 build, and in x86 build it will be forced for specific filter only (it will do inefficient reallocation)?
I am afraid that x86 process may run out of memory merely because of the increased alignment.
Unfortunately there is no already implemented way to enforce only useful alignment, and this seems difficult.
edit: nevermind, have better idea.
shekh!
:thanks: for Your effort.
I install Your version VirtualDub on two PC, both under Windows 10 64, on one all O'k and I see 16 bit video (after command Converts(16)), when I see file information I see decoder name, on other I see split image and at file information not name for decoder.
Please advice.
yup.
jpsdr
6th April 2017, 09:00
I am afraid that x86 process may run out of memory merely because of the increased alignment.
You'll at worst increase the size of each line of 48 bytes of memory allocation... I don't think it will be a critical issue.
About CPU extenstion, all the stuff is tested in cpuaccel.cpp, maybe it could be updated using the cpuid.cpp from avisynth+, and offer the others detection parameters ?
Myrsloik
6th April 2017, 10:07
I added Y410 support, maybe you want to add it too now?
shekh
6th April 2017, 10:21
I added Y410 support, maybe you want to add it too now?
What it helps to do? You can send 10 bit wrapped in Y416, same result less pain.
Does any vfw codec support it?
Myrsloik
6th April 2017, 10:30
What it helps to do? You can send 10 bit wrapped in Y416, same result less pain.
Does any vfw codec support it?
I added it for madvr support mostly. Don't know of any specific vfw thing.
jpsdr
6th April 2017, 11:31
I don't realy know the exact labels format, the codecs i know which support more than 8 bits are :
UT Video : Support 10 bits RGB, RGBA, YUV422.
Magic YUV : Support 10 bits RGB, RGBA, YUV400, YUV422; 12 bits RGB, RGBA; 14 bits RGB, RGBA.
I don't know if this can help.
Of course, there is probably more of them.
shekh
6th April 2017, 13:28
Yes I watch UTVideo & MagicYUV. All their output supported afaik.
shekh
16th April 2017, 11:16
New version and cleaned some SDK/API changes, brief documentation available: https://sourceforge.net/p/vdfiltermod/wiki/sdk/
Flags controlling frame alignment:
FILTERPARAM_ALIGN_SCANLINES_16 = 0x00000008L,
FILTERPARAM_ALIGN_SCANLINES = FILTERPARAM_ALIGN_SCANLINES_16,
FILTERPARAM_ALIGN_SCANLINES_32 = 0x00000048L, // v19
FILTERPARAM_ALIGN_SCANLINES_64 = 0x00000040L, // v19
It is difficult to prove align guarantee but I believe it works :) Passed some tests too.
Request as much as you actually use.
And some filters illustrating how to deal with new modes:
https://sourceforge.net/projects/vdfiltermod/files/plugins/owdenoise/
https://sourceforge.net/projects/vdfiltermod/files/plugins/crossfade/
These filters are "strange" so I don`t include them in the pack.
owdenoise is adaptation of wavelet denoise filter from FFMPEG. It is very slow.
crossfade is more like experiment. If you put it on scene change it will shift future frames backward and interpolate with past frames, creating linear transition.
WorBry
17th April 2017, 02:00
Testing VirtualDub FilterMod release 39005 on Win10 x64 I keep getting this error when attempting to encode to x264.mp4 (8 or 10 bit) with the integrated x264 compressors:
http://i.imgur.com/j4ZmH6j.png
No problem encoding to other formats, only x264.
Edit: Same with version 39148 released today.
Edit: But no such issue with the 64-bit VeeDub64.exe
shekh
17th April 2017, 09:02
Testing VirtualDub FilterMod release 39005 on Win10 x64 I keep getting this error when attempting to encode to x264.mp4 (8 or 10 bit) with the integrated x264 compressors:
http://i.imgur.com/j4ZmH6j.png
No problem encoding to other formats, only x264.
Edit: Same with version 39148 released today.
Edit: But no such issue with the 64-bit VeeDub64.exe
Cannot repeat immediately, maybe something with settings.
Please repeat it with "test video->rgb color cube" and then use "file->save project", and send it to me.
WorBry
17th April 2017, 16:41
UHD/4K - maybe an issue with Auto Level selection ?
I'm sending you the Test Video > RGB Color Cube project file. This was simple test case.
Input file: Native UHD/24p XAVC.mp4 clip from Sony A6300. Rec709
Full Processing mode
Decode Format: Default (Auto) YUV420-709
Compressor: 8-bit x264 - Default settings.
Compressor pixel format: Default YUV420
No Audio
Saved as mp4 file
sneaker_ger
17th April 2017, 16:43
UHD/4K
Running into the memory limit of 32 bit? The executables aren't even large address aware as far as I can tell.
shekh
17th April 2017, 17:15
UHD/4K - maybe an issue with Auto Level selection ?
I'm sending you the Test Video > RGB Color Cube project file. This was simple test case.
Input file: Native UHD/24p XAVC.mp4 clip from Sony A6300. Rec709
Full Processing mode
Decode Format: Default (Auto) YUV420-709
Compressor: 8-bit x264 - Default settings.
Compressor pixel format: Default YUV420
No Audio
Saved as mp4 file
Are you sending attachments? While they wait for moderation I can`t see, please use https://justpaste.it/ or dropbox, or anything but attachments :)
So did the cube work or failed?
p.s. the idea about memory seems correct, maybe it cannot allocate enough buffers, may work with preset "ultrafast".
WorBry
17th April 2017, 17:15
Running into the memory limit of 32 bit? The executables aren't even large address aware as far as I can tell.
I missed the first part of the sentence copy-pasting the text. Should have read - "BTW - the error only occurs with UHD/4K".
But maybe you're right - running into the memory limit of 32 bit.
Still, I've sent Shekh the file.
WorBry
17th April 2017, 17:29
Are you sending attachments? While they wait for moderation I can`t see, please use https://justpaste.it/ or dropbox, or anything but attachments :)
DataFileHost misbehaving. Here's the vdf file opened in Notepad > justpaste.it link:
https://justpaste.it/15mfi
And the source file MediaInfo:
https://justpaste.it/15mfm
Edit: The DataFileHost link:
https://www.datafilehost.com/d/8f369081
So did the cube work or failed?
Worked
shekh
17th April 2017, 18:44
Can you share your source too?
Tried to reproduce with same settings and similar source, but I get different message:
x264vfw [error]: x264_encoder_encode failed
What I can say now: it makes sense to add some meaning to error messages.
WorBry
17th April 2017, 20:26
Can you share your source too?
https://www.datafilehost.com/d/fa0a18f7
What I can say now: it makes sense to add some meaning to error messages.
Sounds like the wife :)
LigH
18th April 2017, 07:04
If you used the CLI x264 encoder, I would guess that it printed a few more meaningful error messages to STDERR before failing. The included "x264vfw" encoder instead only shows you the final result. I hope there is a way to inspect its error log in another window, or whatever...
WorBry
19th April 2017, 15:09
Can you share your source too?
Tried to reproduce with same settings and similar source, but I get different message:
x264vfw [error]: x264_encoder_encode failed
I'm fine using the x64 version, but did you come to a conclusion on the encode error I reported with the x32 exe ? Is it likely just a memory limit thing or something else going on ?
Cheers.
shekh
19th April 2017, 15:33
It is suspicious because I cannot repeat same error. It fails later anyway with "out of memory".
LigH is correct, some messages are emitted to stderr (read:nowhere), with next update will be possible to see them.
Also I suspect the input driver is too hungry for memory, maybe I can do something about it.
jpsdr
28th April 2017, 09:30
I have a suggestion. It's not a need for me, just something which may be usefull. I take a look, and unless i'm mistaken, didn't see it.
In your FilterModPixmapInfo struct, adding HDR metadata information of the current frame (or somewhere else if it's not the right place).
I understand this may be possible only on very specific case : If the video is read with one of your new high mode video plugin, and if the plugin is able to retrieve such information. This may provide necessary information to handle HDR video, if someone wants to work/handle such frames. Of course, if this information is not avaible, put a specific "not avaible" value.
It's just a pure suggestion, based on what i can see sometimes of information being possibly missing for doing some process, and in the thought of "what can be improved/added with the new things coming".
shekh
28th April 2017, 10:36
Thanks but it is no go unless someone demands it for real purpose.
Yanak
30th April 2017, 23:42
Hello,
First let me say thank you for working on this and adding more possibilities to this great tool, only noticed it few days ago and still regularly using the old Vdub.
I have few questions l'd like to ask please ( feel free to say it's silly ones if they are ) :
- Do you plan to add some kind of 3D LUT support so we could apply .cube or .3dl profiles directly to the videos ?
- Will there be a way to import curve profiles from external programs a bit like the "Gradation Curves" plug-in used to do ( sadly i mostly use Gimp for curve and this format is not supported in this old plugin tho ).
- Will it be possible to add an option in the script editor to have an automatic return to the line so the stuff typed stays inside the window without the need to use the horizontal scroll to see the end of the line ?
More particular :
- Will it be easy for you to extend the insert option in the script editor ?
For example adding a few filters to our project and then saving the project we will see those lines for the filter in the saved project file :
VirtualDub.video.filters.Add("MSU Old cinema 2.0 ");
VirtualDub.video.filters.instance[0].Config(247, 223, 181, 0, 1, 0, 30, 70, 15, 3, 30, 10, 30, 150, 0, 1, 100);
Let's say we have a new "Insert Filters parameters" , it could return something like this ( with comment at the start ) :
#"MSU Old cinema 2.0" (247, 223, 181, 0, 1, 0, 30, 70, 15, 3, 30, 10, 30, 150, 0, 1, 100)
and so on for all filters applied following the same scheme #"FilterName" (parameters)
Asking this to use those more easily in avisynth when using "LoadVirtualDubPlugin", will still need a bit of edit after this but passing all settings directly into the script will be a really nice thing.
- Maybe also the right click contextual menu adding the "edit " options, like "insert position etc " accessible directly from a right click.
Thank you very much for the work you are doing on this tool and long live to VirtualDub :)
StainlessS
1st May 2017, 00:19
Yanak, as you mention MSU Old Cinema, I thought I would point something out, here:- https://forum.doom9.org/showthread.php?p=1371376
Not good news I'm afraid, unless they have updated it.
Hi,
Took this example from the filters list but i have not tested through avisynth if it works or not, too late to make some tests now as it's almost 3am here but will give some tries tomorrow, thank you for pointing this.
It isn't the type of filter i use the most in virtualdub but still annoying if limited like you discovered, beside doing manually a lot of stuff in avisynth or using overlays there isn't really easy solutions to make footage look old and dirt in avisynth, more the contrary :p (even worse when it comes to import and apply easily some externally created or 3D LUT in some ways into avisynth, complete headache for those, when it could bring some really neat stuff )
Thanks for pointing this, will try a bit tomorrow but I'm afraid it have not changed since all those years, at least i will have time to elaborate a plan B for the next time i will need this :).
StainlessS
1st May 2017, 02:01
You can if necessary set up VDub as a frameserver and feed it into Avs.
Also, never used it but there is T3DLut:- https://www.google.co.uk/?gfe_rd=cr&ei=KRd1VKG6N5HCVND3gGA&gws_rd=ssl#q=avisynth+t3dlut
EDIT: I have a version of the plugin, if you cant find it.
EDIT: Old cinema is not so atypical of MSU filters, there is more than one that suffers from similar problems.
I could never get the vdub frameserver to work under windows seven, this is another thing that could be updated and be very helpful ;).
Will check tomorrow for the plugin, quickly saw there was even a 64 bit version of it on the link but nothing to download there, will research tomorrow when my eyes won't be half close and if i have no luck i'll pm you about it, this gave me good hope, hopefully it will work.
Thank you very much for the help.
StainlessS
1st May 2017, 02:26
Yanak, I was looking at your profile, to see what you were doing and clicked on what you were looking at, got this alert
No idea what that means but seems VERY suspicious to me, do not give any password, and change your password if you did give it,
by the way, if you just click the close box, nothing happens and you can view the pages that seem to be on Doom9.
HERE: Image:-
EDIT: SonyBiz.net seems to be SONY, but who knows (and why are they asking for Password) !!!
#################################################
https://s20.postimg.org/qod3wnlvh/untitled_zps4zzkaymu.jpg (https://postimg.org/image/5rgvrznuh/)
raffriff42
1st May 2017, 02:49
StainlessS, it does the same thing for me. It's the link below "this thing:" in the text. I reported it. (It ain't Yanak's fault!)
Safe "printable" view: https://forum.doom9.org/printthread.php?t=139389
StainlessS
1st May 2017, 02:57
Cheers Raff, have seen that before and had no idea what the cause was. :)
EDIT: So, it seems that it is just because someone inserted a link to a jpeg that happens to be on sony server.
- Do you plan to add some kind of 3D LUT support so we could apply .cube or .3dl profiles directly to the videos ?
No plan
- Will there be a way to import curve profiles from external programs a bit like the "Gradation Curves" plug-in used to do ( sadly i mostly use Gimp for curve and this format is not supported in this old plugin tho ).
To import where, into curves plugin? Again, no plan.
- Will it be possible to add an option in the script editor to have an automatic return to the line so the stuff typed stays inside the window without the need to use the horizontal scroll to see the end of the line ?
This is really simple, probably.
...
Let's say we have a new "Insert Filters parameters" , it could return something like this ( with comment at the start ) :
#"MSU Old cinema 2.0" (247, 223, 181, 0, 1, 0, 30, 70, 15, 3, 30, 10, 30, 150, 0, 1, 100)
...
I don't really want to mess with script editor, but what I may do is support copy and paste of filters, then this will allow to paste filters in any text editor.
(looking similar to vdscript commands)
@StainlessS :,
saw that just now, really weird, answered to your PM too but seems like my messages don't work, tried a few times but not sure if you gonna get it , sorry if it worked and comes in duplicates.
Found T3DLut plugin in x86 an x64 but this won't work as it supports only a very specific format ( sent more infos on this by PM but i don't know if you will receive it or not )
@raffriff42 : i think i recall you from encodingtalk forum unless it's another similar name, i am the guy who had issues with your frametime checker first versions as it wasn't French language aware :)
@shekh :
Thanks for the reply,
Import curves into the curves plugin yes, that was the idea, import external programs curves directly, well not gonna happen, but thanks for replying.
The changes to the text editor return to the line and possibility to copy the filter codes will be great already.
Thanks again.
StainlessS
1st May 2017, 16:25
Yup, I got all three of your PM's Yanak. PM'ed response.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.