[General Topics] Menneisyys:
1.4.1 Using the simplest (Baseline) profiles instead of Nero’s “Standard – AVC”

Sticking with the simplest (Baseline) profiles means avoiding using the (standard) Main profile. This will still result in considerably better-quality results than with ASP, but, in my opinion, isn’t the best way to go because it’s definitely an overkill. That is, by fine-tuning the much more featureful Main profile, you can get much better results.

That is, if you stick to the Baseline profile (by, say, using the “Mobile AVC” or “Portable AVC” profiles in Nero Recode – as opposed to “Standard AVC”, which roughly corresponds to the “Main” profile of the H.264 standard), you will not have access to a lot of goodies that, otherwise, wouldn’t decrease your playback performance that much but still add a lot of additional functionalities and subtly increased image quality.

For example, if you don’t use the “Standard – AVC” Nero profile, you won’t be able to select HE-AAC for audio encoding, only the substantially worse AAC-LC. As has already been explained in the recently published 2nd Multimedia Bible sneak peek: crossfade / gapless playback, (audio) media compatibility and power usage, CorePlayer (as opposed to most other players; for example, TCPMP) doesn’t use considerably more CPU time for decoding HE-AAC audio; therefore, you’ll want to use HE-AAC with CorePlayer and not AAC-LC. If you, however, use a “dumb” profile, you won’t even have a chance to select HE-AAC.

However, when you do plan to watch your videos with TCPMP only (or, other, technically not so advanced multimedia players), you must keep in mind that the situation is pretty much the opposite. Then, you WILL want to switch back to AAC-LC by selecting the “Settings” radio button (highlighted in HERE, the mouse hovering over it), clicking the “Custom profile:” radio button and selecting AAC-LC as can be seen in HERE.

There will be other cases (for example, playing back AVC on slow TI OMAP CPU’s), when this (using “simple” profiles) is what you will want to prefer. Note that, again, the video quality will still be better than that of traditional ASP at the same bitrate – that is, it’s still a usable tradeoff. On other (faster) platforms (practically, anything non-TI OMAP-based, except for the newer Nokias, which already are based on a vastly enhanced TI OMAP), you will ALWAYS want to stick to the Main H.264 profile (accessible as “Standard AVC” in Nero).

Note that Nero Recode also has some other, device-specific profiles. Of them, many recommend for example the iPod 5.5G profiles for VGA users (it, using the default, automatic settings, encodes 640-wide video at 728kbps). However, I don’t really recommend it because the iPod 5.5G profile doesn’t support a number of advanced features (for example, CABAC and/or Bidirectional Prediction) – why not stick with the Standard profile, then?

Also, many recommend the Sony PSP profiles of Nero. I didn’t find them particularly useful either, particularly if you’re a high-res (VGA etc.) user. The sole reason for this is that it only encodes in low resolution.

1.4.2 Switching off Deblocking

Deblocking is a genuine AVC (not available in ASP) feature to heavily (!!!) reduce blocking effects and really increase image quality. It’s really-really useful, particularly with slow (80…120 kbps QVGA or 200-250 kbps VGA videos), while “only” consumes about 10-20% CPU cycles.

Disabling it will, therefore, increase playback performance by 10-20%. Note the following:

1.	You should ONLY disable it when there is simply nothing else to do to increase performance. The two other (encoding-time) tweaks I’ll introduce in the next two sections, that is, disabling CABAC and/or Bidirectional Prediction, result in a much better performance gain, while retaining much better playback quality.

2.	Some people state (example HERE) that switching off deblocking at video (re)coding time should be preferred to (plain) runtime switch-off. I’ve thoroughly benchmarked this and found out that, with the recommended CorePlayer, this is not the case (unlike what the original poster stated) - you won’t see almost any performance increase of not encoding your videos with deblocking support at all.

That is, with CorePlayer, where deblocking can be disabled by hand when you play back your video, disabling deblocking at encoding time isn’t necessary – there’re simply no advantages of doing it. With TCPMP or other players that don’t allow for disabling deblocking at runtime, however, you might still want to do this at encoding time. The speed increase will be pretty much similar to that of CorePlayer. (But, again, if you’re seriously into AVC, I simply don’t see the point in sticking with alternative and, technically, inferior products like TCPMP or Symbian’s RealPlayer – CorePlayer is THE fastest and THE best AVC player definitely worth its price.)

Disabling deblocking at runtime (again, only in CorePlayer) is pretty easy: just go to Tools / Preferences, select the Advanced page and scroll down to the “Disable AVC deblocking filter” checkbox. Tick it. Screenshots of this:

(Windows Mobile)

(Symbian)

Disabling deblocking at encoding time (again, if you do NOT use CorePlayer but (inferior) alternatives) is pretty easy too. If you use Nero Recode, after clicking Next on the main screen, click “Nero Digital Settings” in the left list (over the ? and the More >> buttons) and, after enabling the “Expert mode” checkbox under the tree view in the center (it contains a single item, “Encoder”, in non-expert mode, only allowing for switching between one- and two-pass modes) go to AVC Encoder / Encoding Tools. Then, just untick the Deblocking checkbox in the lower center.