Log in

View Full Version : Pulldown of 25 fps to NTSC


Pages : 1 2 3 4 5 6 7 [8] 9 10

johnruiz
28th March 2005, 07:31
Originally posted by spon
In case anyone else wants to try this method, what I did in DVD2SVCD was simply click on the "edit before video encoding" button in the FrameServing tab. Then when the avisynth script opened up I changed the encoding size to 720*480. That way it produced a PAL video with NTSC size. Then after running it thru DGPulldown it worked great!

Tried this method last night, couldn't get it to work.

Dvd2Svcd would not resize to NTSC (720.480)
unless I add an NTSC framerate(23.976)into avisynth.

What am I missing?
Do I need to adjust any other settings?

Edit:Found a solution.

Guest
28th March 2005, 15:14
Originally posted by scotty47
I am new to burning movies, when i tried to join 3 files in Lab pro the files are mpeg, it would not join them and said they were pal format, how can I check if something is in pal. thanks.......scotty This seems unrelated to this thread.

PAL will be 25fps and typically have a height of 576.

scotty47
28th March 2005, 15:25
Opp's Sorry.........................scotty47

nnigam
28th March 2005, 21:48
I have read this long, and informative thread. I plan to try this tonight. My source is a home video dvd I received with a mpeg file which is 720x576 progressive, 25fps pcm audio. I demuxed this with dgindex. Converted the wav to ac3 format. Then pulled the ac3 and the m2v into dvdauthor checking this as a ntsc dvd. It did the conversion correctly and audio synched up. It played perfectly on my pc, but the dvd player showed color overlays, offset picture etc.

I plan on trying dgpulldown tonight, but I was wndering if the color space had anything to do with my problem when creating the m2v with avisynth script in quenc. My original file though of PAL dvd specs was not a dvd file but a simple mpg file.

Also, I read somewhere about fixing the frame rate in video that has different frame rates. Will this work on TS files. I have several where the advertisements are at a different frame rate then the program causing an audio synch errors.

video
31st March 2005, 11:49
neuron2.. almost there.

so I've started with an ntsc dvd, tv series, progressive (dead like me, complete season 1).
tried to transcode to pal. DGIndex told, that it's safe to do, so i froced film.
i did 1x02.avs as:

mpeg2source(1x02.d2v, cpu2="oooooo", idct=7)
lanczosresize(720, 576)

then encoded it with hank's HC-12, 2 pass, progressive, 23.976 fps, gopsize 12, 2 b-frames
after that i instrumented 1x02.m2v with DGpulldown 23.976->25, got 1x02.pulldown.m2v
remuxed with audio, and dvd-authored.
an rw disc is burnt and put into rotel rdv-1050, i set up for progressive output and expected 23.976fps on component, but it wasn't 23.976. it was telecined 25fps. feeding back 1x02.pulldown.m2v to DGIndex, it says NTSC 87% :rolleyes:
what did i wrong?

Guest
31st March 2005, 14:38
@video

You start with an NTSC DVD. There is no need to use DGPulldown at all.

Tell me exactly what you are trying to accomplish. Without knowing that I can't tell you where you went wrong.

It sounds to me like you used DGPulldown to flag 23.976 to 25fps. Then you complain that the output is flagged 25fps???

If it's a player issue you are raising, I don't know anything about how progressive players would handle this. But why bother flagging if you want progressive playback?

video
31st March 2005, 15:57
Originally posted by neuron2
@video

You start with an NTSC DVD. There is no need to use DGPulldown at all.

Tell me exactly what you are trying to accomplish. Without knowing that I can't tell you where you went wrong.

It sounds to me like you used DGPulldown to flag 23.976 to 25fps. Then you complain that the output is flagged 25fps???

If it's a player issue you are raising, I don't know anything about how progressive players would handle this. But why bother flagging if you want progressive playback?

may I ask back? Why does MGM telecine 23.976fps up to 29.97? :D I wanted to achieve the same.
with a progressive display i intended to have 23.976fps however i wanted to make the disc playable on conventional PAL tv/player, too ;)

if i encode with gop size 24, may it work, what do you think?

Guest
31st March 2005, 17:08
Originally posted by video
May I ask back? Why does MGM telecine 23.976fps up to 29.97? :D I wanted to achieve the same. Then why did you pull it down to 25fps?

