DaalaTodo

From XiphWiki
Revision as of 12:50, 14 October 2014 by Jmspeex (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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)