PDA

View Full Version : Someone please tell me I'm not blind. 1420Kbps vs 530Kbps


Chengbin
16th March 2009, 14:03
Here are two 5 minute clips of episode 18 of Prison Break season 1 from Blu-ray.

http://www.megaupload.com/?d=HQ03V18C

The first one is 1420Kbps, encoded with this setting. This is in 704x400, no MVDegrain.

cabac=1 / ref=6 / deblock=1:-1:-1 / analyse=0x1:0x110 / me=umh / subme=6 / psy_rd=1.0:1.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-4 / threads=1 / nr=0 / decimate=1 / mbaff=0 / bframes=4 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=1419 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=25000 / vbv_bufsize=14000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00

http://www.megaupload.com/?d=NX6KGJOX

The second one is 530Kbps, encoded with this setting. I used 720x480 anamorphic encoding at 16/9. This is encoded without turbo first pass and with MVDegrain 3.

cabac=1 / ref=6 / deblock=1:-1:-1 / analyse=0x1:0x131 / me=tesa / subme=9 / psy_rd=1.0:1.0 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-4 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=4 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=527 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=25000 / vbv_bufsize=14000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00

The first setting is the one I used when I first touched x264. I'm encoding this for my Archos 5, and I thought I needed 1400Kbps (500MB per episode) to make it look good (what an idiot I was).

The second setting is the one I used now, after being much more experienced with x264. I now know I don't need such high bitrate and I'll never tell a difference on a 5'' screen.

I felt like doing a comparison between "old" and "new". The shocking thing is that I can't tell a difference between them on a 22'' monitor!!! There are some cases where I prefer the 530Kbps encode because of what MVDegrain did. Am I blind? Or is this normal?

Sagekilla
16th March 2009, 14:39
No, you're not blind. It's quite possible for MVDegrain to remove enough grain and create a stable enough picture that you don't need to use as high of a bitrate. I encoded the first few thousand frames of "Serenity" (Encoded from my Blu-ray to 720p) and I forgot to use MDegrain as I normally do. The bitrate was about 6 mbps, but when I went back and fixed it I got about 3 mbps (!) in CRF mode. So yes, you can get away with a huge bitrate reduction for using MDegrain.

One other thing you need to realize is you basically increased compression to the max on the second set of parameters. You did:

(Pointless)
1) me umh -> tesa
2) merange 16 -> 32

(Useful)
3) subme 6 -> 9
4) trellis 1 -> 2

You should check if your Archos supports 8x8dct, because it provides a very significant benefit. Try doing your comparison again with the same settings and you'll see the exact effects of preprocessing more accurately. By the way, --me tesa and --merange 32 are useful to some extent for extracting every drop of quality out of your video, but if given the choice of no pp + me tesa + merange 32 vs pp + me umh + merange 16, I'd stick with the latter as it's far more efficient.

In short, unless you have a really, really good reason to be using tesa + merange 32, don't. Try doing an encode with identical settings, except for me + merange. Set one to --me umh / --merange 16, the other to --me esa / --merange 32. You won't see any real difference.

Tell me if you can see a difference here:
http://img22.imageshack.us/img22/3441/17454083.png
http://img19.imageshack.us/img19/1617/63792509.png


Which one looks better to you? I'll let you know which one is which afterwards.

Sharktooth
16th March 2009, 15:44
(hint hint: the top pic :p)

Sagekilla
16th March 2009, 16:18
Really, Sharktooth? ;) The top picture is umh + merange 16, bottom is tesa + merange 32. Same exact settings with psy-rd and aq disabled for both.

Fun facts:

Top frame
x264 [info]: SSIM Mean Y:0.9859289
x264 [info]: PSNR Mean Y:46.079 U:47.634 V:49.800 Avg:46.753 Global:46.248 kb/s: 1000.05
encoded 300 frames, 7.85 fps, 1000.52 kb/s

Bottom frame
x264 [info]: SSIM Mean Y:0.9860008
x264 [info]: PSNR Mean Y:46.098 U:47.633 V:49.799 Avg:46.767 Global:46.263 kb/s: 1000.81
encoded 300 frames, 2.82 fps, 1001.28 kb/s