however i wanted to make the disc playable on conventional PAL tv/player, too ;) You can flag it to 25 or 29.97. There's no way to do both at the same time.

if i encode with gop size 24, may it work, what do you think? It will not work.

video
31st March 2005, 18:01
Originally posted by neuron2
Then why did you pull it down to 25fps?

because most of the tv sets here doesn't support 23.976fps progressive, neither ntsc and nor even pal60, i mean 15+ yeras old tv sets. oops i may try not pull it down at all, leave it 23.976, but i feel that's illegal for a dvd...

Originally posted by neuron2
You can flag it to 25 or 29.97. There's no way to do both at the same time.

afaik i didn't flag it 29,97

Originally posted by neuron2
It will not work.
sad news...

manono
31st March 2005, 19:35
I don't understand, video. Didn't your DVD play OK on your player? From what I can gather, it played fine on yours, but you're afraid it may not play well on other players? The only way to be sure is to try on as many other players and TV sets as possible, but my guess (not being in a PAL area) is that it will play well on all of them.

an rw disc is burnt and put into rotel rdv-1050, i set up for progressive output and expected 23.976fps on component, but it wasn't 23.976. it was telecined 25fps. feeding back 1x02.pulldown.m2v to DGIndex, it says NTSC 87%

That's to be expected. Sounds just right. If you have an all progressive setup, you should get back all progressive frames when played. Advance a frame at a time with your player and check. I've used DGPulldown with many different basic framerates, not just PAL 25fps to NTSC 29.97fps, and they all play well on mine and all the others on which I've tested.

video
31st March 2005, 19:59
Originally posted by manono
If you have an all progressive setup, you should get back all progressive frames when played. Advance a frame at a time with your player and check. I've used DGPulldown with many different basic framerates, not just PAL 25fps to NTSC 29.97fps, and they all play well on mine and all the others on which I've tested.

24 frames in a gop and works :) i mean 23.976 when progressive mode turned on, and telecined 25fps when progressive mode turned off. - however, a 24 frame gop is a little bit out of spec, afaik. i feel that rotel might get confused on this telecine. 23.976->25 mean the player should out approx. 25 frames from 24, and the gop size is 12, so it's a sequence of gops having rff frames and not having rff frames.

manono
31st March 2005, 20:53
Actually I said that a bit wrong last time. Of course you'll get back all progressive frames on a progressive display. What I meant to say is that you should get back only the stored frames, and not the telecined additional frames. Since the "deinterlacing" chipsets in most Progressive Scan DVD players are better than those in the HDTVs, I don't know why you'd want to output 480i to the TV, letting it take over the "deinterlacing". Maybe you're just testing. But mine's a cadence reader, and maybe flag readers behave differently (and worse). Of course, when played on a standard interlaced PAL TV set, the telecined 25fps will be played.

Xesdeeni
31st March 2005, 22:43
Speaking of that. I have a cheap progressive DVD player. It handles the handful of movies I've viewed pretty well. But I have some educational cartoons for my daughter that it can't handle at all. As with most cartoons, they're even less than 24 fps (although I haven't checked to see exactly how much less). I'm assuming the flags are such that the player gets confused. What's the best way to fix them? Do I have to re-encode to ensure progressive encoding? Do I need to run the extracted MPEG through a utility to strip the flags before I try DGPulldown? Or do I need more specific info before you can suggest a course? If so, what tool would give me the flag info?

Xesdeeni

mpucoder
31st March 2005, 22:47
Maybe there's nothing wrong with the flags? Have you tried the cartoon on a software player, or another standalone?

video
31st March 2005, 22:50
Originally posted by manono
Actually I said that a bit wrong last time. Of course you'll get back all progressive frames on a progressive display. What I meant to say is that you should get back only the stored frames, and not the telecined additional frames. Since the "deinterlacing" chipsets in most Progressive Scan DVD players are better than those in the HDTVs, I don't know why you'd want to output 480i to the TV, letting it take over the "deinterlacing". Maybe you're just testing. But mine's a cadence reader, and maybe flag readers behave differently (and worse). Of course, when played on a standard interlaced PAL TV set, the telecined 25fps will be played.

