Difference between revisions of "DaalaTodo"

From XiphWiki
Jump to navigation Jump to search
m
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 ideas =
+
= 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 13: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