I find +0.015 increase in PSNR and 0.005% increase in SSIM (using (1 - oldSSIM) / (1 - newSSIM)) hard to justify for almost 3x slower encoding.

Note: this is one case. There are some, very rare, cases that --me tesa and --merange 32 actually provide some benefit.

Rumbah
16th March 2009, 16:48
To me the lower one seems to be a little bit sharper/with more contrast, especially if you look at the reflecting light on the black guy's head, at his beard and fingers.

Chengbin
16th March 2009, 17:00
I think the bottom one looks better. It has more contrast. The top picture looks a bit dark.

I'm using merange 32 and me tesa because I'm being bottlenecked by avisynth, therefore merange 32 and me tesa does not slow me down.

My Archos 5 does not support 8x8dct, or any other high profile features. It is really sad, because it has a very powerful chipset in there, but it will reject any video with high profile, even though I know it has the decoding power to decode it.

Sagekilla
16th March 2009, 17:04
If you think either one has more contrast, darker, lighter, then you're seriously looking too much into this. If you do Subtract(A,B) on those two frames, you should get an almost uniform 128'd gray frame with only minor differences.

Chengbin
16th March 2009, 17:11
It does look better.

If merange 32 and me tesa does this, I might stick with this.

BTW, what is pp?

poisondeathray
16th March 2009, 17:39
It does look better.

If merange 32 and me tesa does this, I might stick with this.

BTW, what is pp?

pp = post processing (i.e filtering)

There is negligible difference between the two. View them at the same part of your lcd monitor, and same viewing angle - there is no contrast difference - or save them to your desktop and flip back and forth.

Sagekilla
16th March 2009, 17:46
In this case, it means pre processing, not post processing.

Chengbin
16th March 2009, 17:54
pp = post processing (i.e filtering)

There is negligible difference between the two. View them at the same part of your lcd monitor, and same viewing angle - there is no contrast difference - or save them to your desktop and flip back and forth.

You're right

There is no difference. It is my monitor's problem.

Didée
16th March 2009, 17:59
It's quite obvious. May I draw your attention to the pixel at position (x,y) -> (162,378). In the first one, this pixel is too greenish. In the 2nd one, it has the correct brownish tint.

This pixel absolutely proves that the 2nd encode is perfect, and the 1st encode is crappola.


Seriously:

(IMO) - if you see a noticeable difference between those two frames, then you're seeing things.
(They look slightly different, but I wouldn't rate either one better or worse than the other.)

(definetly) - if you see any difference in brightness or contrast in a side-by-side (or top-to-bottom) comparison, then your (TFT) screen is not a good one. :)

Betsy25
16th March 2009, 18:00
Perhaps it's my eyes (i know they aren't the best) but after comparing my encodings of the same movie using Staxrip, the encoding at x264-2pass-HQ actually looked a bit better than the one at x264-2pass-Insane. (No filters used, beside the usual crop and resize)

Could it be that too much perfect settings could actually have negative impact on output quality ?

poisondeathray
16th March 2009, 18:02
In this case, it means pre processing, not post processing.

You're right - and I know it's just semantics - I used to call it pre-processing as well, but the correction/explanation I got was that it's post processing of the source filter, not pre-processing of the contents being fed to the encoder... Regardless, it's filtering

Under what specific circumstances/content/scenes/situations would using the extreme settings ever be visible or pay off?

Sagekilla
16th March 2009, 18:06
Touhou, perhaps. I don't remember a situation where I used --tesa that it actually helped significantly though. Most of the time, umh does just as good.

Conquerist
16th March 2009, 19:25
This is in 704x400
...
I used 720x480 on a 5'' screen.

