DaalaTodo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
= Tuning = | = Tuning = | ||
* Quantization matrix | * Quantization matrix | ||
* Beta | * Beta (activity masking) | ||
* Inter band masking | * Inter band masking | ||
* PVQ RDO | * PVQ RDO |
Revision as of 11:50, 14 October 2014
Simple Things
- Overflow checking for allocations in od_state_ref_imgs_init().
Tuning
- Quantization matrix
- Beta (activity masking)
- 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)
- SPIHT as k-tokenizer
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
Visualization
- Add ability to display decoder side information to player_example
- Block size split decision
- Cost in bits per block (use log scale)
- No-ref and skip flags
- Mode information (if we signal intra)
- Motion vectors
- Display prediction residual
- Show only one plane (Y, Cb, Cr)