Page 12 of 12

Re: DGDecomb

Posted: Sat Jun 24, 2017 11:33 am
by Sharc
Seems like I have a blackout, but how can I IVTC a 59.94 telecined 25fps source using DGTelecide() and DGDecimate() such as to get the 25.00 fps progressive source back?
(I think the 59.94 telecined material is 3:2:3:2:2 telecined)

Re: DGDecomb

Posted: Sat Jun 24, 2017 12:05 pm
by admin
Please post a sample. There are too many uncertainties in your post to comment yet.

Re: DGDecomb

Posted: Sat Jun 24, 2017 1:56 pm
by Sharc
Here is a sample (sorry for the confusion, I meant a 25 => 29.97 telecined source, not 59.94)
http://www.mediafire.com/file/by4ykayn2dmotwx/ma_30i.ts

Re: DGDecomb

Posted: Sat Jun 24, 2017 5:41 pm
by admin
This script makes the video 25 fps.

dgsource("C:\Users\Don\Downloads\ma_30i.dgi")
dgtelecide()
dgdecimate(cycle=6,keep=5) # makes 24.975 fps
assumefps(25)

The stream has no audio, so I could not assess whether the 24.975 vs. 25 will be an issue. Worst case, you may need to shrink the audio a bit, or leave it at 24.975 if your target format accepts that.

Re: DGDecomb

Posted: Sun Jun 25, 2017 5:06 am
by Sharc
Thanks! I came to the exactly same conclusion with my experiments, but I thought I might have missed something. So there is no "direct route" for IVTCing this by field matching plus m by n decimation to hit the 25.00fps

Actually, it is not a real problem. I just bumped across it when I converted a 25p (deinterlaced mpeg2 PAL 25i home video) to 29.97i using good old DGPulldown, and encoding it to AVC (x264). When inspecting the hard-telecined alternating 3p-3c-3p-3c ... and 4p-2c-4p-2c... pattern every about 100 frames (p=clear, c=combed frame) I wondered how the heck to IVTC this properly. :o

Re: DGDecomb

Posted: Sun Jun 25, 2017 6:48 am
by admin
For your 29.97 fps file of 1524 frames, there is no choice of M and N that exactly gives 25.000 fps. You can get a little closer to it with TDecimate because TDecimate allows a cycle up to the size of the file. For example, this gives 25.014 fps:

tdecimate(cycleR=252,cycle=1524)

The problem really arises because pulldown from 25 to 29.97 cannot exactly hit 29.97 unless the number of frames is very large. As long as you decimate the added fields then assumefps(25) will recreate the original file.

Re: DGDecomb

Posted: Sun Jun 25, 2017 10:00 am
by Sharc
Ah I see, very clear. We can't take the total frame number out of the equation. Thank you.

Re: DGDecomb

Posted: Sun Jun 25, 2017 10:36 am
by admin
You're welcome, Sharc. It's always my pleasure to discuss interesting problems with you.

DGDecomb

Posted: Mon Jun 06, 2022 2:51 pm
by Guest 2
I am a spring chicken about inverse telecine, pulldown etc, so be kind to me ;)

I need to port the script

Code: Select all

DGSource("F:\In\Stand Alone Complex\01 Sezione 9, pubblica sicurezza\01.dgi", ct=24,cb=24,cl=0,cr=0)
tfm(mode=1,pp=5,slow=2,micmatching=2,clip2=tdeint(mode=2,type=3))
tdecimate()
to a CUDA accelerated version of it, as I need to convert the following

Code: Select all

Video
ID                             : 1
ID in the original source medi : 4113 (0x1011)
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : High@L4.1
Format settings                : CABAC / 2 Ref Frames
Format settings, CABAC         : Yes
Format settings, Reference fra : 2 frames
Codec ID                       : V_MPEG4/ISO/AVC
Duration                       : 26 min 13 s
Bit rate mode                  : Variable
Bit rate                       : 29.4 Mb/s
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Variable
Frame rate                     : 59.940 (59940/1000) FPS
Original frame rate            : 29.970 (30000/1001) FPS
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Interlaced
Scan type, store method        : Separated fields
Scan order                     : Top Field First
Bits/(Pixel*Frame)             : 0.236
Stream size                    : 5.38 GiB (84%)
Language                       : Japanese
Default                        : Yes
Forced                         : No
Original source medium         : Blu-ray
to 23.976 keeping time lenght.

I need help :)

P.S: It's the same file type of the link https://send.cm/d/BykZ posted in my delay difference thread.

DGDecomb

Posted: Mon Jun 06, 2022 6:35 pm
by Rocky
Well, you start with:

DGSource()
DGTelecide()
DGDecimate()

and then tweak if needed, although it seems to work fine on "03 Una piccola ribellione.mkv". I would need the source to help with tweaking. And maybe we will need to add some additional functionality. Nobody ever seemed that interested in these filters so I stopped early.

DGDecomb

Posted: Tue Jun 07, 2022 2:19 am
by Guest 2
Rocky wrote:
Mon Jun 06, 2022 6:35 pm
I would need the source to help with tweaking.
Thanks Rocky, I used the very same example in DGSource documentation and it worked flawlessly.

The episode is of the same BD, so it maintains the same properties..

I can't tell the quality difference, as I am a deinterlace noob. ;)
Rocky wrote:
Mon Jun 06, 2022 6:35 pm
Nobody ever seemed that interested in these filters so I stopped early.
Perhaps they had not enough exposure on other forums. They seem to work really well.

DGDecomb

Posted: Tue Jun 07, 2022 9:08 am
by Rocky
Super happy you find the filters working good for you. I'm always willing to keep working on them, so let me know if you run into any issues. As always, for CUDA filters, we make some trade-offs for speed but still we want to maintain an acceptable quality level.