Log in

View Full Version : VirtualDub2


Pages : 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

wonkey_monkey
13th August 2018, 22:11
I have another suggestion for you shekh, if I may. One thing I, and hopefully other people, would dearly love in VirtualDub2 is a pop-up magnifier that we could use to zoom in on a particular spot.

I made a mock(ery) (https://i.imgur.com/IbHufxw.jpg) - it could either be directly under the pointer (left) or offset somehow (right). Or perhaps it could be a third pane.

PS The "Input video pane" and "Output video pane" options don't do what I'd expect - I was expecting them to remove the panes entirely rather than simply stop updating them. I guess that's what the Pane Layout submenu is for, but the descriptions for the main menu options (F9/F10) are ambiguous, I think.

shekh
13th August 2018, 22:47
I have another suggestion for you shekh, if I may. One thing I, and hopefully other people, would dearly love in VirtualDub2 is a pop-up magnifier that we could use to zoom in on a particular spot.

I made a mock(ery) (https://i.imgur.com/IbHufxw.jpg) - it could either be directly under the pointer (left) or offset somehow (right). Or perhaps it could be a third pane.


I also want this :) Currently to view some pixels I go to the "crop" filter and use magnifier there (holding shift).
But it is not very convenient. Could be better if I make it available in the main panes too.


PS The "Input video pane" and "Output video pane" options don't do what I'd expect - I was expecting them to remove the panes entirely rather than simply stop updating them. I guess that's what the Pane Layout submenu is for, but the descriptions for the main menu options (F9/F10) are ambiguous, I think.

I don't know why these options exist at all. Maybe "Freeze input pane" will be better name?

shekh
13th August 2018, 23:52
Trying to measure CF RAW (to source RAW) PSNR and having issue with levels.

"It appears that there is conversion error between I16<->RGBA64 (clipped dark values)"

I assume this is an issue. I can't at the moment save decoded CF RAW into something which I could compare against original TIFF RAW.

Here is build from WIP branch with some unconfirmed changes.
Y16 is handled better and there is gray16 tiff export too.
I added bayer options to cineform codec (it adds TAG_BAYER_FORMAT CF metadata). Cineform decoder applies it on debayering.

https://drive.google.com/open?id=11b2oCNfPhp7BQOm_ynMnc6ORW4szTRU1

kolak
14th August 2018, 00:16
:thanks:
Will try.

kolak
14th August 2018, 00:35
All working better now :)
I have to use BG setting for this Ursa shot, which seems to be strange?

shekh
14th August 2018, 00:43
All working better now :)
I have to use BG setting for this Ursa shot, which seems to be strange?

Are you sure? It works for me with GB, and this is what dcraw reports "Filter pattern: GB/RG".

Yanak
14th August 2018, 05:36
Hello,

I don't know if it's normal or not but the setting "Auto-size" for the panels seems to not be remembered from one session to another and one video size to another sometimes.

I open a 1920x1080 video, set auto-size panels, then close vdub2 and reopen the same video and it stays auto sized, but if i open a video of let's says 1440p this time it will display both panels at 100% size and auto-size is unticked in the settings.


One thing that will be nice if possible without much coding work will be to set the auto-size of panels for each one individually, for example, having the output panel maximized at his maximum display capacity while the input panel is at 25% and having this setting remembered from one session to another, saving this as a kind of template.

Let's say that when opening a video the input panel will always be at 25% size ( as long as it fits inside the window, should be no problem on 1080p display and 1080p video, the 25% window will be 480x270px + the panel borders ) and the output will be displayed at his maximum size in the remaining free space while the zoom level being calculated to use a maximum of the remaining free space to stay inside the window, fully visible, in this example the 1080p video will be around 1422x800px in the output panel, 74% of the original 1080p size if i make no errors.

If we have a 720p input on a 1080p display the input panel will be at 25% ( around 320x180px + panel borders in size ) and there is enough free space to display the output at around 123-124%, not sure in this case if the output should be limited to 100% or still use the maximum it can from the remaining space to display at 123-124%, I prefer the second possibility tho, free to me to later use 100% with a simple right click on the panel to see at normal size.

Not sure if i explained myself correctly and if it's clear enough but will be nice to have such possibilities.


Another thing that will be nice is to have a kind of dark theme but this will probably need a ton of work for something that is pure cosmetic and won't ever happen :p

Thank you.

kolak
14th August 2018, 11:11
Are you sure? It works for me with GB, and this is what dcraw reports "Filter pattern: GB/RG".