Seeing how the native resolution of the device is 800*480 according to Archos (http://www.archos.com/products/imt/archos_5/specs.html?country=global&lang=en), I would suggest resizing to 800*450, so that it's at the native resolution. I would guess that saving one resize operation will yield a bigger quality gain than me=tesa and merange=32.

[edit]
Well, that is, if the H.264 playback add-in ("up to DVD resolution") allows 800*450.
Hmm, the "HD" add-in costs the same, and allows 1280*720 H.264. Maybe I'm missing something, but why sell a subset of the features for the same price?

Chengbin
16th March 2009, 20:10
Seeing how the native resolution of the device is 800*480 according to Archos (http://www.archos.com/products/imt/archos_5/specs.html?country=global&lang=en), I would suggest resizing to 800*450, so that it's at the native resolution. I would guess that saving one resize operation will yield a bigger quality gain than me=tesa and merange=32.

[edit]
Well, that is, if the H.264 playback add-in ("up to DVD resolution") allows 800*450.
Hmm, the "HD" add-in costs the same, and allows 1280*720 H.264. Maybe I'm missing something, but why sell a subset of the features for the same price?

800x450 is not a MOD16 resolution. Also, the maximum resolution my Archos support is 720x576. Even with the upcoming HD plugin, it gives HD support to every codec except H.264.

Sharktooth
16th March 2009, 22:07
Really, Sharktooth? ;) The top picture is umh + merange 16, bottom is tesa + merange 32. Same exact settings with psy-rd and aq disabled for both.
yeah:)
that's another proof --me tesa and other insane settings are useless (at least in normal conditions) since i even prefer the picture produced by faster settings.

Sagekilla
16th March 2009, 22:17
I think it's pointless to even try to compare the quality of either one, since there's such a tiny difference.

Chengbin
16th March 2009, 23:28
Did anyone look at my uploaded video yet (especially the 530Kbps video)? Is that a good encoding?

vmrsss
17th March 2009, 00:02
Here are two 5 minute clips of episode 18 of Prison Break season 1 from Blu-ray.

The second one is 530Kbps, encoded with this setting. I used 720x480 anamorphic encoding at 16/9. This is encoded without turbo first pass and with MVDegrain 3.

Can you pls post the MDegrain3 commands?

vmrsss
17th March 2009, 00:17
Did anyone look at my uploaded video yet (especially the 530Kbps video)? Is that a good encoding?

I did, and what can I say? the 1400Kbps encode frankly looks much better to me. Now, it's also true that it uses 2.45 times more bits, so is the quality gain "worth" it the additional bits? That's a subjective question I clearly cannot answer.

Chengbin
17th March 2009, 00:28
I did, and what can I say? the 1400Kbps encode frankly looks much better to me. Now, it's also true that it uses 2.45 times more bits, so is the quality gain "worth" it the additional bits? That's a subjective question I clearly cannot answer.

Can you tell me at what time the 1400Kbps video look a lot better?

poisondeathray
17th March 2009, 02:12
The 1400kbps looks better in almost every frame. It simply has more detail.

The low bitrate encode looks great - considering the low bitrate - but it simply lacks detail. Oversmoothed , "plastic doll" look. It looks very much like rmvb, vp7 , or x264 circa 2 years ago.

The difference is obvious to me, viewing on a PC even at regular size. If you watch fullscreen the differences are huge. But can you tell the difference on the Archos? I don't know.

BTW Prison Break sucks now, it was good the 1st two seasons :)

Chengbin
17th March 2009, 02:27
I'm doing comparisons on a 22'' monitor on full screen. I think the smoothness is from MVDegrain.

So I think I am blind. I can't tell a difference at regular size. I can see the 1400Kbps encode has a lot more noise (or detail). The 530Kbps has a heavily degrained image to me.

LoRd_MuldeR
17th March 2009, 02:39
I'm doing comparisons on a 22'' monitor on full screen. I think the smoothness is from MVDegrain.

So I think I am blind.

Welcome to reality. Quality cannot be defined objectively. It's a highly subjective thing. Different people, different opinions :)

If you think the quality of the 530 kbps encode is fine, why bother? Just be happy that you can save a lot of bitrate and move on...

vmrsss
17th March 2009, 04:57
Welcome to reality. Quality cannot be defined objectively. It's a highly subjective thing. Different people, different opinions :)

And same people, different opinions in time: sometimes i look back at encodings I used to be was so proud of at the time, and they now look so bad that I end up trashing them away...

