Theora:Beta1ToDo: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(update with current status and answer questions)
(hist)
 
(34 intermediate revisions by 8 users not shown)
Line 1: Line 1:
*Spec is finished
{{historical}}
Beta 2 has been released. Please see the [[TheoraTodo]] page for newer work.


----
'''Open for Beta 1''' (obsolete ?)
'''Open for Beta1'''
*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
**API updates. clean up api to add theora_ctl() for setting codec options, and move non-info-header data out of the theora_info struct into theora_state


*<acolwell> the encoder/decoder inloop filter mismatch should probably be fixed before Beta 1 as well '''(already done in alpha4?)'''
* Add API call to request a duplicate compressed frame. (not release critical)


*Already done:
**API updates. theora_packet_isheader(), theora_packet_iskeyframe(), theora_encoder_ctl(), theora_decoder_ctl() '''(in 1.0alpha4)'''
----
----
'''this can wait for the next beta'''
'''Further ideas'''
*add some sort of mmx(?) wims,VP3HoSwiYO or rodolphes sugestion?
* 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.
 
*we also need 4:2:2 and 4:4:4 pixel format support in the reference codec


----
----
'''complete decoder?'''
'''Already done:'''
 
* Specs are finished.
Is beta1 supposed to ship with a decoder supporting the whole spec (comparison: Vorbis rc1/rc2)?
* 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 [http://trac.xiph.org/changeset/7026 fixed] in 1.0 alpha 4.
<rillian> By the schedule above, 4:2:2 and 4:4:4 chroma sampling won't be supported in beta1, but will be in beta 2. Otherwise the complete spec will me implemented.
* [http://trac.xiph.org/changeset/11119 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 [https://trac.xiph.org/ticket/589 this ticket], beta 1 should ship with a decoder supporting the whole spec.
'''4:4:4 and 10 bit per channel extensions'''
* Add theora_control() for setting codec options.
 
* 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.
I would like to ask a question. Will Theora support 4:4:4 colorspace and 10 bit per color channel? I'm asking this cause I see it as an amazing alternative to closed codecs for High Definition stuff. Also, if Theora supports these two basic Professional features, seeing that even Elphel guys are implementing it on FPGA, it could really become a wide adopted industry standard codec. Thank you and sorry for the inconvenience.
** http://lists.xiph.org/pipermail/theora-dev/2005-June/002798.html


<rillian> The spec and derf's experimental codec support 4:4:4. We do not ever plan to support 10 bit samples in theora as this would be a much bigger change.
[[Category:Theora]]

Latest revision as of 01:55, 4 May 2008

Beta 2 has been released. Please see the TheoraTodo page for newer work.

Open for Beta 1 (obsolete ?)

  • Add API call to request a duplicate compressed frame. (not release critical)

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.
  • 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.