今天看到init_dpb()时有这么一行代码dpb.size= getDpbSize();
dpb.size表示什么含义我想大家都明白,这里我们关键看getDpbSize();

getDpbSize()函数一上来给pic_size赋值,这个仔细看应该也不难,接着就是我要讲的重点拉。

代码如下:

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



看到这里,我想大家应该有两个疑问:
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
依此类推.......

参考:http://blog.csdn.net/zhangji1983/article/details/1506603

相关文章:

  • 2021-10-07
  • 2021-12-09
  • 2021-11-10
  • 2022-02-17
  • 2021-07-20
  • 2021-10-23
  • 2022-02-01
  • 2021-12-10
猜你喜欢
  • 2022-12-23
  • 2021-06-02
  • 2021-12-05
  • 2021-09-11
  • 2022-01-10
  • 2022-03-04
  • 2021-06-26
相关资源
相似解决方案