Your are right. I simply didn't look properly.

kolak
14th August 2018, 11:57
I added bayer options to cineform codec (it adds TAG_BAYER_FORMAT CF metadata). Cineform decoder applies it on debayering.



Are you already passing some metadata? Nothing seems to change.
I can try asking David Newman how to map DNG metadata to CF metadata.

shekh
14th August 2018, 12:32
Are you already passing some metadata? Nothing seems to change.
I can try asking David Newman how to map DNG metadata to CF metadata.

I add bayer type metadata at encoding step only, based on bayer format selected in config dropdown.
Reading dng directly and preserving this info from source needs more effort. Maybe later!

> Nothing seems to change.

What problem do you see exactly? If I save the same source with 4 different bayer patterns they look differently when decoded as rgb. Either with native decoder in vd2 or with vfw decoder in mpc-hc.

It is possible to see the metadata in hex editor, begins with BFMT.
If you are looking at it in resolve, maybe it doesn't pick this flag?

kolak
14th August 2018, 14:52
I mean the look didn't change. Whole encoding and bayer setting are all good :)

With metadata CF own decoder should give us better look for start, but this will be still not available in Resolve (Resolve uses own debayering which is better and GPU based). I'm waiting for BM to add whole RAW control for CF RAW in Resolve.

Thank you for you work- this is already a lot (at leats for testing needs).

Are you aware that Cineform use to provide cmd line tool for transcoding from DNG RAW (and not only) to CF RAW? This tool supports only uncompressed DNG as far as I know. It hasn't been updated for years. Shame this code is not public (it owed be probably not to difficult to adjust it)- we only have exe file.

SeeMoreDigital
14th August 2018, 18:04
Hi all,

I have an AVID source which contains some banding in certain scenes: -

https://i.imgur.com/Zm92yIy.png

Is there a filter in VirtualDub2 that can help reduce this?


Cheers

kolak
14th August 2018, 18:15
Don't think so. You need avisynth or vapoursynth. Filters like:
flash3kyuu_deband or GradFun3.

shekh
14th August 2018, 18:24
I tried to port GradFun filter but didn't like the result. Got stuck mid-way while trying to fix its issues.
edit: this was from ffmpeg version of GradFun, which is probably not the same at all as AviSynth GradFun3.

shekh
14th August 2018, 18:41
One thing that will be nice if possible without much coding work will be to set the auto-size of panels for each one individually, for example, having the output panel maximized at his maximum display capacity while the input panel is at 25% and having this setting remembered from one session to another, saving this as a kind of template.

I thought it already performs that way :) Maybe there is a bug.

Dark theme: unrealistic. Did you try to change entire windows theme?

SeeMoreDigital
16th August 2018, 20:17
Don't think so. You need avisynth or vapoursynth. Filters like:
flash3kyuu_deband or GradFun3.Bummer... That's a shame :(

wonkey_monkey
16th August 2018, 20:19
I know this is a super vague thing to report, but sometimes VirtualDub2 fails to respond to a press of "Page Up" or "Page Down." Unfortunately I can't find a way to repeatedly trigger the issue, so I mention it only in case it triggers a thought.

lansing
16th August 2018, 23:58
I have another problem with the capture mode. My Logitech webcam has an "exposure" parameter, but it's not showing up in the "levels" window. Can you also map this parameter to the window?

wonkey_monkey
19th August 2018, 23:46
Odd behaviour discovered (please make sure you view this at 100%):

https://i.imgur.com/4Yy2KlK.png

The source is an Avisynth script as follows which produces alternating black and white lines. The left hand size is magnified to 150%. I can't think why it would look like this, but it only occurs at exactly 150%, and only with "Use DirectX for display panes" switched off (I forget why I have it switched off, but I'm sure there is a good reason). It can also be seen when DirectX is on but VirtualDub is not the focused window (I assume DirectX gets switched off in that situation).

Source:


blankclip(width=360,height=144)
interleave(last,last.invert).assumefieldbased.weave


When stepping through frames or playing back, the stripes jump around.

At other zooms, or when manually dragged away from 150%, the result is aliased (with DirectX off), but consistent.

Groucho2004
20th August 2018, 07:12
@davidhorman
I can't reproduce any of the problems you describe, neither on XP nor on Win7.
Maybe it's related to your display driver and/or it's configuration. Dunno, just a hunch.