manono okay. yes it was about testing how to do the best ntsc-pal transcode from progressive ntsc source. traditional way, such as speed up and resample/recode audio has a lot of drawbacks. companies like MGM do this, because they have the audio on 24/192 or similar LPCM or MLP format, but if you transcode a dvd it's about redo a lossy compression with pitch artifacts (speeding up soundtrack). professionals have expensive and good audio tool suite to even preserve pitch of the speeded up soundtrack. hobbist may not have such an advanced tool.
So the morale for me:
with the 12:13 pulldown
+ no need of tampering the subtitle timestamps
+ audio is perfectly preserved
- 12:13 pulled down ntsc film may not output 23.976fps on progressive pb enabled standalone players, but 25 fps guaranteed. Visually it's not that bad as 2:3 pulled down ntsc

bottom line: worth doing this :)

ps: i am so sorry if i've made somebody upset

Xesdeeni
31st March 2005, 22:58
Originally posted by mpucoder
Maybe there's nothing wrong with the flags? Have you tried the cartoon on a software player, or another standalone? I didn't say there was anything wrong with the flags, I said the player can't handle them. The player was listed in a shootout where it had problems with some types of flags. But it doesn't have problems with what we consider "straightforward" flags. I was just asking how to convert these DVDs to this format (since I'll probably want to duplicate the DVDs to save them from my daughters' replay fever anyway :) ).

I don't have another progressive player. I'll try a software player (in our study) or the MyHD card (usually busy recording HD). But the standalone is what we use to view DVDs.

