Teegedeck
26th February 2006, 19:53
This version of the presets is derelict. Please read an up-to-date version of the presets here (http://forum.doom9.org/showthread.php?p=841263#post841263). The previous version can still be found here (http://forum.doom9.org/showthread.php?p=796900#post796900).
Again and again, there's questions on the forum like 'what settings should I use for sports?' or 'what are the best settings for high quality?" I cannot without twitching answer them all with 'use the defaults!' but personally I'm also quite fed-up with explaining the same things over and over again or searching for those explanations and linking them.
So, I guess there is demand for more of those 'XviD presets' which tentatively have been introduced with XviD 1.1.
I'd like to summ up my thoughts on how we could get to meaningful presets in this post and start a discussion that will probably go on for quite some time before we actually see any more presets implemented. Especially since sysKin would rather like to do it right from the start and implement a more cross-platform approach to presets instead of simply modifying the VfW frontend and is quite busy again, now.
OK, thoughts - I hope for your input and for you to correct me where I assume false things.:
Presets should never in any way relate to 'bitrates' because you cannot target settings at such a relative, indeed kind of virtual thing. 'high quality' is correct, 'high bitrate' is wrong.
As few presets as possible - there's not really so much you should need to change in XviD's settings for different circumstances; and also the more, the more confusing it gets to the target audience - i.e. mainly newbies.
Now, how do we have to think about XviD options in order to work our way somewhat efficiently towards meaningful presets? Before we start out just testing into the blue, without any idea where this is going, perhaps we should fence it in a bit by some kind of concept on how to go about it.
So, the following is to describe how one could come to a set of 'presets' to start out testing.
I think the settings in XviD are mainly changed upon three circumstances:
What compression ratio one aims for (As in 'how many percent smaller than a - purely hypothetical - optimum re-encode should the result be?'), simplified as 'compression ('strong --> 'low')
What quality-speed ratio one wants (As in 'how long am I prepared to wait for the darn thing to finish in order to squeeze out some extra quality?'), simplified as 'speed' ('fast'-->'slow')
What kind of source I am about to encode (anime, clean source, noisy source), simplified as 'material'.
That could give us two axes on which to file presets: Compression and speed. 'Material' would kinda stand out.
Now one could arrange a matrix with nine fields:
low&fast medium&fast strong&fast
low&norm medium&norm strong&norm
low&slow medium&slow strong&slow
'Compression' could be addressed mainly by use of, say 3 different CQMs to cover the needs of different scenarios better than 'just using H.263 for everything'. Also, the quantizer at which the first pass is performed should be altered according to matrix characteristics and/or presumable 2nd-pass-target-quantizer for that profile
'Speed' could be addressed by using the usual, more time consuming and quality-enhancing settings for higher quality.
Compression
As for the 'compression'-axis,a start would be switching matrices as follows (from low to strong compression): SixOfNine --> H.263 --> EQM v3 ULR. That is just a starter, and I think H.263 could perhaps be replaced by one of Sharktooth's or Soulhunter's matrices. But I don't know them well enough. Is perhaps one of them more forgiving to quantizer-fluctuations in the 'faster' presets? I also think there should be a special 'near-lossless' setting which uses Sharktooth's UHR matrix. Also, for strong compression AQ should be used IMHO. Renamed to 'for editing' so that it is not mistaken for a preset for archival. The first pass with SixOfNine (or other HQ-CQMs) should be performed at quant=3 in the 'low'-column, and with quant=4 in the 'medium' because of their small coefficients; first pass with EQM ULR should also be done at 4 because I think it would be primarily used at pretty extreme settings, correct me if I'm wrong. First pass with the 'near-lossless' profile should be at ??? Sharktooth?
Speed
As for the 'speed' axis, I'd suggest
line 1 could imply ME 5, no VHQ, no chroma ME
line 2 could imply ME6, VHQ=1, VHQ for b-frames, chroma ME
line 3 could imply ME6, VHQ=4, VHQ for b-frames, chroma ME
'near lossless' or 'for editing' could imply ME6, VHQ=4, VHQ for b-frames, b-frames 1/1.0/1, chroma ME and GMC + Sharktooth's UHR matrix and would be meant specifically for near-lossless encoding.
'anime' could trigger using the H.263 matrix, cartoon mode(!), a mild b-frame setting like ratio 1.0, offset=1, ME6, VHQ=1, VHQ for b-frames, chroma ME.
Trellis should always be used IMHO. I guess also activated in all settings could be chroma optimizer. We could also meditate about making Didée's 'golden cut' ratio (ratio=1.6, offset=0) with its more lenient characteristics the new standard while we're at it.
The use of QPel could depend on both speed and compression - as it doesn't make sense to use it for 'fast' or 'strong compression' profiles, and perhaps neither to use it for the 'anime' preset. In the rest of profiles I think it should be used.
That would leave us basically with eleven presets like these
fast strong compression
fast medium compression
fast low compression
normal strong compession
normal medium compression
normal low compression
slow strong compression
slow medium compression
slow low compression
for editing
anime
That's a bit much, right? Clearly unnecessary. Perhaps one should eliminate extremes that probably wouldn't work too well: fast strong compression is probably not a good idea. And perhaps also settings between which there wouldn't be much difference in the result. As SixOfNine is quite usable till the higher quantizers one could merge the 'low' and medium 'compression'-columns into one and use H.263 only for the fastest encoding mode where high quantizers are likely to occur, for instance... Seven profiles left. Now, re-arrange the order in which they appear to something more meaningful, find catchy names for them and Bob's your uncle :):
normal strong compression: 'fast, extreme compression'
slow strong compression: 'good quality, extreme compression'
fast medium compression: 'good quality, strong compression'
normal medium compression: 'high quality, medium compression'
slow medium compression: 'very high quality, medium compression'
insanely slow low compression: 'insane quality, low compression'
for editing
anime
(Well... We'll think again about the 'catchy' bit sometime later...)
That would mean effectively these settings:
'fast, extreme compression', tooltip: 'at ~15-25% of original filesize':ME6, VHQ=1, VHQ for b-frames, AQ, chroma ME, EQM v3 ULR, 1st pass @q=4, curve-compr. H30, L15, quantizer-restrictions min. 3
'good quality, extreme compression', tooltip: 'at ~15-25% of original filesize, apt for sports'':ME6, VHQ=4, VHQ for b-frames, AQ, chroma ME, EQM v3 ULR, 1st pass @q=4, curve-compr. H30, L15, quantizer-restrictions min. 3
'good quality,strong compression', tooltip: 'apt for standard DVD backup at ~25-35% of original filesize': ME6, VHQ=1, chroma ME, EQM v3 LR,* 1st pass @q=3, curve-compr. H20, L7, quantizer-restrictions min. 3, max. 7
'high quality, medium compression', tooltip: 'apt for transparent DVD backup at ~30-50% of original filesize, also for noisy sources at >40%': ME6, VHQ=1, VHQ for b-frames, chroma ME, SixOfNine, Qpel, 1st pass @q=4 curve-compr. H15, L5, quantizer-restrictions min. 2, max. 6
'very high quality, medium compression', tooltip: 'apt for transparent DVD backup at ~30-50% of original filesize': ME6, VHQ=4, VHQ for b-frames, chroma ME, SixOfNine, Qpel, 1st pass @q=3, curve-compr. H10, L3, quantizer-restrictions min. 2, max. 6
'insane quality, low compression', tooltip: 'apt for DVD-to-DVD-R backup (clean sources) at >50% of original filesize, also for noisy sources at >60': ME6, VHQ=4, VHQ for b-frames, b-frames 1/1.0/1, b-frame sensitivity =-3, chroma ME, Qpel and GMC, EQM UHR , 1st pass @q=4, quantizer-restrictions min. 3 max. 7
for editing, tooltip: 'fast, near lossless encoding, huge filesizes, NOT for archiving purposes': ME6, VHQ=1, no b-frames, chroma ME, EQM EHR , only for quality-based 1-pass, quantizer-restrictions constant quantizer 2
anime: cartoon mode(!), a mild b-frame setting like ratio 1.0, offset=1, ME6, VHQ=1, VHQ for b-frames, chroma ME, H.263, 1st pass @q=2, quantizer-restrictions min. 2,2,3, max. 6,6,10
*=possible replacement by Soulhunter's v6 matrix or H.263
Always active: Trellis, chroma opt., b-frames: max. 2 consecutive, ratio 1.62, offset 0 if not specified otherwise (insane, anime, for editing), ME precision = 5 for first pass.
Do you think that this would be a good start from which to work the way up?
Catchy names:
100 minutes at full resolution (if you get undersizing choose a higher preset, if you get oversizing choose a lower preset:
'fast, extreme compression' --> fast, 1 - 2 CD-Rs
'good quality, extreme compression' --> HQ, 1 - 2 CD-Rs
'good quality, strong compression' --> fast, 2 - 3 CD-Rs
'high quality, medium compression' --> fast, 3 CD-Rs
'very high quality, medium compression' --> HQ, 3 CD-Rs
insane quality, low compression' --> insane, 3 CD-Rs - 1 DVD-R
'for editing only'
'anime'
comment: Don't like this, really, but seems unavoidable. (I really would prefer a naming scheme more analogue to LAME's old preset-names, like 'fast low; low; fast medium; medium' etc. but it seems that people can rightfully expect (if somewhat vague) size-predictions for a codec that's mainly being used for two-pass encoding.)
Edited: some hubris; thanks to Koepi for spotting it!;)
Edited: 'good quality' is not so fast anymore...
Edited: 'near lossless' is fast, now; added 'insane quality'
Edited: added curve-compression settings
Edited: added compressibility hints, replaced 'light compression' with the more appropriate term 'low compression'
Edited: amended tooltip comments
Edited: renamed two presets, can you spot which ones?
Edited: changed another tooltip...
Edited: ...and another blunder ...and correction of filesize recommendations
Edited: added quantizer-restrictions
Edited: quant. restrictions, 'good quality, extreme compression' uses EQM v3 LR now
Edited: adjusted 'catchy' names
Again and again, there's questions on the forum like 'what settings should I use for sports?' or 'what are the best settings for high quality?" I cannot without twitching answer them all with 'use the defaults!' but personally I'm also quite fed-up with explaining the same things over and over again or searching for those explanations and linking them.
So, I guess there is demand for more of those 'XviD presets' which tentatively have been introduced with XviD 1.1.
I'd like to summ up my thoughts on how we could get to meaningful presets in this post and start a discussion that will probably go on for quite some time before we actually see any more presets implemented. Especially since sysKin would rather like to do it right from the start and implement a more cross-platform approach to presets instead of simply modifying the VfW frontend and is quite busy again, now.
OK, thoughts - I hope for your input and for you to correct me where I assume false things.:
Presets should never in any way relate to 'bitrates' because you cannot target settings at such a relative, indeed kind of virtual thing. 'high quality' is correct, 'high bitrate' is wrong.
As few presets as possible - there's not really so much you should need to change in XviD's settings for different circumstances; and also the more, the more confusing it gets to the target audience - i.e. mainly newbies.
Now, how do we have to think about XviD options in order to work our way somewhat efficiently towards meaningful presets? Before we start out just testing into the blue, without any idea where this is going, perhaps we should fence it in a bit by some kind of concept on how to go about it.
So, the following is to describe how one could come to a set of 'presets' to start out testing.
I think the settings in XviD are mainly changed upon three circumstances:
What compression ratio one aims for (As in 'how many percent smaller than a - purely hypothetical - optimum re-encode should the result be?'), simplified as 'compression ('strong --> 'low')
What quality-speed ratio one wants (As in 'how long am I prepared to wait for the darn thing to finish in order to squeeze out some extra quality?'), simplified as 'speed' ('fast'-->'slow')
What kind of source I am about to encode (anime, clean source, noisy source), simplified as 'material'.
That could give us two axes on which to file presets: Compression and speed. 'Material' would kinda stand out.
Now one could arrange a matrix with nine fields:
low&fast medium&fast strong&fast
low&norm medium&norm strong&norm
low&slow medium&slow strong&slow
'Compression' could be addressed mainly by use of, say 3 different CQMs to cover the needs of different scenarios better than 'just using H.263 for everything'. Also, the quantizer at which the first pass is performed should be altered according to matrix characteristics and/or presumable 2nd-pass-target-quantizer for that profile
'Speed' could be addressed by using the usual, more time consuming and quality-enhancing settings for higher quality.
Compression
As for the 'compression'-axis,a start would be switching matrices as follows (from low to strong compression): SixOfNine --> H.263 --> EQM v3 ULR. That is just a starter, and I think H.263 could perhaps be replaced by one of Sharktooth's or Soulhunter's matrices. But I don't know them well enough. Is perhaps one of them more forgiving to quantizer-fluctuations in the 'faster' presets? I also think there should be a special 'near-lossless' setting which uses Sharktooth's UHR matrix. Also, for strong compression AQ should be used IMHO. Renamed to 'for editing' so that it is not mistaken for a preset for archival. The first pass with SixOfNine (or other HQ-CQMs) should be performed at quant=3 in the 'low'-column, and with quant=4 in the 'medium' because of their small coefficients; first pass with EQM ULR should also be done at 4 because I think it would be primarily used at pretty extreme settings, correct me if I'm wrong. First pass with the 'near-lossless' profile should be at ??? Sharktooth?
Speed
As for the 'speed' axis, I'd suggest
line 1 could imply ME 5, no VHQ, no chroma ME
line 2 could imply ME6, VHQ=1, VHQ for b-frames, chroma ME
line 3 could imply ME6, VHQ=4, VHQ for b-frames, chroma ME
'near lossless' or 'for editing' could imply ME6, VHQ=4, VHQ for b-frames, b-frames 1/1.0/1, chroma ME and GMC + Sharktooth's UHR matrix and would be meant specifically for near-lossless encoding.
'anime' could trigger using the H.263 matrix, cartoon mode(!), a mild b-frame setting like ratio 1.0, offset=1, ME6, VHQ=1, VHQ for b-frames, chroma ME.
Trellis should always be used IMHO. I guess also activated in all settings could be chroma optimizer. We could also meditate about making Didée's 'golden cut' ratio (ratio=1.6, offset=0) with its more lenient characteristics the new standard while we're at it.
The use of QPel could depend on both speed and compression - as it doesn't make sense to use it for 'fast' or 'strong compression' profiles, and perhaps neither to use it for the 'anime' preset. In the rest of profiles I think it should be used.
That would leave us basically with eleven presets like these
fast strong compression
fast medium compression
fast low compression
normal strong compession
normal medium compression
normal low compression
slow strong compression
slow medium compression
slow low compression
for editing
anime
That's a bit much, right? Clearly unnecessary. Perhaps one should eliminate extremes that probably wouldn't work too well: fast strong compression is probably not a good idea. And perhaps also settings between which there wouldn't be much difference in the result. As SixOfNine is quite usable till the higher quantizers one could merge the 'low' and medium 'compression'-columns into one and use H.263 only for the fastest encoding mode where high quantizers are likely to occur, for instance... Seven profiles left. Now, re-arrange the order in which they appear to something more meaningful, find catchy names for them and Bob's your uncle :):
normal strong compression: 'fast, extreme compression'
slow strong compression: 'good quality, extreme compression'
fast medium compression: 'good quality, strong compression'
normal medium compression: 'high quality, medium compression'
slow medium compression: 'very high quality, medium compression'
insanely slow low compression: 'insane quality, low compression'
for editing
anime
(Well... We'll think again about the 'catchy' bit sometime later...)
That would mean effectively these settings:
'fast, extreme compression', tooltip: 'at ~15-25% of original filesize':ME6, VHQ=1, VHQ for b-frames, AQ, chroma ME, EQM v3 ULR, 1st pass @q=4, curve-compr. H30, L15, quantizer-restrictions min. 3
'good quality, extreme compression', tooltip: 'at ~15-25% of original filesize, apt for sports'':ME6, VHQ=4, VHQ for b-frames, AQ, chroma ME, EQM v3 ULR, 1st pass @q=4, curve-compr. H30, L15, quantizer-restrictions min. 3
'good quality,strong compression', tooltip: 'apt for standard DVD backup at ~25-35% of original filesize': ME6, VHQ=1, chroma ME, EQM v3 LR,* 1st pass @q=3, curve-compr. H20, L7, quantizer-restrictions min. 3, max. 7
'high quality, medium compression', tooltip: 'apt for transparent DVD backup at ~30-50% of original filesize, also for noisy sources at >40%': ME6, VHQ=1, VHQ for b-frames, chroma ME, SixOfNine, Qpel, 1st pass @q=4 curve-compr. H15, L5, quantizer-restrictions min. 2, max. 6
'very high quality, medium compression', tooltip: 'apt for transparent DVD backup at ~30-50% of original filesize': ME6, VHQ=4, VHQ for b-frames, chroma ME, SixOfNine, Qpel, 1st pass @q=3, curve-compr. H10, L3, quantizer-restrictions min. 2, max. 6
'insane quality, low compression', tooltip: 'apt for DVD-to-DVD-R backup (clean sources) at >50% of original filesize, also for noisy sources at >60': ME6, VHQ=4, VHQ for b-frames, b-frames 1/1.0/1, b-frame sensitivity =-3, chroma ME, Qpel and GMC, EQM UHR , 1st pass @q=4, quantizer-restrictions min. 3 max. 7
for editing, tooltip: 'fast, near lossless encoding, huge filesizes, NOT for archiving purposes': ME6, VHQ=1, no b-frames, chroma ME, EQM EHR , only for quality-based 1-pass, quantizer-restrictions constant quantizer 2
anime: cartoon mode(!), a mild b-frame setting like ratio 1.0, offset=1, ME6, VHQ=1, VHQ for b-frames, chroma ME, H.263, 1st pass @q=2, quantizer-restrictions min. 2,2,3, max. 6,6,10
*=possible replacement by Soulhunter's v6 matrix or H.263
Always active: Trellis, chroma opt., b-frames: max. 2 consecutive, ratio 1.62, offset 0 if not specified otherwise (insane, anime, for editing), ME precision = 5 for first pass.
Do you think that this would be a good start from which to work the way up?
Catchy names:
100 minutes at full resolution (if you get undersizing choose a higher preset, if you get oversizing choose a lower preset:
'fast, extreme compression' --> fast, 1 - 2 CD-Rs
'good quality, extreme compression' --> HQ, 1 - 2 CD-Rs
'good quality, strong compression' --> fast, 2 - 3 CD-Rs
'high quality, medium compression' --> fast, 3 CD-Rs
'very high quality, medium compression' --> HQ, 3 CD-Rs
insane quality, low compression' --> insane, 3 CD-Rs - 1 DVD-R
'for editing only'
'anime'
comment: Don't like this, really, but seems unavoidable. (I really would prefer a naming scheme more analogue to LAME's old preset-names, like 'fast low; low; fast medium; medium' etc. but it seems that people can rightfully expect (if somewhat vague) size-predictions for a codec that's mainly being used for two-pass encoding.)
Edited: some hubris; thanks to Koepi for spotting it!;)
Edited: 'good quality' is not so fast anymore...
Edited: 'near lossless' is fast, now; added 'insane quality'
Edited: added curve-compression settings
Edited: added compressibility hints, replaced 'light compression' with the more appropriate term 'low compression'
Edited: amended tooltip comments
Edited: renamed two presets, can you spot which ones?
Edited: changed another tooltip...
Edited: ...and another blunder ...and correction of filesize recommendations
Edited: added quantizer-restrictions
Edited: quant. restrictions, 'good quality, extreme compression' uses EQM v3 LR now
Edited: adjusted 'catchy' names