Emulgator
21st August 2018, 18:03
Can not repeat that too. VD2 42087, Win7U64, nVidia 388.16

wonkey_monkey
21st August 2018, 22:10
For what it's worth I'm on Windows 7 with an Nvidia Optimus (Intel/Nvidia graphics cards working together). That might have something to do with it, but it's never caused any other problems. Even if I force VirtualDub to run on the Nvidia card (it usually runs on the Intel) the problem still happens. I tried on another computer with an older version of VirtualDub2 and it didn't happen ¯\_(ツ)_/¯

shekh
23rd August 2018, 14:34
Looks like rounding error in StretchBlt (unbelievable), I can only suggest that this is GPU defect. Is the temperature normal? :|

wonkey_monkey
23rd August 2018, 14:55
Well it's been a bit hot for my liking, but it is Summer after all...

Oh, the computer? Nah, it's as cool as a cucumber. Fan hardly ever blows. I've never seen any other such defects, and it only happens at that specific scale factor (150%), and only if DirectX is disabled (which for most people it won't be, i guess).

wonkey_monkey
24th August 2018, 22:16
Minor bug? When reloading (with F2) an Avisynth script which is now longer than before, a white mark appears on the timeline at the previous endpoint of the video (or sometimes at a different point; I think it may have something to do with changes to the number scale as the numbers get larger):

https://i.imgur.com/pesInkp.png

It compounds with each increase in length:

https://i.imgur.com/PKLHrA5.png

After doing it twice (or more) in succession then reverting back to the original length, it triggers the "The new video has fewer video frames [...] Switching to it will result in changes to the edit list" message (even when there have been no edits). Doing it only once (increasing length then back to original length) doesn't trigger this message. I think this message has always appeared at unpredictable times with old versions of VirtualDub as well.

shekh
26th August 2018, 18:38
White stripes indicate where is discontinuity in timeline (typically created by delete operations). The problem with reloading needs very minor change to fix it. Currently when the source becomes longer, the new piece is added as independent segment with pointless split. Later when source becomes shorter this split is treated as if it is precious information to lose.

MeteorRain
27th August 2018, 10:02
Hi shekh

I haven't been looking for a new version of VD(M) for years. Still using the 1.4.13.2 until today I realize I need some high bit depth support with Vapoursynth x64 and I happen to see this project. I sincerely appreciate all the efforts in improving the functionalities. The new update that natively supports 10 bit rendering really impressed me.

A few concerns during my usage.

A seek jump has always been 50 frames, that is Alt+Left/Right jumps 50 frames at a time. Is it possible to support different units? Eg. sometimes I want to jump 50 frames, but sometimes I want 2000 at a time.

Back in the 1.4-1.5 days, the position bar was the old fashion slider. When I click on the slider bar, the nob slides for a unit (50 frames). It was very handy to glance through a video because it slides only when I move my mouse cursor while pressing the left mouse button on the bar. In 1.6 the behavior changed and the same task that I had been doing became such a hard job. And even worse, I would lose my current position if I accidentally click on the bar. Is there any way to revert back to the old behavior? -- This is actually the primary reason I'm still staying at 1.4.13.2.

Also, any quicker way to zoom in and out? Current behavior needs 2 clicks and mouse moving. I'd hope something like Ctrl+Scroll zooming.

MeteorRain
27th August 2018, 22:18
I also spent a few minutes reading the backlog and doing experiments. Couldn't make the context menu working (in my case, .avs and .vpy). Weird to me that even VDub 1.10.4 didn't want to be added to the list. Maybe we should try some 3rd party tool instead.

shekh
27th August 2018, 22:27
Hi, thanks.

> sometimes I want to jump 50 frames, but sometimes I want 2000 at a time

This needs some new options. Maybe I can squeeze it in preferences dialog.

> When I click on the slider bar, the nob slides for a unit

I didn't use 1.4, you mean it behaved like typical scrollbar? Actually I prefer how it is now but if the option is easy to add, why not.
Note that you can preserve any interesting position using "toggle marker" command (add hotkey for it).

> Also, any quicker way to zoom in and out?

Currently there is no better way.

MeteorRain
27th August 2018, 22:51
https://i.imgur.com/19T0cap.png

I think I got this working.

First I tried to Open with... more application to add both binaries into the candidate list.

Now they refuse to appear inside the context menu.

Then I moved both binaries away, and fill in the VDM binaries with the corresponding names as placeholders. (x86 or x64 does not matter, just duplicate the x86 binaries and fill them in.)

Then I tried first step again. They successfully appear in the list despite that they may show the VDM icon. A reboot or explorer restart should correct the icon but I didn't care about that.

Lastly, moved both binaries back.

Ran a few tests on my desktop. VPY file loads VDM 1.4, VD 1.10-64 and VD2-64 just fine. Please give it a shot.

MeteorRain
27th August 2018, 23:10
Please disregard my last post.

I was poking around the registry and figured out this.

D:\encode\VirtualDubMod\VirtualDubMod.exe.ApplicationCompany
Please suggest one. I haven't come up with a good one yet.

So I went to check the VDM 0.1a source code, and it was there \VirtualDubMod-source_0.1a\VirtualDub.rc, VALUE "CompanyName", "Please suggest one. I haven't come up with a good one yet.\0".

Removing that line broke the context menu.

Then I went back to Google, and found this post (https://superuser.com/questions/1199648/strange-open-with-list-inconsistent-with-registry).

Hope this helps.

shekh
28th August 2018, 10:28
Have you seen this post? https://forum.doom9.org/showthread.php?p=1836511#post1836511
This is how I entered "openwith" association for myself on Win7.
In vdmod VersionInfo there is empty CompanyName. I don't believe this is different from not having CompanyName at all.
From what I see, adding "CompanyName" field provides extra line of information when I open "Choose program" dialog, but nothing else.

MeteorRain
28th August 2018, 21:40
Have you seen this post? https://forum.doom9.org/showthread.php?p=1836511#post1836511
This is how I entered "openwith" association for myself on Win7.
In vdmod VersionInfo there is empty CompanyName. I don't believe this is different from not having CompanyName at all.
From what I see, adding "CompanyName" field provides extra line of information when I open "Choose program" dialog, but nothing else.

I did, and actually I spent quite a few minutes without luck. I even tried both the global config (HKCR) and local config (HKCU IIRC) and no luck.

After I found out the information above, I used a resource hacker tool to inject the CompanyName into the binaries, and immediately (without any restart or reboot of anything) it appeared on the open with list. If you don't believe me, that's fine :) At very least I can inject the field into the binary by myself.

By the way, just saying that I'm using Windows 10, not 7. Things might have changed since.

shekh
28th August 2018, 23:42
After I found out the information above, I used a resource hacker tool to inject the CompanyName into the binaries, and immediately (without any restart or reboot of anything) it appeared on the open with list.

Great, I prepared to ask you to check this, but you already did :)
Is the empty string "" enough for CompanyName? Otherwise I need to decide something meaningful for it