BTW, if I switch the DVD to interlaced output and let the TV deinterlacer, it looks much better (but that's too complicated for my wife, and still can have some BOB sometimes).

Xesdeeni

Guest
31st March 2005, 23:35
Originally posted by Xesdeeni
Or do I need more specific info before you can suggest a course? If so, what tool would give me the flag info?
You can create a D2V using DGIndex on the VOBs. The flags are then available (in display order) as bits 0 and 1 of the frame flags digits:

bit 0 = RFF
bit 1 = TFF

For example, for normal pulldown, you'd see:

... x0 x1 x2 x3 x0 x1 x2 x3 ...

If you'd like to upload a VOB fragment to my server, I'd be happy to have a look at it.

video
1st April 2005, 01:05
oh.. oh.. some little problem. a cheapo pal player when outputs 16:9 to a 4:3 tv, plays my 12:13 pulled down movie with jumps up a down one pel, twice a second. :( kinda field operation interfers with vertical decimation?

Xesdeeni
16th May 2005, 22:28
Sorry it's been so long, but life gets in the way of important things :-)
Originally posted by neuron2
You can create a D2V using DGIndex on the VOBs. The flags are then available (in display order) as bits 0 and 1 of the frame flags digits:

bit 0 = RFF
bit 1 = TFF

For example, for normal pulldown, you'd see:

... x0 x1 x2 x3 x0 x1 x2 x3 ...
What do you make of:...
800 1 0 779386880 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 779849728 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 780193792 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 780587008 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781015040 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781447168 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781858816 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
...?
If you'd like to upload a VOB fragment to my server, I'd be happy to have a look at it. Any suggestions on the best tool to extract the data without modifying it?

Xesdeeni

Guest
16th May 2005, 22:37
Originally posted by Xesdeeni
What do you make of:...
800 1 0 779386880 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 779849728 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 780193792 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 780587008 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781015040 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781447168 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
800 1 0 781858816 4 9 32 32 92 b2 b2 a2 b2 b2 a2 b2 b2 a2
...?
Any suggestions on the best tool to extract the data without modifying it?
That's all top field first with no pulldown. It may be hard telecined but you can't tell that from this.

I don't know what you mean by your last question. The final digit of the flag bytes is the traditional, 0/1/2/3 described many times here.
If you see 1's or 3's, there is pulldown. 0 means two fields with bottom first; 1 means 3 fields with bottom first and bottom repeated; 2 means two fields with the top field first; 3 means 3 fields with the top field first and top repeated.

mrslacker
16th May 2005, 22:44
While this is on the table, what is the first digit of the flag bytes? I've lost track of the meanings when dgdecode has evolved.

Guest
17th May 2005, 00:51
From the D2V format document contained in the distribution ZIP file :)

The sequence of flags fields contains per-picture data corresponding
to the pictures in *display* order, i.e., the flags fields are re-ordered
into display order. Each per-picture flags field is an 8-bit hex number
bit-mapped as follows:

bit 0: rff flag.
bit 1: tff flag.
bits 3-2: reserved (0).
bits 5-4: picture_coding_type (I = 1, P = 2, B = 3).
bit 6: progressive_frame (0 = interlaced, 1 = progressive).
This specifies that the picture is part of a frame
(either a frame picture making up the entire frame, or a
field picture making up one of the fields of the frame) whose
fields are sampled at one moment. A RFF flag may be present
however, such that the *displayed* frame after pulldown is
interlaced.
bit 7: 1 if the picture is decodable without referring to the
previous GOP, else 0.

End of stream is signaled with a flags field value 0xff, so the field
is written as ff.

EDIT: Corrected the document error which had bits 6 and 7 swapped.

Xesdeeni
17th May 2005, 14:14
Originally posted by neuron2
That's all top field first with no pulldown. It may be hard telecined but you can't tell that from this.So that means it was encoded as progressive frames, but with interlacing? (i.e. there are progressive frames with fields from two different film frames--maybe that's what you mean by "hard telecine"?) If that's right, I can't just modify the flags to eliminate the combing on my cheap DVD player, right? I'd have to re-encode.I don't know what you mean by your last question.You stated:If you'd like to upload a VOB fragment to my server, I'd be happy to have a look at it.But any tool I would use to do this would modify the VOB to another format, like MPEG. What tool do you recommend to extract a bit of the VOB but leave it in VOB (TS?) format?

Xesdeeni

Guest
17th May 2005, 14:38
Originally posted by Xesdeeni
But any tool I would use to do this would modify the VOB to another format, like MPEG. What tool do you recommend to extract a bit of the VOB but leave it in VOB (TS?) format?
Use a VOB cutter, e.g., VOBSplit. I'll answer your other questions after seeing the VOB fragment.

manono
17th May 2005, 14:59
Hi Xesdeeni-

I can't speak for neuron2, and he's more than welcome to correct and/or amend what I'm about to say.

So that means it was encoded as progressive frames, but with interlacing?

It was encoded as interlaced. Now, it may be truly interlaced (all frames from 2 different points in time), or it may have been telecined prior to encoding (hard telecine). When trying to tell which you have, make a non-ForceFILM .d2v with DGIndex and open it in something where you can advance a frame at a time-I use GKnot. If interlaced, every frame is interlaced, and if hard telecined, you'll see the evidence of the telecine-3 clean progressive frames followed by 2 interlaced frames. That kind is stored that way on the DVD, at 29.97fps, as opposed to progressively encoded FILM, where 23.976fps is stored on the DVD, with the flags set to output 29.97fps.

If that's right, I can't just modify the flags to eliminate the combing on my cheap DVD player, right? I'd have to re-encode.

That's correct. If hard telecined, you can reencode with an IVTC in the .avs to get back the original 23.976fps, and then run Pulldown afterwards to have your player output 29.97fps. Do you really see combing when you play that kind? This is on a computer or HDTV? Those things are supposed to at least deinterlace it. No software players and relatively few hardware DVD players can perform an on-the-fly IVTC to output clean frames, and about all they'll do is to deinterlace it. That's one reason why hard telecine is such nasty stuff; that and the fact that precious bits are being wasted on encoding 29.97fps, where 23.976fps could have been encoded. It doesn't make much difference when played back over a standard interlaced TV set, though.

What tool do you recommend to extract a bit of the VOB but leave it in VOB (TS?) format?

I don't know what a VOB (TS) is, but the Doom9 Download section has a couple of Vob cutters. You might try Chopper XP. Others include MPEG2Cut and VobSplit.

Edit: I see that while I was typing, neuron2 answered. Since I spent all this time typing it up, then you have to read it. :)

Xesdeeni
17th May 2005, 16:52
Originally posted by manono
So that means it was encoded as progressive frames, but with interlacing?

It was encoded as interlaced.What specific part of the D2V are you looking at. Isn't each line a GOP? And in that excerpt, aren't there 12 frames per GOP, as indicated by the last 12 columns? If so, it looks like the first 2 frames are interlaced, but the other 10 are interlaced, based on the bit descriptions above.Now, it may be truly interlaced (all frames from 2 different points in time), or it may have been telecined prior to encoding (hard telecine). When trying to tell which you have, make a non-ForceFILM .d2v with DGIndex and open it in something where you can advance a frame at a time-I use GKnot. If interlaced, every frame is interlaced, and if hard telecined, you'll see the evidence of the telecine-3 clean progressive frames followed by 2 interlaced frames. That kind is stored that way on the DVD, at 29.97fps, as opposed to progressively encoded FILM, where 23.976fps is stored on the DVD, with the flags set to output 29.97fps.I've used an AVISynth script with DGMPGDec.dll and VirtualDub. But if the flags were set as expected on a progressive stream, wouldn't you see the exact same thing? I thought when you view the output, you can't be sure whether a frame was encoded progressive or interlace or whether the flags are doing the work.If that's right, I can't just modify the flags to eliminate the combing on my cheap DVD player, right? I'd have to re-encode.

That's correct. If hard telecined, you can reencode with an IVTC in the .avs to get back the original 23.976fps, and then run Pulldown afterwards to have your player output 29.97fps. Do you really see combing when you play that kind? This is on a computer or HDTV?This is on a cheap progressive DVD player on an HDTV. If I set the DVD for progressive, I get combing. If it set it for interlaced output, the TV deinterlaces fine. But I like to leave the DVD player in progressive mode, since it works well for most movies. Changing to interlaced is too much for my wife and kids. Of course, they don't really notice the combing, but it bugs me :-)

