PDA

View Full Version : Some problem of vfapi for dgindex


wolfsoft
15th April 2005, 15:12
When I created a d2v file, I was opening it by TMPGEnc. But the positions of image moving would have some streaks. I think it would be a problem of vfapi, because there are nothing in avs with DGDecode.dll. I hope neuron2 to fix this bug.

The first and the third pictures are created by DVD2AVI, the second and the forth pictures are created by DGIndex.

wolfsoft
15th April 2005, 15:14
picture1

http://photoimg3.qq.com/cgi-bin/load_pic?verify=wIp%2Bj9CzLra6CMJfDwRiag%3D%3D

picture2

http://photoimg8.qq.com/cgi-bin/load_pic?verify=sxnVHLsHw3wX76cKs2l8jQ%3D%3D

picture3

http://photoimg9.qq.com/cgi-bin/load_pic?verify=0Km5FXOAf8R49ObsZkqEhQ%3D%3D

picture4,look at the eyes and chest

http://photoimg8.qq.com/cgi-bin/load_pic?verify=ZL4aAT5uv0UcLcLkF2QIlw%3D%3D

neuron2
15th April 2005, 15:30
Where are the other pictures? Also, what versions of DGIndex and DGVfapi did you use?

wolfsoft
15th April 2005, 15:52
Originally posted by neuron2
Where are the other pictures? Also, what versions of DGIndex and DGVfapi did you use?

Sorry, my ISP is too slowly to upload my pictures.
I use the dgmpgdec130 and dvd2avi 1.77, and preview the images by TMPGEnc Plus-2.521.58.169.

neuron2
15th April 2005, 20:49
Originally posted by wolfsoft
Sorry, my ISP is too slowly to upload my pictures.
I use the dgmpgdec130 and dvd2avi 1.77, and preview the images by TMPGEnc Plus-2.521.58.169. Please upload a VOB fragment containing the bad scene to my FTP server and then inform me via PM of its filename. Thank you.

neuron2
16th April 2005, 04:47
I have received the VOB and looked at it. I am unable to recreate your pictures 2 and 4 with DGMPGDec 130b5/DGVFapi 1.2.1 (latest versions).

Please state the exact process you used for producing pictures 2 and 4. Did you, for example, apply any deinterlacing or other filters? If so, try again without any filters.

I made the vfapi AVI and then opened it in VirtualDub, and saw no problems. Have you tried that? Maybe TMPGEnc is applying some filtering.

Also, please make sure that TMPGEnc is using the DGVfapi executable and not some other one. The fact that you've been trying with the older DVD2AVI suggests that this may be an issue. Use the "Option/Environmental setting.../VFAPI plug-in" screen to see and configure the VFAPI reader to be used. DGVfapi 1.2.1 should be the only D2V reader checked. I've not released a 1.3.0 DGVFapi yet, but 1.2.1 works fine with DGIndex/DGDecode 1.3.0b5.

EDIT: I just tried with TMPGEnc and, again, I cannot produce your pictures 2 and 4. Please tell me exactly how you produced them, including every step and all scripts, if the above suggestions do not help.

wolfsoft
16th April 2005, 12:15
I take the images from setting=>Advanced=>Inverse telecine(User setting)(with top field first). There are many "b" frame take the streak. In fact you can take the differents between them by this script:
avisource("test_d2v_vfapi.avi")
doubleweave()

Then open it by VDM, you can see the streak at 119~120, 209~254, and so on.
With this vob, DVD2AVI take less 6 frames than DGIndex. You can compare them with the corresponding frames of DVD2AVI's.

In fact I'm afraid that it would harm the veracity of IVTC.

neuron2
16th April 2005, 14:12
There is no problem in DGVfapi.

I don't know what else to tell you, since you don't want to follow my debugging procedure or provide the exact steps as I requested, leaving me unable to duplicate your result.

wolfsoft
16th April 2005, 18:14
Originally posted by neuron2
There is no problem in DGVfapi.

I don't know what else to tell you, since you don't want to follow my debugging procedure or provide the exact steps as I requested, leaving me unable to duplicate your result.

Hummm......