MeteorRain
29th August 2018, 02:36
Empty string or single space does not work. A dot "." works. Still it might be better to put meaningful string like "VD2" or w/e you like.

18fps
31st August 2018, 11:22
Would it be possible to add a dpx option to the Export / Image sequence... form?

shekh
31st August 2018, 11:36
Would it be possible to add a dpx option to the Export / Image sequence... form?

Maybe, don't know much about dpx. Why is it needed? Is there some software which does not like tiff?
Also it is possible to setup external profile to export dpx, did you consider that?

18fps
31st August 2018, 11:44
Mostly because in film it's the standard, so it's useful if you have to give back the work (to the colleagues or the laboratory) after you've modified it in VirtualDub2. How the external profile works?

shekh
31st August 2018, 12:24
https://gist.github.com/shekh/c28db6ed8f826e3dda4e14fbe6c1369b

first you need to modify command line to point to actual ffmpeg.exe
then Options->External encoders->Import...

now you can use File->Export->Using external encoder...

18fps
31st August 2018, 13:04
Thank you!

poisondeathray
31st August 2018, 18:37
For the dpx vprof it should be -pix_fmt gbrp10le . Tested the input/output diff and it matches

You can add -start_number 0 if you want to start at zero (ffmpeg normally starts image sequence exports at "one" )

GillesH
10th September 2018, 08:07
Hello,

How to open a MOV clip in an AVS script with VirtualDub2 ?
I want to test this principle WITHOUT QuickTime installed. Is it possible ?
I give below the characteristics of my MOV Clip. It is not a simple H264/MOV.
This MOV Clip opens very well directly in VirtualDub2, but I want to do the same with an AVS script.
I suppose :

LoadVirtualdubPlugin(" ? .vdplugin", " ? ")
? = "MOV Clip Source"