Xesdeeni

Guest
17th May 2005, 17:31
Sorry, there is a bug in the document (but not in the code). Bits 6 and 7 are swapped.

Guest
17th May 2005, 17:38
Originally posted by Xesdeeni
I've used an AVISynth script with DGMPGDec.dll and VirtualDub. But if the flags were set as expected on a progressive stream, wouldn't you see the exact same thing? I thought when you view the output, you can't be sure whether a frame was encoded progressive or interlace or whether the flags are doing the work. If you have no RFF flags in the D2V and you see this pattern, then it is hard telecined. If you see RFF flags and this pattern then it is pulldown telecined. In the latter case, if you use field operation RAW, you will not see any combed frames.

manono
17th May 2005, 18:39
Hi-

What specific part of the D2V are you looking at?

All the 2's in the .d2v. If it had been encoded as Progressive, it would have gone 0 1 2 3 0 1 2 3. Run the Vobs through DGIndex and you'll see that it's NTSC/Interlaced. Theoretically it could be Progressive, I guess, and still be all 2's in the .d2v, if it was 30fps Progressive, but such NTSC DVDs are so rare as to not be worth mentioning. I don't know that I've ever seen one, although I think I remember making a DVD extra that way recently. PAL is a different story. Most of them are encoded as Interlaced even though the content is usually Progressive.

But if the flags were set as expected on a progressive stream, wouldn't you see the exact same thing?

Yes, but I was explaining how to tell the difference between Interlaced and hard telecined content. If it was a Progressive stream, you'd also have the RFF flags (0 1 2 3), and most likely you could ForceFILM it, something you can't do with what you have. If it's a movie, then most likely it can be IVTC'd, though.

If I set the DVD for progressive, I get combing.

That sounds pretty bizarre to me that all it can do is a simple Weave. That makes it less than useless for Interlaced/hard telecined content, where all you can do is to pass off the deinterlacing to the TV set. Are you sure there aren't any other deinterlacing settings to at least do a Bob or a vertical filter/blend so you don't get combing?

By the way, I'm assuming that this is an NTSC DVD. Looking back on your posts I see mention of 24fps, but nothing specifically stating it's an NTSC DVD.

SeeMoreDigital
17th May 2005, 18:59
Originally posted by Xesdeeni
This is on a cheap progressive DVD player on an HDTV. If I set the DVD for progressive, I get combing. If it set it for interlaced output, the TV deinterlaces fine. But I like to leave the DVD player in progressive mode, since it works well for most movies. Changing to interlaced is too much for my wife and kids. Of course, they don't really notice the combing, but it bugs me :-)Do you think this "combing" effect is more prevalent with NTSC DVD content?

I have PAL and NTSC DVD versions of the same movie and have often noticed that PAL progressive playback seems to look smoother than NTSC progressive... but I put this down to my equipment running at 50Hz and not 60Hz... Should this matter?


Cheers

mrslacker
17th May 2005, 21:13
Originally posted by Xesdeeni
What tool do you recommend to extract a bit of the VOB but leave it in VOB (TS?) format?