Open the d2v by TMPGEnc, then press setting, enter "Advaced", take "Field order" as "Top field first". Then double click "Inverse telecine", you can enter a window that display the images. In this window, TMPGEnc takes one frame to two fields, and mixes them again.(for example, there are three frames:A, B, C, TMPGEnc takes them as At, Ab, Bt, Bb, Ct, Cb(t = top,and b = bottom), then mixes them as AtAb(0a), AbBt(0b), BtBb(1a), BbCt(1b), CtCb(2a). We can see 5 frames in this window.) You can find the images with the problem from there .
59b, 60b, 65b, 66b, 69b, and so on....

neuron2
16th April 2005, 18:39
Can you demonstrate any problem in the absence of this TMPGE filter?

For example, if you serve vfapi.avi directly to VirtualDub (using field operation FF or None in DGIndex), there are no blending artifacts. I conclude that DGVfapi is fine and the "problem" is in TMPGE. I put that in quotes because I am not familiar with this IVTC method and it may be an expected result.

If you wish, I can move this to the TMPGE forum.

SeeMoreDigital
16th April 2005, 18:39
Originally posted by wolfsoft
Sorry, my ISP is too slowly to upload my pictures. Use ImageShack (http://www.ImageShack.us/) to host your images?


Cheers

wolfsoft
16th April 2005, 20:20
Originally posted by neuron2
Can you demonstrate any problem in the absence of this TMPGE filter?

For example, if you serve vfapi.avi directly to VirtualDub (using field operation FF or None in DGIndex), there are no blending artifacts. I conclude that DGVfapi is fine and the "problem" is in TMPGE. I put that in quotes because I am not familiar with this IVTC method and it may be an expected result.

If you wish, I can move this to the TMPGE forum.

I don't think so. Now I give you a comparison between vfapi and decoder for avs:

LoadPlugin("C:\Program Files\AviSynth 2.5\DGDecode.dll")
mpeg2source("dgindex.d2v")

doubleweave()

http://photoimg9.qq.com/cgi-bin/load_pic?verify=WkjNTQ%2BO3b4r4J9UWNuI7Q%3D%3D

avisource("dgindex_d2v_vfapi.avi")

doubleweave()
http://photoimg7.qq.com/cgi-bin/load_pic?verify=yUmf1aKWYrmCDqAD3stsHg%3D%3D

Both of those are at the frame number of 221.

Cyberia
16th April 2005, 20:53
What settings did you use to create the d2v file? (ForceFilm?, None?, Raw?)

wolfsoft
16th April 2005, 20:56
Originally posted by Cyberia
What settings did you use to create the d2v file? (ForceFilm?, None?, Raw?)

Of couse "None". Because I like making a manual ivtc.

neuron2
17th April 2005, 06:36
There are two issues.

1. Avisynth defaults AVI's to BFF so if you do this, you'll get the fields correct:

avisource("dgindex_d2v_vfapi.avi")
assumetff()
doubleweave()

But you can see the streaking around her shoulders and elswhere. That is the second, more serious, problem.

2. VFAPI always delivers RGB, so it has to upsample chroma. Currently, it follows the progressive-frame flag for each frame and upsamples as interlaced or progressive on a per frame basis. Either your VOB is showing a well-known problem on some DVDs, in which the progressive_frame flag is unreliable, or DGVfapi is not correctly following the progressive_frame flag. You can prove that this is the cause by loading the clip like this (not through VFAPI):

MPEG2Source("E:\tmp\wolfsoft\test.d2v")
converttoyuy2(interlaced=false)
doubleweave

You'll see the same artifacts.

I need to investigate further to see if this is a bad VOB or a problem in DGVfapi. The fact that setting upConv=true for DGDecode does not produce the artifact suggests that the VOB is OK, so I'll look at DGVfapi in detail tomorrow.

The obvious solution is to not use VFAPI, and serve your AVS file into TMPGE.

If it is a problem in DGVfapi, I will repair it.

Otherwise, for such cases, we could consider adding an option to DGIndex to force upsampling for VFAPI to be always interlaced or always progressive. We'd have to add a new line to the D2V file and modify DGDecode/DGVfapi to honor it.

But VFAPI is deprecated nowadays. Is there some reason why you must use it?

EDIT: Well, it seems that you are correct. DGVfapi is not properly following the progressive_frame flag for upsampling to RGB. DGDecode is correct, however. Looks like what I'm going to have to do is have DGVfapi force upConv=true in DGDecode and then receive upsampled 4:2:2 frames from DGDecode for conversion to RGB, instead of 4:2:0 frames.