Sagekilla
17th March 2009, 06:41
Remember, if it looks good to your eyes (and it's for your viewing for the most part), then don't worry. It might look like crap to me or someone else, but for all you care it looks perfect. Also, when you take into account that you're playing this on that 5" screen on the Archos 5, it really doesn't matter ;) That's a pretty high resolution screen for it's size (It's about 186 dpi (!)), so you wouldn't notice artifacting as much.

Chengbin
17th March 2009, 13:44
I really like the 530Kbps encoding, because it is very smooth from the MVDegrain. My Archos 5 has a very high quality screen in there, and unforunately it is a very unforgiving screen (it is fantastic with clean sources). The 530Kbps suits it very well.

Is there any way to "fake" the profile with x264? My 5 will reject any video with high profile (gives you a message saying it is high profile, and won't play). But I know it has the decoding power to decode it. It there any way to make the video look like main profile but actually is high profile?

Sagekilla
17th March 2009, 18:19
You can try hex editing your video so it says it's main profile even though it's high. I'm not sure if this will work or not though.

Chengbin
17th March 2009, 18:22
You can try hex editing your video so it says it's main profile even though it's high. I'm not sure if this will work or not though.

I'm sorry, I'm a noob. Can you explain? What software do I use?

Sagekilla
17th March 2009, 18:24
It basically means you're editing the header of the file so it says "Main Profile" instead of "High Profile." You can search the forums for "Hex edit" and it should give some results. I don't remember off hand what's used for changing what a .264 raw file says.

LoRd_MuldeR
17th March 2009, 18:25
I'm sorry, I'm a noob. Can you explain? What software do I use?

VirtualDub -> Tools -> Hex Editor ;)

But I can't tell you what Bytes you are supposed to edit...

(Anyway: If x264 decides that your file is "High" profile, it does so for a reason. Pretending your file is "Main" profile doesn't make it comply with "Main" profile!)

Chengbin
17th March 2009, 18:31
virtualdub won't open my .mp4 or .264 files

I'm purposely doing that, because I think my Archos has the decoding power to decode high profile videos, but the software blocks the video from played, without even trying. I suspect that it only reads the header, and I want to try to see if I can fool it and play a high profile video.

searching hex edit does nothing. It gives me all these threads.

LoRd_MuldeR
17th March 2009, 18:48
virtualdub won't open my .mp4 or .264 files

Re-read my instructions please:
VirtualDub -> Tools -> Hex Editor

(And make sure you uncheck the "Open as read-only" option when loading your file into the Hex Editor)

I'm purposely doing that, because I think my Archos has the decoding power to decode high profile videos, but the software blocks the video from played, without even trying. I suspect that it only reads the header, and I want to try to see if I can fool it and play a high profile video.

Profiles are not about "decoding power" at all - that would be Levels! Profiles define which "features" of the H.264 standard are support and which are not.

For example if you used 8x8dct or B-Pyramid, then a "High Profile" capable decoder will be needed. Any decoder limited to "Main" profile will fail, no matter how much processing power its h/w has ...

Please see:
* http://en.wikipedia.org/wiki/H.264#Profiles
* http://en.wikipedia.org/wiki/H.264#Levels

Chengbin
17th March 2009, 19:16
Thanks, now I don't have to waste time trying to do that.

Betsy25
18th March 2009, 07:57
Perhaps, the better explanation could be :

Insane quality settings are worthless with users (such as myself) with cheap ass 20"+ LCD monitors.:D

Think the good old CRT's are better for real quality comparison.

Audionut
18th March 2009, 08:53
Think the good old CRT's are better for real quality comparison.

No, i've got a 68cm CRT that makes almost any encoded video look good.

Chengbin
18th March 2009, 13:31
Think the good old CRT's are better for real quality comparison.

CRTs are incredibly forgiving for low quality sources. Any low quality source will look good on a CRT but horrible on a LCD.

Disabled
18th March 2009, 16:33
Your comparison has little to do with bitrate. If you don't like grain, degrain it and get as a result a lower bitrate. Others prefere pictures with every noise that was present in the source, because that means every detail is retained too - even a good denoiser always removes some detail.

Sagekilla
18th March 2009, 18:30
The better ones (Like MDegrain) do an -extremely- good job of preventing detail loss though. Yes, there is some, but it's very manageable.