I tested FFMS2 in script AVS and it works fine with this MOV Clip, but the indexing principle slowed the opening of the clip.
I would just like to use the VirtualDub2 FFMPEG vdplugin(s) in an AVS script to decode this type of MOV Clip.


Here are the MOV Clip MetaData / MediaInfo
General :
Format : MPEG-4
Format profile : QuickTime
Codec ID : qt 0000.02 (qt )
Writing application : Lavf57.25.100
IsTruncated : Yes

Video :
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Format settings, GOP : M=3, N=13
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits

Thanks for your advices. Merci.

Groucho2004
10th September 2018, 09:35
How to open a MOV clip in an AVS script with VirtualDub2 ?
I want to test this principle WITHOUT QuickTime installed. Is it possible ?
I'd use LAV Filters and DSS2Mod (https://forum.doom9.org/showpost.php?p=1699301&postcount=33).

LigH
10th September 2018, 10:21
I would use L-SMASH Works (LSMASHSource.dll) as AviSynth native plugin and use LSMASHVideoSource() because MOV is an ISO Media container, and the L-SMASH splitter can use the keyframe index chunk inside the MOV file.

I see no reason why anyone would try to use a VirtualDub2 input plugin in AviSynth, I am not even sure if that is possible at all (LoadVirtualDubPlugin loads video filter plugins = *.vdf, not input plugins).

Groucho2004
10th September 2018, 10:24
I would use L-SMASH Works (LSMASHSource.dll) as AviSynth native plugin and use LSMASHVideoSource() because MOV is an ISO Media container, and the L-SMASH splitter can use the keyframe index chunk inside the MOV file.So would I but the indexing time seems to be an issue so I suggested DSS2 to get around that.

LigH
10th September 2018, 10:52
LwLibavVideoSource creates an index file. LSMASHVideoSource does not, it uses the index inside the MOV, because MOV is an ISO Media container format.

Groucho2004
10th September 2018, 13:10
LwLibavVideoSource creates an index file. LSMASHVideoSource does not, it uses the index inside the MOV, because MOV is an ISO Media container format.Didn't know that. I should have read your post properly. :o

StainlessS
10th September 2018, 14:23
Yep, LSMASHVideoSource works great with ISO media, (in a work-in-progress function), is the first attempted source filter for any clip with below extensions.


Function IsISOFileName(String s) {
s=RT_GetFileExtension(s)
Return(s==".mov"||s==".mp4"||s==".m4v"||s==".3gp"||s==".3g2"||s==".mj2"||s==".dvb"||s==".dcf"||s==".m21")
}



Snippet

if(!c.IsClip) {
if(Prefer<=1) {
If(IsISOFileName(Ext)) {
FLGS=RT_BitSet(FLGS,0)
c = LSMASHVideoSource(vFN) RT_DebugF("LSMASHVideoSource Succeeds:",name=myName)
if(!SepAud) {
FLGS=RT_BitSet(FLGS,1)
try{
c=AudioDubEx(c,LSMASHAudioSource(vFN))
RT_DebugF("LSMASHAudioSource Succeeds:",name=myName)
} catch(msg) {
RT_DebugF("LSMASHAudioSource Fails:- '%s'",msg,name=myName)
}
}
}


EDIT: There is also a Try/Catch around above snippet.

GillesH
10th September 2018, 14:32
Thank you for your ideas. It's very nice!
I knew these possibilities.

With LSMASHVideoSource, I have a Avisynth crash: "Avisynth: breakpoint at 0x005D0E80"
This is probably related to the type of Apple Codec.

But I find it a pity not to use techniques that are always updated, like FFMPEG.
And since VirtualDub2 uses this technique, why not use it for AVS scripts.
When you open a Clip MP4 or MOV/Apple with VirtualDub2, there is no indexing, it's OK and it's fast.
Why not use these plugins for an AVS script ? Especially the avlib-1.vdplugin which must manage the MOV Apple.

I test again FFMS2 WITHOUT indexing. But I have not done all the tests yet. FFMS2 is probably the closest to the FFMPEG decoders.

Thanks again for your advice. Merci.

StainlessS
10th September 2018, 14:36
With LSMASHVideoSource, I have a Avisynth crash: "Avisynth: breakpoint at 0x005D0E80"
This is probably related to the type of Apple Codec.

Groucho, "Breakpoint", does that suggest some kind of debug version LSMash ? (EDIT: or even Avisynth)

EDIT: What versions of LSmash and Avisynth are you using ?