Theora:Beta1ToDo: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(update todo)
(add granulepos change to the todo)
Line 7: Line 7:
** Add API call to request a duplicate compressed frame.
** Add API call to request a duplicate compressed frame.


* Change spec and implementation of the Ogg mapping to base granulepos on the count of decoded frames rather than the index of the current frames to match other Xiph codecs. Recommendation from Thomasvs.
* 4:2:2 and 4:4:4 pixel format support in the reference codec.
* 4:2:2 and 4:4:4 pixel format support in the reference codec.
----
----

Revision as of 15:23, 7 March 2006

Open for Beta1

  • According to this ticket, beta1 should ship with a decoder supporting the whole spec.
  • Main things from rillian's todo are:
    • Implement non-vp3 qi matrix support in the reference decoder.
    • Implement per-block qi switching as per the spec.
    • Implement zero-length-packet is duplicate frame (did this get put in the spec?)
    • Add API call to request a duplicate compressed frame.
  • Change spec and implementation of the Ogg mapping to base granulepos on the count of decoded frames rather than the index of the current frames to match other Xiph codecs. Recommendation from Thomasvs.
  • 4:2:2 and 4:4:4 pixel format support in the reference codec.

This can wait for the next beta but doesn't have to

  • Add some sort of mmx(?) wims,VP3HoSwiYO or rodolphes sugestion?
    • There is a branch with liboil calls: theora-oil.
    • There is a branch of theora-lib with MMX optimization for encoding: theora-mmx.
    • Also there is theora-exp, an experimental library supporting the whole spec and having also MMX optimization for decoding.

Further ideas

  • API cleanup. Add theora_ctl() for setting codec options, and move non-info-header data out of the theora_info struct into theora_state. rillian wanted to do this for beta 1, but the alpha api has been in use so long, it's now felt that we should

maintain compatibility for the 1.0 release.


Already done:

  • Specs are finished.
  • API updates: theora_packet_isheader(), theora_packet_iskeyframe(), theora_encoder_ctl(), theora_decoder_ctl() (in 1.0alpha4).
  • The encoder/decoder inloop filter mismatch was fixed in alpha4.