Log in

View Full Version : 720p decimation... which is better?


QuadraQ
29th March 2009, 10:13
I've got some over the air recordings of 720p 60fps material that was originally shot in film.

I've looked over the posts and I see two possible ways to handle the extra frames to restore the original film framerate.

The avs script is basically the same except for these two different approaches:

1) TDecimate(cycleR=3)

2) SelectEven().Decimate()

Since I'm not sure exactly what each is doing, and this is the first time I've tried to transcode 720p material, I'm not sure which of these I should go with. (Or maybe even another option I'm not aware of.)

Any help is most appreciated. Thanks.

scharfis_brain
29th March 2009, 11:10
use the approach that works better for you.

rebkell
29th March 2009, 16:23
I use TDecimate(CycleR=3) for most all of my 720P captures, the biggest problem are those animated logos that pop up at the bottom of the screen, some of them cover nearly a 1/4 to 1/3 of the bottom of the screen. Upcoming shows, animated station logos, etc... they sometimes cause the wrong frames to be dropped and cause jerky/stuttery video while they are on the screen.

Adub
29th March 2009, 18:55
Is there a way to just take your sampling data from the upper 2/3 of the picture then? You should be able do it with a simple crop and pass to TDecimate function via it's clip parameter.

Like so:

a=my main clip
b=a.crop(crop my 2/3)
a.TDecimate(b, cycleR=3)

Note: I don't know if this will work, it's just a theory. I have not tried it myself, and I could be completely wrong.

rebkell
29th March 2009, 19:09
Is there a way to just take your sampling data from the upper 2/3 of the picture then? You should be able do it with a simple crop and pass to TDecimate function via it's clip parameter.

Like so:

a=my main clip
b=a.crop(crop my 2/3)
a.TDecimate(b, cycleR=3)

Note: I don't know if this will work, it's just a theory. I have not tried it myself, and I could be completely wrong.


I'll give it a try, I think I've got a mental block when it comes to understanding the clip property in avisynth.

QuadraQ
29th March 2009, 19:58
I echo scharfi's point and also add that if you want a definitive answer you should post an unprocessed source sample. Universal recipes don't work in our field; everything is case by case.

How do I go about posting a sample? How long should it be?

I was really hoping to get an explanation of what each approach does to to the video, since that's part of the fun.

QuadraQ
29th March 2009, 20:05
You've been a forum member for 6 years and you never figured that out?!

There's stickie in the General section about it.

The length should be long enough to demonstrate your issue.

Well I haven't always been an *active* member. I'm just now getting back to doing some encoding again, so I've forgotten a lot of things. (And I don't think I've ever posted a sample, actually.) I'll look in the General section.

rebkell
29th March 2009, 20:51
Is there a way to just take your sampling data from the upper 2/3 of the picture then? You should be able do it with a simple crop and pass to TDecimate function via it's clip parameter.

Like so:

a=my main clip
b=a.crop(crop my 2/3)
a.TDecimate(b, cycleR=3)

Note: I don't know if this will work, it's just a theory. I have not tried it myself, and I could be completely wrong.

Doesn't seem to be working too well:
#1

a=AVCSource("G:\Junk\720PTests\FXHD_Test.dga")
b=CropBottom(a,240)
TDecimate(b, CycleR=3)



#2

AVCSource("G:\Junk\720PTests\FXHD_Test.dga")
b=CropBottom(240)
TDecimate(b, CycleR=3)

#1 and #2 converts the 1280,720 clip into 1280,480 with the bottom 240 cropped.

#3

a=AVCSource("G:\Junk\720PTests\FXHD_Test.dga")
b=CropBottom(a,240)
a.TDecimate(b, CycleR=3)

#3 Has this error:
Script Error:Invalid arguments to function "TDecimate"

QuadraQ
29th March 2009, 23:36
OK, I checked the general discussion thread about posting samples. For some reason I thought there might be some dedicated space for this on the doom9 server with special rules about it's use, but that's obviously wrong.

