Theora:Beta1ToDo: Difference between revisions
Jump to navigation
Jump to search
Maikmerten (talk | contribs) No edit summary |
(theora_ctl() is done) |
||
Line 6: | Line 6: | ||
---- | ---- | ||
'''Further ideas''' | '''Further ideas''' | ||
* API cleanup. | * API cleanup. Really, we should 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. Instead we can provide theora_control() switches for this, and mark the theora_info struct entries as deprecated to encourage transition. Improvements should be made directly to the theora-exp api. When that's stable it can become the recommended client api, with the current compatibility layer in place for legacy applications. | ||
---- | ---- | ||
Line 16: | Line 16: | ||
* MMX optimizations for encoding from /branches/theora-mmx/ were merged in 1.0 alpha 6 and enabled in 1.0 alpha 7. | * MMX optimizations for encoding from /branches/theora-mmx/ were merged in 1.0 alpha 6 and enabled in 1.0 alpha 7. | ||
* According to [http://trac.xiph.org/cgi-bin/trac.cgi/ticket/589 this ticket], beta 1 should ship with a decoder supporting the whole spec. | * According to [http://trac.xiph.org/cgi-bin/trac.cgi/ticket/589 this ticket], beta 1 should ship with a decoder supporting the whole spec. | ||
* Add theora_control() 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. |
Revision as of 09:20, 24 July 2007
Open for Beta 1
- Main things from rillian's todo are:
- 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.
Further ideas
- API cleanup. Really, we should 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. Instead we can provide theora_control() switches for this, and mark the theora_info struct entries as deprecated to encourage transition. Improvements should be made directly to the theora-exp api. When that's stable it can become the recommended client api, with the current compatibility layer in place for legacy applications.
Already done:
- Specs are finished.
- API updates: theora_packet_isheader(), theora_packet_iskeyframe(), theora_encoder_ctl(), theora_decoder_ctl() were added in 1.0 alpha 4.
- The encoder/decoder inloop filter mismatch was fixed in 1.0 alpha 4.
- Zero-length-packet is duplicate frame as per the spec was implemented in 1.0 alpha 6.
- MMX optimizations for encoding from /branches/theora-mmx/ were merged in 1.0 alpha 6 and enabled in 1.0 alpha 7.
- According to this ticket, beta 1 should ship with a decoder supporting the whole spec.
- Add theora_control() 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.