AFAIK DVD uses program stream.

Originally posted by neuron2 Sorry, there is a bug in the document (but not in the code). Bits 6 and 7 are swapped.
OK, so all frames are labeled progressive in that D2V. In what way? In that the mpeg progressive_frame flag is set in the picture header? Or that the picture_structure in the picture_coding_extension indicates a frame picture instead of a field picture pair?

This sort of addresses what manomo said about most PAL being progressive but encoded as interlaced. @manomo Are you saying that they are encoded as field pictures, not frame pictures?!? Or are you just saying the picture header is set to indicate interlaced frames? I would hope the encoder is not operating under the assuption that its input is not progressive, in the strict temporal definition. After all, this is why actual interlaced material is "harder" to encode. Bottom line, are you talking about a difference in the encoding algorithm, or just a stream discrepancy? Just curious.

But, as neuron2 mentioned, playing back a d2v with field operation set to RAW FRAMES would at least tell you if the original content is progressive, interlaced, hard telecined, or just messed up.

p.s. I hope this post doesn't look weird. I'm using lynx on the command line b/c of network problems.

manono
18th May 2005, 08:28
Hi mrslacker-

I'm sorry, but I didn't fully understand your questions. Maybe some data from BitRate Viewer will help (and maybe not).

Here's one from an NTSC R1 DVD movie encoded as Progressive which showed as 100% FILM in the DGIndex produced .d2v:

Pic. structure: Frame
Field topfirst: Yes
DCT type: Frame
Quantscale: Nonlinear
Scan type: ZigZag
Frame type: Progressive

Here's one from a "Making Of" docu on the same DVD (Hitchcock's "Dial M For Murder") encoded as Interlaced. The .d2v is 0.00% FILM, and all full of 2's It's a mix of 30fps interlaced talking heads and photos being zoomed in and out, and hard telecined film clips:

Pic. structure: Frame
Field topfirst: Yes
DCT type: Field
Quantscale: Nonlinear
Scan type: Alternate
Frame type: Interlaced

And finally, here's one from a PAL DVD (the R2 PAL version of "Closer") which was encoded as Interlaced but had all Progressive content. The .d2v is also 0.00% FILM and also all full of 2's:

Pic. structure: Frame
Field topfirst: Yes
DCT type: Field
Quantscale: Nonlinear
Scan type: Alternate
Frame type: Interlaced

Guest
18th May 2005, 13:09
Originally posted by mrslacker
OK, so all frames are labeled progressive in that D2V. In what way? In that the mpeg progressive_frame flag is set in the picture header? Or that the picture_structure in the picture_coding_extension indicates a frame picture instead of a field picture pair? No, they are flagged as interlaced (bit 6 is progressive_frame and 0=interlaced). The progressive_frame flag in the picture coding extension is referred to. It's semantics are as described in the document.

mrslacker
18th May 2005, 16:36
@neuron2
We're on the same page now. So, there's really no garauntee that a picture flagged as either progressive or interlaced is actually encoded that way, forgetting about the true nature of content entirely. For example, you could have originally progressive material, encoded as interlaced material, and later flaged as progessive. It would look progressive when viewed and when glancing at the flags, but it was encoded wrong. Does that make sense?

There are 10 types of people who understand binary, those who do and those who don't. And I started counting bits at 1 instead of 0... Oh the shame! Thanks.

mpucoder
18th May 2005, 16:45
While you cannot reliably determine the nature of the source from the flags, especially PAL, the flags DO tell you how each picture is encoded. That is their purpose. Progressive frame pictures are decoded differently than non-progressive (and fiddling with the flag will produce strange results). Also only progressive frame pictures can be pulled down using rff. However, and you will love this, within a progressive frame picture each macroblock can be either progressive or interlaced.

mrslacker
18th May 2005, 17:22
Yes! That's exactly what I'm talking about. The DCT type the material was encoded with. The spec says that progressive_frame implies a given dct_type, if I'm reading it correctly.

I bring this up because I hear reports of material encoded as this or that, but are they talking about reckless and improper changing of the flags, or are they talking about the way the encoder treated the material in creating the DCT's macroblocks.