Anyway, I used VideRedo to cut a short clip at the beginning which includes some of the lower thirds stuff mentioned, and output the raw streams. I've zipped them up and put them on my webserver for anyone to download who's interested. About 124MB. Here's the link: SampleVideo.zip (http://www.miscbackup.info/SampleVideo.zip) If that's too big I could do a shorter clip.

I've noticed some stuttering in encodes I've done before with a 1080i source when the lower thirds show up, so I'm intrigued by the idea of only using the top portion of the frame to determine the deinterlacing. I could post a clip of that as well if anyone wants to mess with it.

Still curious to know how TDecimate(cycleR=3) and SelectEven().Decimate() actually work. Maybe this isn't the appropriate area to ask about that though.

QuadraQ
30th March 2009, 02:55
The video I'll be using as my source is from VideoReDo. It's what I use to cut the commercials and get the DVR-MS source into a form that's more usable (.mpv and .ac3 files). I could do an ffmpeg extraction of the dvr-ms file and use DGSplit to cut it, but it wouldn't be an example of what I'm actually using as the source file for my transcoding.

As far as I can discern from the threads I've read on the matter and from VideoReDo's site the cuts are mostly simple copies of the mpeg2 stream in the dvr-ms container, coupled with short encodes to correct the GOPS between cuts. In this case there would be very little of that since it doesn't have to join two cuts in this sample. The real issue I ran into before I purchased VideoReDo was serious audio/video sync problems. VideoReDo was the only program that seemed to handle the cuts without these hassles.

ACrowley
7th April 2009, 12:48
one Question about 720p 50fps :

German Free TV HD Channels (ArteHD,1FestivalHD, ARD-ZDF soon)..) are broadcasting in 1280x720p 50fps

I use selectEven() to bring it back to 25fps. It works without Problems. No juddder and it palys smooth

I assume that selecteven() cant cause Problems (judder,async etc) ? So Should be a lossless Process ?
Or is there a better/faster Way to restore 25fps ?

rebkell
10th April 2009, 06:12
Is there a way to just take your sampling data from the upper 2/3 of the picture then? You should be able do it with a simple crop and pass to TDecimate function via it's clip parameter.

Like so:

a=my main clip
b=a.crop(crop my 2/3)
a.TDecimate(b, cycleR=3)

Note: I don't know if this will work, it's just a theory. I have not tried it myself, and I could be completely wrong.

As a follow up to this, tritical told me how to do it:

for 1080i 29.97 FPS I use:
tfm()
saved=last
CropBottom(240)
TDecimate(clip2=saved)

for 720P 59.94 FPS I use:
saved=last
CropBottom(240)
TDecimate(clip2=saved, CycleR=3)

so far it's been working great, it ignores all the swirling logos and crazy stuff the networks are putting in the shows, the cropped frame is used for determining which frames to drop, but it outputs the uncropped clip2 frame when serving the video.

QuadraQ
16th April 2009, 19:43
...so far it's been working great, it ignores all the swirling logos and crazy stuff the networks are putting in the shows, the cropped frame is used for determining which frames to drop, but it outputs the uncropped clip2 frame when serving the video.

Awesome I'll give that a try the next chance I get!

ACrowley
18th April 2009, 09:01
one Question about 720p 50fps :

German Free TV HD Channels (ArteHD,1FestivalHD, ARD-ZDF soon)..) are broadcasting in 1280x720p 50fps

I use selectEven() to bring it back to 25fps. It works without Problems. No juddder and it palys smooth

I assume that selecteven() cant cause Problems (judder,async etc) ? So Should be a lossless Process ?
Or is there a better/faster Way to restore 25fps ?

I dont want to harry you.....
But can somebody tell me if iam safe with selecteven() on 1280x720 (full progressive Frames) 50FPS?
Every 2nd duplicated Frame should be removed to get 25FPS without Judder/deleting "good Frames" ? Output looks fine so far.

Or should i prefer encoding to 50FPS ? I mean theres no disadvantge. My HW Players can handle 50Fps 720p very well.