DaalaTodo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
= Simple Things = | |||
* Overflow checking for allocations in od_state_ref_imgs_init(). | |||
= Tuning = | = Tuning = | ||
* Quantization matrix | * Quantization matrix | ||
Line 4: | Line 9: | ||
* Inter band masking | * Inter band masking | ||
* PVQ RDO | * PVQ RDO | ||
* Better MV cost estimates | |||
* Better MC distortion metrics (SATD, some MSE/SATD hybrid, no-ref-aware, maybe table driven Theora-style, etc.) | |||
* Better MV split flag rate estimates | |||
= Known broken/suboptimal = | = Known broken/suboptimal = | ||
Line 9: | Line 17: | ||
** Never tuned on inter | ** Never tuned on inter | ||
** Not considering chroma | ** Not considering chroma | ||
* Code quantizers on a log scale | |||
* Re-order bitstream (e.g., don't code all MVs at the front, etc.) | |||
* Investigate bias introduced by coefficient scaling | |||
= New | = New work = | ||
* VQ for inter frames, with codebook selected based on dim m | * VQ for inter frames, with codebook selected based on dim m | ||
* Motion vector "mask" based on previous frame | * Motion vector "mask" based on previous frame | ||
* Use coeff magnitude correlation for modelling | * Use coeff magnitude correlation for modelling | ||
* Per SB/MB/block/something quantizer changes | |||
* Variable Framerate support | |||
* Dynamic frame size changes (without keyframes) | |||
= Entropy coding = | = Entropy coding = | ||
Line 21: | Line 35: | ||
* Add "skip-all remaining bands" flag | * Add "skip-all remaining bands" flag | ||
* Better encoding of the CfL sign | * Better encoding of the CfL sign | ||
* Add SIMD to the decoder search |
Revision as of 12:17, 7 October 2014
Simple Things
- Overflow checking for allocations in od_state_ref_imgs_init().
Tuning
- Quantization matrix
- Beta
- Inter band masking
- PVQ RDO
- Better MV cost estimates
- Better MC distortion metrics (SATD, some MSE/SATD hybrid, no-ref-aware, maybe table driven Theora-style, etc.)
- Better MV split flag rate estimates
Known broken/suboptimal
- Block size decision
- Never tuned on inter
- Not considering chroma
- Code quantizers on a log scale
- Re-order bitstream (e.g., don't code all MVs at the front, etc.)
- Investigate bias introduced by coefficient scaling
New work
- VQ for inter frames, with codebook selected based on dim m
- Motion vector "mask" based on previous frame
- Use coeff magnitude correlation for modelling
- Per SB/MB/block/something quantizer changes
- Variable Framerate support
- Dynamic frame size changes (without keyframes)
Entropy coding
- Make the Laplace vector encoder (aka k-tokenizer) faster
- Add "skip-all remaining bands" flag
- Better encoding of the CfL sign
- Add SIMD to the decoder search