Like you said, mpucoder, the consequences would be quite deleterious. Given the widespread use of pulldown.exe -nopulldown (or maybe ReStream) with -prog_frames [p|i] set on a whim... Well it's nerve racking.

EDIT: I just wish there were a better way to determine Frame or Field DCT Coding. Is there no immutable indicator of frame or field macroblocks? Building a histogram of the macroblock types in a frame would be the idea way to determine and report the intended frame type... at least for the sake of the decoder to function properly.

mpucoder
18th May 2005, 19:13
You don't need a histogram for the decoder to operate properly, just the information as presented. That's the nature of streaming protocols.
There is a lot of interaction with picture structure, progressive frame, frame_pred_frame_dct, and dct_type. Also pulldown is affected by progressive sequence as well as the tff and rff flags. And alternate_scan can be more efficient at times for interlaced material. But why worry about it? All that is needed for pulldown is non-progressive sequence with progressive frame pictures. Anything else will not work properly. And trying to change flags without re-encoding just to make it work will fail as well. The choice of DCT and scan pattern are just tools for the encoder to get the best quality for the least bits, and not indicators of the source material type.

mrslacker
18th May 2005, 19:45
Originally posted by mpucoder
You don't need a histogram for the decoder to operate properly, just the information as presented.
Then just for informational purposes. But, If all macroblocks are field-coded, they you know the picture was encoded as part of an interlaced sequence, not just labeled incorrectly. What if you don't trust the information (flags) you are given? Does the decoder still function optimally, determining the nature of each macroblock? Maybe these questions are silly. I don't know enough to say.

All that is needed for pulldown is non-progressive sequence with progressive frame pictures. Anything else will not work properly. And trying to change flags without re-encoding just to make it work will fail as well.
I'm getting completely off topic, as I'm not thinking about pulldown, just frame type flagging. I just want to know what it means when people say that PAL is usually progressive, but encoded as interlaced.

The choice of DCT and scan pattern are just tools for the encoder to get the best quality for the least bits, and not indicators of the source material type.
Why else would an encoder split every 16x16 macroblock into 16x8 fields by taking alternating lines of pixels, unless the operator of the encoder explicitly specified interlaced encoding mode. This seems to be a pretty solid indicator of a stream that should be reported as interlaced.... For all practical purposes, it needs to be flagged that way (correctly), as you said in your last post. But if all you can do is trust the flags, I'm thinking in circles.

mrslacker
18th May 2005, 19:54
Originally posted by mpucoder
However, and you will love this, within a progressive frame picture each macroblock can be either progressive or interlaced.
OK, I see. The decision to use frame or field DCT coding is made on a macroblock-by-macroblock basis. Funky! But if they are all frame or field...

Maybe I should stop asking and start reading. Thanks for all the tips, manomo, neuron2, and mpucoder. :)

scharfis_brain
30th May 2005, 20:50
I ran in several problems recently, related to dgpulldowned files.
I am doing a 23.976 fps to 50i pulldown to avoid Audio conversion.

If I want to create a SVCD:
- muxing with TMPGenc results in non-seekable videos
- muxing with bbmpeg results in a seekable mpeg with destroyed pulldown (runs at 20 fps / 25fps with 3:2 pulldown)

If I want to create a DVD:
- muxing with IfoEdit returns a non seekable DVD (with software players)
- muxman rejects the m2v. (says GOP too long)
- authoring with DVDlab was sucessfully

Also I noticed that my 23.976p - 50i pulldowned DVDs don't run smoothly on the PC.
there is a stop every second, like every 24th frame gets duplicated.
But the progressive video itself is true 23.976 fps. so why does it jerk like that?

Using lates DGPulldown and MediaPlayerClassic.

nnigam
1st June 2005, 14:10
I do not know about svcd, but for dvd the spec is 29.97fps for NTSC and 25fps for PAL, so 50fps encoding is most likely the problem. The authoring program should have given an error..

For my stuff, I just separate out the audio/video. Change the fps of the video to whatever I need using dgpulldown, and then mux with my authoring program. No problem at all, and audio is in perfect synch. Most of my stuff is 60p fps that coumes out as 23.976 so I just convert this to 29.97 for dvd.

scharfis_brain
1st June 2005, 14:56
I do not know about svcd, but for dvd the spec is 29.97fps for NTSC and 25fps for PAL, so 50fps encoding is most likely the problem. The authoring program should have given an error..
I am not encoding 50fps.
50i == 25i

