IEC 61937 Overview

SPDIF 界面的規格, 可以看 IEC 60958-3 的描述. 它是由 Sony 和 Philips 所共同制定的規格, 又稱作 S/PDIF. 主要是用來傳送壓縮後的音訊資料或是解壓縮後的立體聲資料.

如果 SPDIF 上面承載的是壓縮後的音訊資料, 那麼就要參考 IEC 61937. SPDIF 也傳不動的東西, 就要靠新的規格 HDMI 了. HDMI 可以傳送 4 倍 SPDIF 的速度, 相當於每個 sample 16 bits. 以 24 bits 的 LPCM 來說, 16 bits 相當於壓縮 66.7%. TrueHD 和 DTS-HD MA 差不多就是這種壓縮率.

61937 內容
part-1 general
part-2 burst info
part-3 AC-3
part-4 MPEG
part-5 DTS
part-6 AAC
part-7 ATRAC 1/2/3
part-8 WMA
part-9 Dolby MAT (Metadata-enhanced Audio Transimission)
part-10 MPEG4 – ALS
part-11 MPEG4 AAC in LATM/LOAS (streaming)
part-12 DRA

SPDIF 的介紹可以看這個網站: http://www.hardwarebook.info/S/PDIF

前輪變黑輪

我的福特車最近的確沒有很常洗給人家洗, 頂多是自己用水沖一沖.

不過, 我赫然發現我前輪的輪圈蓋愈來愈黑了. 這樣看起來很可怕, 好像漏了機油或是煞車油的感覺. 有時也真的聞到一些臭油味.

於是我提早了 500 公里做保養, 牽車的時候順便請技師幫我檢查漏油的問題.

衣著邋塌油汙的計師還真是個好人, 他說: “這個正常啦! 前輪的來令片磨出來的屑屑, 沾到輪圈蓋上了. 你看你這個後輪是鼓式的有沒有, 就不會黑黑的. 每部車都這樣啦!"

我看別的車真的沒有那麼黑, 我想他們一定有洗到輪圈蓋. 我聽說用冷水沖洗熱的煞車碟盤會導致煞車碟變形, 所以刻意不會沖洗煞車碟一帶.

至於油味嘛, 後來檢查出某個墊片真的有漏油.

而福特的技師衣服也愈來愈髒了, 是送洗的費用被 cost down 了嗎?

RealAudio 格式整理

RealMedia 雖然算是我們的合作夥伴, 但是我還是要吐槽他們格式紊亂! 我知道 Wiki 上有做整理, 不過有時忽然又會忘記下哪一個 keyword 才找得到, 乾脆整理在自己的網站上吧!

 

Format 格式名稱 技術 特性 對應 player
RA1     一說就是 RA2-LBR  
RA2-LBR lpcJ IS54,VSELP 過時, 14.4 kbps  
RA2-HBR 28.8 G.728,LD-CELP 過時, 28.8 Kbps  
RA3 dnet Dolby AC3-like 過時  
RA4        
RA5 sipr Sipro ACELP 過時 Real Voice
RA6 cook Cook 1-2 CH RealPlayer G2
RA7        
RA8-LBR cook Cook,Gecko2 12~64 Kbps RealPlayer G2
RA8-HBR atrc Sony ATRAC3 >64 kbps,過時  
RA9 raac MPEG LC-AAC    
RA10-LBR cook Cook,Gecko2 5.1 CH, 12~128Kbps RealOne Player
RA10-HBR racp MPEG HE-AAC 128~800 Kbps RealOne Player
RA10 ralf RA lossless   RealOne Player

 

[note] RealOne player is backward compatible to RealPlayer G2.

使用 Awk 的小筆記

因為需要把 link 出來的執行檔切到 .bss section 為止, 以便做成比較小的載入檔, 所以我們一直需要一個把大檔案切小的功能. 反正 .bss 是不需要初值的, 根本不用儲存那一塊.

原先我們的公用 makefile 是比較陽春的, 為了吃進參數方便, 在 makefile 中 run-time 去編譯一個 c++ 的小程式, 以便在 Linux 和 Cygwin 的環境都可以用.

不過最近遇到問題了, 假如某台 Linux server 不適合灌 development tool chain, 那根本就不能 make 了. 為了解決這個問題, 我決定用 gawk 來做它.

