Log in

View Full Version : Why do some encodes look so horrible?


zambelli
22nd May 2002, 06:53
Why is it that certain rips turn out looking so awful regardless of bitrate, resolution and color saturation? I have noticed this for two movies so far, "Cannibal: The Musical" and "Faust" (Jan Svankmajer), both of which happened to be interlaced NTSC DVDs.

"Faust" is a 92 minutes long movie, with many dark scenes, lots of movement, but not a lot of color saturation. The ratio is 4:3. I'm trying to fit it on a 650Mb CD, so I picked 512x384 for resolution and 850 kbps for average bitrate. I used DivX 5.0 dual pass encoding with bi-directional frames enabled, no other special settings.

I tried doing two rips: one 30 fps progressive, other 24 fps progressive. For 30 fps progressive I simply turned on deinterlacing in Flask (blend, treshold: 15) and encoded straight to DivX. For 24 fps progressive, I used GreedyHMA to IVTC and deinterlace the movie, before finally resizing and cropping it in VirtualDub (bicubic) and encoding to DivX. IVTC was successful; no strange skipping of frames was noticed.

However, in both cases, the final product was terrible, with a huge amount of macroblocks and other artifacts. Although the 24 fps version should've had 25% better quality (30/24=1.25), the difference is almost insignificant.

You can see for yourself. Here are two short clips you can download:

24 fps clip from "Faust" - 4 MB (http://ghettomachine.suckmyemail.com/movies/FaustClip24fps.avi)
30 fps clip from "Faust" - 4 MB (http://ghettomachine.suckmyemail.com/movies/FaustClip30fps.avi)

You can clearly see macroblocks and other artifacts in both clips.

What am I doing wrong? Why can't this movie encode properly?

Sven Bent
22nd May 2002, 09:22
pentium 896 ?????

must be because you computer is having calculations errors :-)

zambelli
22nd May 2002, 09:35
Must be... :)

No, seriously, it's been clocked at 8x112 MHz for over a year now and it's rock stable. No worry there.

theReal
22nd May 2002, 09:36
Well, it's a full-sized (4:3) movie with analog master quality, that's just not as compressible as other movies - you could try some filtering on it. You can use Gordianknot and set it to light noise filtering either before or after resizing - it will use avisynth's temporalsmoother(2,1)
You could also try Divx5 light pre-processing filter, it's faster and not bad either.
Also you could use soft bicubic filtering maybe, or even some bilinear for better compressibility.

What I'd look for at first is that the ivtc must have gone wrong in some way. I think it is still skipping a little (look at your 24fps clip between second 6 and 8 when the camera moves down.

Use Gknot, I'd say, it has enough good options and will also take care of the ivtc (I'm not experienced in doing this, because I have never encoded an ntsc DVD, so don't ask me what's wrong exactly)

theReal
22nd May 2002, 09:46
You're right, stable overclocking doesn't produce any divx macroblocks.

I know because my TB produces a lot of hot air, but no errors as well

Thunderbird 1400@1500 (10x150) (1.85V)
2x256MB PC2100 Crucial Micron (2.9V) (8-8-6-2-4-2-2)
Epox 8K7A+ (AMD761 with HPT Raid)

Go overclockers! :D :D

jggimi
22nd May 2002, 14:46
Although the 24 fps version should've had 25% better quality (30/24=1.25), Nope. You have more frames per second. Therefore more content per second, therefore less compressability. It's also 4:3, which has more pixels per frame than the various widescreen formats.

From your description and a quick look at the 30fps clip, you've got no replicated frames. I went frame-by-frame with VirtualDub. Do not use Force FILM or any other Inverse Telecine (IVTC) process. That's why theReal sees "skipping" in the 24fps clip. The content has not been telecined. Just de-interlace.

Due to 20% more frames per second, and more pixels per frame, I'd re-encode these to 2-CD size, at least. I'm not a Flask user, I use GKnot... and prefer the Decomb filter set for de-interlacing. The "artifacts" in that clip appear to be interlace related, to me. AviSynth (avs) filters such as Decomb can perhaps give you a better de-interlace than the Flask tool... of course, I have no clue about it, having never used Flask.

zambelli
22nd May 2002, 20:55
Originally posted by jggimi
Nope. You have more frames per second. Therefore more content per second, therefore less compressability. It's also 4:3, which has more pixels per frame than the various widescreen formats.


That's what I was trying to say. 30 fps film has 20% more frames than 24 fps film, and thus the bitrate available for each frame will be about 20% lower (for purposes of comparison disregarding the fact that I'm using variable bitrate).

The content has not been telecined. Just de-interlace.

Argh... I was hoping it was telecined, since it was originally shot on film. Oh well.
To tell you the truth, looking at the IVTC-ed rip that I made, it doesn't look that bad. I mean, occasionally some scenes skip a frame, but otherwise GreedyHMA did a pretty good job of forcing film.


The "artifacts" in that clip appear to be interlace related, to me. AviSynth (avs) filters such as Decomb can perhaps give you a better de-interlace than the Flask tool... of course, I have no clue about it, having never used Flask.


Flask uses the simplest type of deinterlacing: blend. I've done many rips of interlaced material with Flask and it always did a very good job. It might not be as precise as Graft's SmartDeinterlace filter, but it's much simpler and does a consistently solid job. Some will disagree, but when using DivX, I believe it's not so important to preserve every bit of detail because, as we know, more detail causes lower compressability.

Anyway, I realize the IVTC problems, thank you and theReal for pointing them out. However, I don't think the problem of bad DivX encoding quality is caused by IVTC and deinterlacing. Maybe theReal is right, maybe it just has to do with too much detail and I need to do more smoothing and filtering. I am currently re-encoding the movie, this time with Bilinear resizing filter and DivX normal preprocessing filter. We'll see if the end product turns out a little better.

jggimi
22nd May 2002, 21:29
Blend is available with GKnot, too. There it's called "Fast Deinterlace."

One nice thing about AviSynth scripts is you can preview right off the vob files. It won't help for codecs, but for avs filters, such as deinterlacing, you can open the avs file in vdub and examine it post-filter, frame by frame. No need to wait hours and hours.

And that right arrow key can help you determine if it really has been telecined. :-)

A|
1st July 2002, 09:15
following the advice of some people in this forum and others, this is the best avisynth script I could come up with. Did a 1 cd rip of this movie, and it doesn't look _GREAT_ but it still looks good enough for a backup copy.

Great movie.


-=-=-=-=-=-=-=-Start .avs script-=-=-=-=-=-=-
LoadPlugin ("c:\windows\system32\decomb.dll")
LoadPlugin("c:\windows\system32\mpeg2dec.dll")
mpeg2source("z:\video_ts\cannibal.d2v")
FieldDeinterlace()
temporalsmoother(2,1)
BilinearResize(640,426)
-=-=-=-=-=-=-=-=-End .avs script-=-=-=-=-=-=-

theReal
1st July 2002, 10:22
Instead of bilinear resize in avisynth I'd use Precise Bilinear Resize in VDub. It's a little slower (due to full processing mode), but it looks better and usually compresses better as well!

manono
1st July 2002, 14:42
Hi-

And somethings wrong with that 426 vertical resolution-it's unacceptable.

A|
3rd July 2002, 21:15
I didn't have a problem with it using DivX 5.0.2.

It isn't divisable by 4, so that is the problem.

theReal
3rd July 2002, 21:50
You could run into problems with a lot of graphics adapters with this video. The most compatible is 32/16 or 16/16. I always try to keep it like this (I think you don't see a difference even if the aspect error is 2%)