Guest
1st June 2005, 16:35
The GOP length issue is known. There are a couple threads about it.

Regarding jerkiness, the pulldown should repeat a field about once per half-second. It shouldn't be noticeable. Can you make available an encoded clip that shows this, so I can check that the pulldown is applied correctly?

scharfis_brain
1st June 2005, 17:09
Regarding jerkiness, the pulldown should repeat a field about once per half-second. It shouldn't be noticeable.

Judging from my encoded DVD, the pulldown is applied correctly
(two minor stops per second, only visible in panning scenes)

Only the progressive playback with the PC shows on big stop per second, where it should be two minor ones per second, or even better: NONE!

Can you make available an encoded clip that shows this, so I can check that the pulldown is applied correctly?

Which format do you like to see?
m2v or VOB?

Guest
1st June 2005, 18:31
Judging from my encoded DVD, the pulldown is applied correctly
(two minor stops per second, only visible in panning scenes)

Only the progressive playback with the PC shows on big stop per second, where it should be two minor ones per second, or even better: NONE!



Which format do you like to see?
m2v or VOB? Your choice.

TimIacobucci
6th June 2005, 23:23
I have encoded a divx avi via avisynth with cce. This avi was 25 fps. I then used dgpulldown to flag it to 29.97 for authoring in dvd maestro. I have done this maybe 30 times before successfully without any problems.

But with this project when I bring the flagged video into maestro the time length of the video is stretched approximately proportional to the change in frame rate from 1 hour 54 minutes to 2 hours 17 minutes. The length is also incorrect in media player classic as well but shows up fine in vdubmod. I have rencoded and redone the pulldown twice to be sure it wasn't some strange glitch.

I can’t make much sense of why this isn't working and any suggestions would be appreciated.

Also many thanks for the great program, until this it has always worked flawlessly.

Guest
7th June 2005, 03:05
Can you make a shorter version that shows the problem and then upload it to my server?

Guest
19th June 2005, 14:19
I see a few files on my FTP, but I forgot to tell you to inform me here of the filename if you upload a stream. So, if you have uploaded a stream, please tell me the file name. Thank you.

Rosco42
20th June 2005, 20:48
I've got a very weird problem with DGPulldown... well, not with DGPulldown itself I think but it's in the loop..

did a bunch of re-encodes using the method (720x480, 25fps, progressive) and then ran DGPulldown on them, all nicely appearing to be 29.97 to the outside world (TMPGenc Author, Womble Video Wizard (not editing, checking the frame rate), etc.. etc..)

Then I was trying out a new authoring program (DVD Composer www.codejam.com) and it only sees the video as 23.97 FPS, naturally the audio track drifts way out of sync..)

Here's the problem.... I fed it some OTHER "real" 3:2 pulldown streams (the 'normal way' of 23.97 > 29.97) and it sees that as 29.97 just fine... only chokes on the 25 > 29.97 stream....

any thoughts on how to 'enlighten' the the program that it's misreading the stream? I've been in contact with the author and they are looking at it (and pointed them to the dgpulldown link on www.videohelp.com) but nothing like checking in at the source...

flumpdumpy
29th June 2005, 15:46
I've been toying around with backing up some HD content that I have captured. and I noticed something interesting about 720p streams. Most of this is common knowledge so please forgive me for going over rudimentary stuff here, I'll get the point as quickly as possible.
The majority of HD programming other than sports, is filmed on movie-type cameras that record at 24fps. When a show is then broadcast in 1080i it uses the same pulldown method that DVD's use to change to 29.97fps. When a show is broadcast in 720p, it uses a similar method to get to 59.94fps. The difference though, is that with a progressive input and progressive output, whole frames are repeated, not fields.
Getting 720p show back down to it's original 23.976fps is no problem. But since I am going to have to re-encode anyway, I'd like to make the video stream as compliant as possible so I won't have to re-encode again when recordable HD-DVD's or Blu-Ray come out.
I originally thought, "Hey, no problem, I'll use the custom setting in DGpulldown and set it to 23.976->59.94". But then I got to thinking, is this really going to give me what I need. So here is the question:
If I use the custom setting to go from 23.976 to 59.94, will it achieve this by repeating whole-frames or fields. Because if it uses fields, that will likely thrash the video output.