Matroska is a multimedia container format like AVI and aim to be an open standard.
It is open and absolutely free for use. Everyone can get specification easily and develop for their own purpose(personal, research or commercial).
The format adopts EBML(Extensible Binary Meta Language) design for extension flexibility.
There are some free implementations for matroska.
The most famous projectss are libebml & libmatroska released under LGPL.
For most case, LGPL is ok. But for commercial usage and companies, BSD License is prefered.
Before 2007, a parser released under BSD License can be found easily on internet.
But it is hard to get a copy now.
For those who try to get it, you can get it (2 files:MatroskaParser.c MatroskaParser.h)
via aegisub project (whole project released under 3-clause BSD License).
For InputStream implementation reference, mkv_wrap.cpp and mkv_wrap.h can be refered.
2009年9月28日 星期一
2009年9月27日 星期日
Ubuntu 9.10
近日改裝了Ubuntu 9.10 daily build
第一時間可以明顯感覺到的是開機速度又比 Ubuntu 9.04 快些
而開機splash比較有科技感了
而系統預設的中文輸入法從 SCIM 改為 iBus
即便如此, 前者個人使用穩定性上不足, 後者反應速度上不佳
我都移除改安裝gcin
許多主要軟體都有重大的版本更新
linux kernel 2.6.31/GNOME 2.28/Mesa 7.6 (採用了新的Gallium3D 架構)
桌面環境的使用上可以感受到所帶來的效能增進
另外也修正了一些問題
(ex: 我使用的華為 E220, 原本需要做些檔案修正才可以正常使用, 現在可以直接正常上網了)
另外像是更新帶來的新特性
Firefox 3.5(TraceMonkey JavaScript Engine)
OpenOffice 3.1(強化圖形顯示)
Pidgin 2.6.2(支援Google Talk Voice chat)
gcin 1.4.5(解決著名的小灰問題)
對於 Ubuntu 的日漸成熟, 我想應該是有目共睹的
2009年9月21日 星期一
Play with Android 簡報上線
從決定開始要 porting android 到 zaurus 當練習
這段期間看了一些資料, 也看到一些關於Android有趣的實做與專案
以軟體架構的角度看來, Android 的確是個饒富趣味的系統
其特殊的軟體架構, 也讓Android在Symbian, WM, Linux 三強鼎立中走出自己的路外
這份簡報的主旨並不在於教導 porting 或是 marketing 分析
僅僅輕描淡寫地談了系統架構, 動手編譯Android 到客製系統
從慢慢地動手深入 Android, 進而瞭解其相較於其他系統不同的開放與特殊性
或是進而體會到其未至成熟的部份
可以確定的是即便到了 1.6, Android 還需要更多的實作與改善
套句物理頑童費曼的名言: "這下面的空間還大著呢!"
是的, 這下面的進步的空間還大著呢
這段期間看了一些資料, 也看到一些關於Android有趣的實做與專案
以軟體架構的角度看來, Android 的確是個饒富趣味的系統
其特殊的軟體架構, 也讓Android在Symbian, WM, Linux 三強鼎立中走出自己的路外
這份簡報的主旨並不在於教導 porting 或是 marketing 分析
僅僅輕描淡寫地談了系統架構, 動手編譯Android 到客製系統
從慢慢地動手深入 Android, 進而瞭解其相較於其他系統不同的開放與特殊性
或是進而體會到其未至成熟的部份
可以確定的是即便到了 1.6, Android 還需要更多的實作與改善
套句物理頑童費曼的名言: "這下面的空間還大著呢!"
是的, 這下面的進步的空間還大著呢
Play With Android
View more presentations from Champ Yen.
2009年9月17日 星期四
Cont. Android on Zaurus - swap
finally, i compiled a static linked busybox for swap. now browsing is much responsive and smoonth. these words are input by my zaurus.
2009年9月16日 星期三
續 Android 1.6 on Zaurus C750 - Keypad/Screen View
當初構想中的Android Zaurus床頭機是Landscape View
因此無線網路通了之後, 就開始著手修改
在移植過程中就已經發現一件事,
當Zaurus蓋起來時Orientation會切換到Landscape
而一旦打開時就會切到Portrait
這一切都是因為螢幕編框有的凸起, 將鍵盤上方的一個switch 壓下
透過 getevent 指令, 可以確認這是 keyboard 所發出的事件
詳細的修改就不說了, 主要是 driver/input/keyboard/corgikbd.c
針對 SWA (Switch-A) 的結果, 傳回相反值
Android 1.6 已經很聰明的會轉換 Touchscreen 的事件座標
而keyboard 的方向鍵也是 .... 這才讓我注意鍵盤方向對應我的設定有誤
Android 原本的 Screen Orientation 和 方向鍵是針對 手機去設計的
所以要再次調整 /system/usr/keylayout/qwerty.kl 的數值
如此就是一台堪用的床頭機...
2009年9月15日 星期二
續 Android 1.6 on Zaurus C750 - Touchscreen/Wifi
近日已將 Touchscreen 與 Wireless 相關驅動程式與設定調整好
Touchscreen 驅動後即可使用, Wireless 方面是參考這篇
之後要將Screen自Portrait 轉為 Landscape
目前的執行結果如上圖
ZC750 + Android 在網頁瀏覽的反應與速度上差強人意
但是作為熟悉Android Porting是個很好的練習
2009年9月10日 星期四
Android 1.6 on Zaurus C750 - Basic System Works!
Zaurus 是個人在 2003 年時夠入, 近日也不太使用
這段期間從 Cacko, OpenZaurus, pdaXrom 到 Angstrom 都玩過
最近工作需要熟悉Android 移植流程, 在硬體平台尚未完備前
就先行拿這台舊PDA 研究 Android
圖上是 Android 1.6 在 Zaurus C750 開機完成後的畫面
kernel 部份是使用 OE 2.6.26 for Zaurus C7x0
對應的Android 修改是參考 OMAP kernel android-2.6.26
並且加入了 2.6.27 部份的更新與 PMEM 與 w100fb 的 double buffer與加速的修正
目前尚未完成, 無法使用, 還需要針對鍵盤輸入與電源偵測做處理
啟動CF WIFI 來使用也是必定的
相關 source code 與 binary 會在完工後一併釋出
(這陣子survey 發現很多相關網站只釋出binary, 但一直迴避釋出source ex: Omegamoon 釋出許多binary, Zubuntu 已經到 2.0 確從未釋出任何 kernel source)
總之, 這就是開放平台的好處
與C750 同時期的PDA, 硬體或許過時然而卻也不是不堪使用
SONY CLIE UX50 or WinCE/WM PDA 如今又能拿來做些甚麼?
然而相關軟體都已經過時許久, 而且也無持續更新
而規格與軟體不開放, 就算有心也難為無米之炊
訂閱:
文章 (Atom)
在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例
Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...
-
在 Halide 的使用上會有錯覺地認為 Halide::Runtime::Buffer 的使用必須與 libHalide.so or libHalide.a linking 才可以. 但其實 Halide::Runtime::Buffer 是可以單獨使用的, 只需要 head...
-
現今對於 Daily Linux Developer / User 面對不同程式/開發版本環境感到很頭疼, 常常疲於 執行舊版程式需要安裝舊版本 Library, 設定 RPATH / LD_LIBRARY_PATH 開發需求建立不同的版本 SDK 開發/執行環境, 在較舊系統...
-
在講解 680 中的 SIMD 單元 - HVX 之前, 還是先以 系列文 I 的 blocks diagram開頭, 並且今日重點會是文中提到第3點的官方文件 從 blocks diagram 中可以看到 HVX 由三個主要部分所組成 VX : Vector ...