2010年6月16日 星期三

Mpeg2 video note

opencore小記:

在取m2v height and width的時候 必須從Sequence Header的第5,6,7,byte去取

ex:seqence header buffer :  00  00  01  B3  xx  xx  xx

其中width是前三個x也就是12個bits,height 是後三個x

但因為最小單位是byte的原故所以要手動拆第6個byte

這裡用的方法是:
tempW=(int)pNalBuffer[4];
tempW=(tempW<<4)+(pNalBuffer[5]>>4);
tempH=(int)pNalBuffer[5];
tempH=(tempH<<8)+(pNalBuffer[6]);



不知道有沒有更好的解法~



沒有留言: