HyperFish: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 128: Line 128:
== '''Next Meeting''' ==
== '''Next Meeting''' ==


We're going to have our first meeting Wednesday, November 24th, 23:59 GMT (7pm EST) on irc.freenode.net channel #Xiphmeet - it will be mostly preliminary visioning, since most everything depends on [[OggStream]] (or equiv)
We're going to have our first meeting Wednesday, November 24th, 23:59 GMT (7pm EST) on irc.freenode.net channel #Xiphmeet - it will be mostly preliminary visioning, since most everything depends on [[OggStream]] (or equiv).
[http://www.591dy.com 电影]
[http://www.591dy.com 免费电影]
[http://www.591dy.com 电影下载]
[http://www.591dy.com 在线电影]
[http://www.591dy.com 影视]
[http://www.591dy.com 免费电影下载]
 
[http://080.google.591dy.com 猫沙]
[http://079.google.591dy.com 猫抓板]
[http://078.google.591dy.com 猫用品]
[http://077.google.591dy.com 猫粮]
[http://076.google.591dy.com 模具]
[http://075.google.591dy.com 新力净化]
[http://074.google.591dy.com 空气净化行业]
[http://073.google.591dy.com 洁净论坛]
[http://072.google.591dy.com 洁净技术]
[http://071.google.591dy.com clean room]
[http://070.google.591dy.com 无尘室]
[http://069.google.591dy.com 无尘室净化设备]
[http://068.google.591dy.com 风机过滤网]
[http://067.google.591dy.com 有隔板空气过滤器]
[http://066.google.591dy.com 铝隔板式高效率空气过滤器]
[http://065.google.591dy.com 无隔板高效空气过滤器]
[http://064.google.591dy.com 高效率空气过滤器]
[http://063.google.591dy.com 空气过滤器]
[http://062.google.591dy.com 狩猎]
[http://061.google.591dy.com 头盔夜视仪]
[http://060.google.591dy.com 红外热成像仪]
[http://059.google.591dy.com 双筒夜视仪]
[http://058.google.591dy.com 枪械瞄准镜]
[http://057.google.591dy.com 微光夜视仪]
[http://056.google.591dy.com 夜视瞄准镜]
[http://055.google.591dy.com 手持夜视观察仪]
[http://054.google.591dy.com 药物流产]
[http://053.google.591dy.com 钛板]
[http://052.google.591dy.com 冷却塔]
[http://051.google.591dy.com 挖掘机]
[http://050.google.591dy.com 搅拌器]
[http://049.google.591dy.com 球磨机]
[http://048.google.591dy.com 离心机]
[http://047.google.591dy.com 会计师事务所]
[http://046.google.591dy.com 标签打印机]
[http://045.google.591dy.com 吸顶灯]
[http://044.google.591dy.com 反光材料]
[http://043.google.591dy.com 强直性脊柱炎]
[http://042.google.591dy.com 自动门]
[http://041.google.591dy.com 钢结构]
[http://040.google.591dy.com 尿毒症]
[http://039.google.591dy.com 化学清洗]
[http://038.google.591dy.com 工业清洗]
[http://037.google.591dy.com 电视墙]
[http://036.google.591dy.com 加密狗]
[http://035.google.591dy.com 过滤器]
[http://034.google.591dy.com 艾滋病]
[http://033.google.591dy.com 梅毒]
[http://032.google.591dy.com 尖锐湿疣]
[http://031.google.591dy.com 淋病]
[http://030.google.591dy.com 性病]
[http://029.google.591dy.com 电子白板]
[http://028.google.591dy.com 升降机]
[http://027.google.591dy.com 脚手架]
[http://026.google.591dy.com 高压水枪]
[http://025.google.591dy.com 吸脂]
[http://024.google.591dy.com 洗涤设备]
[http://023.google.591dy.com 桑拿设备]
[http://022.google.591dy.com 加湿器]
[http://021.google.591dy.com 防盗门]
[http://020.google.591dy.com 保暖内衣]
[http://019.google.591dy.com 防护服]
[http://018.google.591dy.com 商铺招租]
[http://017.google.591dy.com 户外广告]
[http://016.google.591dy.com 保温材料]
[http://015.google.591dy.com 防火材料]
[http://014.google.591dy.com 涂料]
[http://013.google.591dy.com 无痛流产]
[http://012.google.591dy.com 油漆]
[http://011.google.591dy.com 拓展训练]
[http://010.google.591dy.com 婚庆公司]
[http://009.google.591dy.com 旗袍]
[http://008.google.591dy.com 婚纱]
[http://007.google.591dy.com 管道疏通]
[http://006.google.591dy.com 婚纱摄影]
 
[http://005.google.591dy.com 家政]
[http://005.google.591dy.com 家政服务]
[http://005.google.591dy.com 家政服务公司]
[http://005.google.591dy.com 保姆]
[http://005.google.591dy.com 钟点工]
[http://005.google.591dy.com 小时工]
 
[http://004.google.591dy.com 汽车坐垫 ]
[http://004.google.591dy.com 汽车坐垫代理]
[http://004.google.591dy.com 汽车坐垫销售]
[http://004.google.591dy.com 汽车坐垫生产]
[http://004.google.591dy.com 北京汽车坐垫]
 
[http://003.google.591dy.com 白癜风]
[http://003.google.591dy.com 白癜风专家]
[http://003.google.591dy.com 白癜风医院]
[http://003.google.591dy.com 白癜风治疗]
[http://003.google.591dy.com 白癜风药品]
[http://003.google.591dy.com 白癜风信息]
 
[http://001.google.591dy.com  美容仪器]
[http://001.google.591dy.com  美容设备]
 
[http://002.google.591dy.com  空调清洗]
[http://002.google.591dy.com  中央空调清洗]
[http://002.google.591dy.com  清洗空调]
[http://002.google.591dy.com  清洗中央空调]
 
[http://google.591dy.com/banjgs/  搬家公司]
[http://google.591dy.com/zqj/  造桥机]
[http://google.591dy.com/zhykt/  中央空调]
[http://google.591dy.com/mkwr/  麦克维尔]
[http://google.591dy.com/guandsht/  管道疏通]
[http://google.591dy.com/guandsht/  疏通管道]
[http://google.591dy.com/nihd/  霓虹灯]
[http://google.591dy.com/weishjj/  卫生洁具]
[http://google.591dy.com/youlshb/  游乐设备]
[http://google.591dy.com/rujq/  乳胶漆]
[http://google.591dy.com/sugmch/  塑钢门窗]
[http://google.591dy.com/cich/  CI策划]
[http://google.591dy.com/sirzht/  私人侦探]
[http://google.591dy.com/keshml/  可视门铃]
[http://google.591dy.com/lvshshws/  律师事务所]
[http://google.591dy.com/lvshshws/  驾校]
[http://google.591dy.com/lvshshws/  北京驾校]
[http://google.591dy.com/zhouch/  轴承]
[http://google.591dy.com/yeshy/  夜视仪]
[http://google.591dy.com/gaoyqxj/  高压清洗机]
[http://google.591dy.com/tielbzh/  铁路标准]
[http://google.591dy.com/tielgf/  铁路工法]
[http://google.591dy.com/jiaqj/  架桥机]
[http://www.starpioneer.com/  网站推广]
[http://google.591dy.com/ 快餐]
[http://google.591dy.com/ 订餐]
[http://www.591dy.com/tianhb/ 天花板]
[http://www.591dy.com/necjhj/ NEC交换机]
[http://google.591dy.com/yinshjx/ 印刷机械]
[http://google.591dy.com/zhengxmr/ 整形美容]
[http://google.591dy.com/tangnb/ 糖尿病]
[http://google.591dy.com/gaoxy/ 高血压]
[http://google.591dy.com/jianc/ 建材]
[http://google.591dy.com/bianyq/ 变压器]
[http://google.591dy.com/jiaohb/ 胶合板]
[http://google.591dy.com/reshq/ 热水器]
[http://google.591dy.com/lousht/ 楼市图]
[http://google.591dy.com/ershch/ 二手车]
[http://google.591dy.com/anfshb/ 安防设备]
[http://google.591dy.com/jidq/ 继电器]
[http://google.591dy.com/chuangq/ 传感器]
[http://google.591dy.com/duijj/ 对讲机]
[http://google.591dy.com/chongwshp/ 宠物食品]
[http://google.591dy.com/maol/ 猫粮]
[http://google.591dy.com/goul/ 狗粮]

Revision as of 09:12, 27 November 2004

Overview

This is an experimental subgroup aimed at solving specific project barriers in a timely fashion.

A lot of energy has gone into Xiph, and while producing extremely useful software, it's history is also littered with frustrated, burned out hackers. I'd like to see us evolve a new way of working, and I believe this begins by a subgroup forming a vision, goals, and a strategy towards getting these goals met.

  • Hyperfish members will:
    • work openly and *transparently*, even if we're the only person working on a project
    • report *regularly* to the group how we are progressing (ie, if we're on schedule)
    • meet monthly (on IRC) to discuss our progress, timeline, and collectivly brainstorm

 

  • Each HyperFish project will have:
    • clearly documented purpose and list of needs
    • milestones with specific dates for completion
    • frequency of progress reports expected, depending on the size of the project and how critical it is

 

If this process proves useful, it will hopefully be adopted by Xiph as standard procedure.


Roadmap

Major Milestone I

All Xiph codecs accessable with a single library.

OggStream

It's basically what OggFile was suppost to be; a universal Ogg stream handler through "codec plugins" so that media players, stream software, encoders, etc don't have to add support for each codec seperatly. This is a basic foundation for most other projects, since if they are codecs they will reach our audience faster through it and if they're applications they'll be able to use all current and future Ogg codecs with only one API to support.

It needs developer time both for coding and for settling on an easy to implement API that's flexible enough to handle any kind of future codec (including meta/effects codecs).

The first milestone is a rough API blueprint for which future discussion can take place through. This will be documented on project page and ready for discussion by Wed. Nov. 24th.

Future milestone will be discussed and detirmined at the next (first) meeting.


libogg2 documentation

Currently (afair) only Monty and myself (Arc) know libogg2's API well enough to port existing codec libraries (vorbis, speex, flac) to use it. Documenting libogg2 will allow additional people to get involved in the "fun".

This requires the person writting the docs to get the appropriate information from the source code and by talking to either Monty or Arc (most probobally, some combination of the two).

The first milestone is function and structure documentation. This will be finished by Nov. 24th. The second milestone is the encode/decode process, or how to actually use it. This will be finished by Dec. 1st. The third milestone is finishing it with figures and zero-copy explaination. This will be finished by Dec. 15th.


writ codec plugin

Writ is an extremely simple "codec" and, really, simply needs to be handled by the application. However, a codec plugin is still required to detect and get basic information from the header for OggStream. This is a good place to start because it's simple.

It requires liboggstream to be finished and approximatly 10 hours of Arc's time.


libvorbis porting/plugin

libvorbis needs to be ported to libogg2 and have a codec plugin written for it.

This requires liboggstream to be finished and libogg2 to be documented (unless Arc or Monty writes it). It will take approximatly 12 hours to port to libogg2 (everything but VorbisFile, which disappears now) and 36 hours to write and debug the codec plugin. Some of this time will be spent working on general OggStream audio issues.

First milestone is libogg2 porting Second milestone is decode support Third milestone in encode support

No dates on these milestones can be set until OggStream's timeline is established.


libtheora plugin

libtheora has already been ported to libogg2 (by Arc), but still needs a codec plugin written for it.

This requires liboggstream to be finished. It will take approximatly 52 hours to write and debug the codec plugin, much of this time will be spent writting raw video format conversion functions.

First milestone is YUV 4:2:0 decode support Second milestone is YUV 4:2:0 encode support Third milestone is YUV 4:2:2, 4:4:4, RGB24, and Greyscale conversion


No dates on these milestones can be set until OggStream's timeline is established.


I have written conversions for (4:2:0)YUYV, YVYU, YV12, (4:2:2) YUY2, (4:4:4) AYUV, RGB24 and RGB32 already in my directshow project, these could be easily appropriated for this task.

Also most of these generic stream mechanisms already exist in my project (though it is a bit biased towards directshow) and it is based off my own demux library (libOOOgg) and not libogg/libogg2 though it could be used for inspiration/appropriation. It's also written in C++, so this may be unpalatable to some.

Eg. http://svn.xiph.org/trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStreamFactory.cpp

Zen.

libspeex plugin

libspeex uses it's own bitpacker, so it cannot take advantage of libogg2's zerocopy advantages. Therefore, the codec plugin will use libspeex as it currently exists and "copy" (from memory to bitpacker) the packets into libogg2, or vice versa for decode, as speexenc/speexdec do.

This requires liboggstream to be finished, libogg2 to be documented, and approximatly 48 hours to write and debug the codec plugin (likely half this estimate if the libvorbis plugin author tackles this immediatly afterward).

First milestone is decode support Second milestone is encode support


libflac plugin

liboggflac needs to be ported to libogg2 as well as the codec plugin written for it.

This requires liboggstream to be finished, libogg2 to be documented, and the new OggFLAC encapsulation format be standardized so there's not a wasteful repetition of work. It will take approximatly 16 hours to port and 48 hours to write the codec plugin. Again, this would be less if the libvorbis/libspeex author tackled this job as they would already be familiar with how to write audio plugins.

First milestone is decode support Second milestone is encode support


MNGOverlay plugin

It's been suggested that MNG be used not just as video but also for graphical subtitles. This may mean that this codec acts as a meta/effects codec, inputting video output from another codec and outputting it with the overlay merged properly.

This task needs to be discussed further.


Major Milestone II

All Free Software media applications which use libogg1 and/or libvorbisfile converted to use the single library solution.


Major Milestone III

Software that doesn't exist, but should/could be written, which is made easy by single library solution.

Next Meeting

We're going to have our first meeting Wednesday, November 24th, 23:59 GMT (7pm EST) on irc.freenode.net channel #Xiphmeet - it will be mostly preliminary visioning, since most everything depends on OggStream (or equiv).