關於level_idc(http://bbs.chinavideo.org/viewthread.php?tid=1174&highlight=%B9%D8%D3%DAlevel%5C_idc

來源:互聯網
上載者:User
今天看到init_dpb()時有這麼一行代碼dpb.size= getDpbSize();
dpb.size表示什麼含義我想大家都明白,這裡我們關鍵看getDpbSize();

getDpbSize()函數一上來給pic_size賦值,這個仔細看應該也不難,接著就是我要講的重點拉。

代碼如下:
  switch (active_sps->level_idc)//第一幀IDR,這邊是30
  {
  case 10:
    size = 152064;
    break;
  case 11:
    size = 345600;
    break;
  case 12:
    size = 912384;
    break;
  case 13:
    size = 912384;
    break;
  case 20:
    size = 912384;
    break;
  case 21:
    size = 1824768;
    break;
  case 22:
    size = 3110400;
    break;
  case 30:
    size = 3110400;
    break;
  case 31:
    size = 6912000;
    break;
  case 32:
    size = 7864320;
    break;
  case 40:
    size = 12582912;
    break;
  case 41:
    size = 12582912;
    break;
  case 42:
    size = 12582912;
    break;
  case 50:
    size = 42393600;
    break;
  case 51:
    size = 70778880;
    break;
  default:
    error ("undefined level", 500);
    break;
  }

看到這裡,我想大家應該有兩個疑問:
1。這個case 10 11 20等值是怎麼來的?
2。後面跟著size= 152064又是什嗎?

這部分要在畢厚傑的書277頁的附表3.1中找到
解答
1。大家注意:表的第一列級數1 1.1 1.2 1.3。。。。有沒有跟case那邊聯絡起來了
對的,1=10 1.1=11 1.2=12 1.3=13
         2=20 2.1=21 2.2=22
         3=30 3.1=31 3.2=32
         4=40 4.1=41 4.2=42
         5=50 5.1=51

2。大家看第四列最大解碼緩衝區尺寸MaxDPB
152064=148.5*1024
345600=337.5*1024
依此類推.......

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.