Gawk 來自 AT&T 的 awk, 加了 G 字頭之後, 就表示它是 Gnu 家族的 freeware 成員. 另外還有個 Nawk, N 字頭表示 New (新版).

Gawk  沒有型別定義, 變數可能是 string, 也可能是 number,  完全看場合而定. 它可以寫成一行文 gawk {}, 或是讀一個批次檔來執行 gawk -f batchfile.

因為一行文已不符合我的需求, 所以我這次是用檔案.

x = $1

就把參數 1 抓進來了. $2 表示參數 2, 依此類推. 但是 $0 表示一整行的所有參數.

那第二行怎麼辦呢?

用 getline, getline 之後, 原來的 $0, $1,…就都變成與下一行的對照關係了.

依據這樣的參數, 就可以計算出真正需要的 file size 有多大.

不過另外有一個問題. Gawk 有三角函數的計算能力, 我卻找不到計算 16 進位的加減法功能? 這時當然是上網找打手. 在 http://os.cqu.edu.au/cgi-bin/info/info2html.cgi?(gawk)Strtonum%20Function 有現成的 sting 到 number 轉換程式.

Gawk 是可以呼叫 function 的:

x = abs($1)

function abs(str)

{

}

因為 awk 沒有型別,  所以 function 的參數就直接是 variable. 我引用的這個網址使用了很漂亮的 index 技巧, 有興趣的人可以參考這個寫法.

if ((k = index(“abcdef", c)) > 0)

 k += 9

如此就把輸入 c = a, k = 9+ 1 (1 是 index = 1) 的計算給求出來了.

Gawk 還可以呼叫 system() 函數, 有這個功能就可以在 Gawk 裡面做很多事情. 總之, 這樣就可以把我要的 file size 計算出來了.

那麼怎麼砍檔案呢? 網路上有各式各樣的講法. 有人說可以寫一個 truncate function、有人說可以用 (c)split、有人說可以用 cut.  

split 會產生一大堆相同 size 的檔案, 而且也只適合於 text (line-based) 的文檔.

Binary 檔的切割, 用 cut 也不正確. 如果用 cut –help 去看, 就知道 cut -b 並不是要 cut 幾個 byte 出來, 而是每行 cut 這麼多 bytes!

所以用 head 或是 tail 才對, 他們才是適合切割 binary 檔的.

head -c 1000 BigFile > SmallFile

這樣就行了, 那個 1000 就用 gawk 來幫忙算. 如此即可以免去即時編譯 c++ 的困擾.

gawk 的使用手冊可以參考這個網址, 我都是用到多少才去了解多少, 沒手冊還真是不行.

http://www.grymoire.com/Unix/Awk.html

我讀 «星期一的領導課» – 下

第八週 (不再看時間的臉色), 這裡面主要是講時間管理. 東尼提醒說: 主管可以處理三方面的事: 組織/ 排序、干擾、會議.

排序和組織主要依據帕雷托法則 (Pareto principle), 也就是 80/20 法則安排工作, 做不完的事情可以留到後面, 避免永遠都做不完又做不好. 干擾就是不要太常去找別人溝通, 也不允許其他人經常來打斷工作. 因為切換工作會大幅降低效率, 等於時間被偷走. 開會則是要準時開始與結束. 只有自己可以支配自己的時間, 不要把決定權交給其他人.

本週的重點是:

如何運用時間是我的責任. 我需要掌握我的時間, 如此, 才能掌控我的人生.

我需要將我的會議時間減半.

我會花兩週的時間, 詳細記錄我如何運用時間, 以便未來我可以做出更好的選擇. 略去某些事不做, 或者動作快一點.

我會利用定出優先次序、限制干擾發生, 及有效管理會議, 小幅增加可供我運用的時間.

第九週 (激勵: 水桶與勺子), 激勵就像是往水桶裡加水. 每位員工有一個桶子, 你可以往他的桶子裡面加水, 保持他水面的高度, 而負面的批評則是把水舀走. 不良的工作夥伴, 自己不做事, 相當於把別人的水舀到自己的桶子來. 自己開心了, 但是別人就倒楣了.

東尼提醒傑夫兩件事不可忘記:

1. 你的領導成功來自你的團隊的累積成果.

2. 你需要你的團隊, 遠多於他們需要你.

為了激勵如此重要的團隊, 主管需要做幾件事:

1. 要真誠.

2. 要有明確的回饋, 才能為桶子加水.

3. 回饋必須要即時.

4. 回饋必須符合接收者的價值觀. 比方說, 有人可以接受小卡片、有人只要錢.

激勵員工的方法雖然有千百種, 但是讓大家認為 “加入這個團隊, 就是身份崇高的印記". 這點相當地重要,  甚至可以說是基本的. 因為它可以讓外人源源不絕給予崇敬眼光, 因而產生激勵的能量.  本週的筆記是:

每個人都有一只幹勁之桶, 每個人也有一把勺子. 身為領導者, 你的職責就是保持每個人的桶子盈滿.

裝滿桶子的方法: 知道甚麼是要事、給予回饋、提供認可、誠實告知.

我裝滿愈多的桶子,  我的桶子就會愈滿. (指主管)

我需要留心什麼對我的團隊成員是重要的, 同時要給他們適當的褒獎.

第十週 (分享: 最棒的禮物), 傑夫終於上到了第十課, 這一天東尼總結這整個會面的過程. 首先是態度, 外在的事物固然無法控制, 但是態度是可以由自己決定的、由內而發的. 東尼分享了他父親留給他的 “培養樂觀的六個法則":

1. 要怎麼收穫、先那麼栽.

2. 知道在哪裡播種.

3. 一旦時機成熟, 收割.

4. 對去年的收成我們無能為力.

5. 不要為天氣煩惱- 或是擔心其他事.

6. 對自己寬容一點 – 擁有持續播種的力氣與慾望很重要.

我想各位網友一定是一看就懂, 不需要解釋了. 其中只有第 3 點有點玄, 我還沒有完全領悟. 如果把這六句話用在選股上面, 我倒是可以完全理解. 想發財要找好的投資工具、選好股票、逢高賣出、不要想以前的股價、不要擔心崩盤、保留再投資的財力與心力…呃, 這樣解釋應該沒錯吧?! 哈哈!

東尼最後給傑夫的建議是, 把遺產 (legacy) 留給其他人. 所謂遺產並不是死了以後才忽然變成繼承人所有的那種東西, 而是 “典型在夙昔" 的那個遺產. 書中提到 “今天暫時停止" (A Goundhig Day) 這部電影. 主人翁經過一天又一天的練習, 終於變成一個全新的人. 說真的, 我超喜歡這部電影, 第一次是在加拿大的蒙特婁看的, 後來又看了 N 遍. 故事裡面男主角因為自己一成不變, 老天就讓他永遠待在同一天.

如果只想做一個常人也就罷了. 想做一個了不起的人, 就要把改善自己與他人當成天命. 相對於舒適圈,  遺產圈有 3 個房間. 第一個是閱讀室, 一個人是由他所吸收的東西和他的夥伴所速照的, 所以要多讀書. 第二個房間是聆聽室, 主管的自大傲慢, 無限膨脹的自尊和感覺遲鈍是失敗的三大原因, 聆聽可以幫助主管爬出管理黑洞的陷阱. 第三個房間是給予室. 靈車沒有行李架, 所以要儘量給予他人.

安德魯·卡內基 (Andrew Carnegie) 說: “一般人只會將 25% 的精力與能力投注在自己的工作上, 對那些能將自己能力的 50%  投入工作的人, 這個世界會脫帽向他致敬. 至於那些寥若晨星, 將自己完全奉獻給工作的人, 這個世界會為他們倒立."

我想其中的精神絕非工作到死, 而是把工作與人生的意義相結合. 讓自己感覺到在向某一個目標邁進.目標是自我改進最強的動力, 大部分的人都不設定目標. 因為他們不知道設定目標的力量、不知道該如何設定目標、害怕自己做不到、或是不想離開舒適區. 但是主管必須是一個目標的設定者與完成者. 堅持把好的東西帶給其他人. 類似傳福音這樣, 這就是東尼幫助傑夫的原因, 這十堂領導課都是免費的, 而且還招待咖啡~~~