Kernel_Lover

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover  发布于  2017-12-15 13:49:06
采纳率 0%
17个问答
2629

关于 H264 帧类型判断的问题

 
本帖最后由 Kernel_Lover 于 2017-12-15 13:49 编辑

在 SAMPLE_COMM_VDEC_SendStream 函数中:

HI_VOID * SAMPLE_COMM_VDEC_SendStream(HI_VOID *pArgs)
{
           ...............
           for (i=0; i
            {

                int tmp = pu8Buf[i+3] & 0x1F;

                if (  pu8Buf == 0 && pu8Buf[i+1] == 0 && pu8Buf[i+2] == 1 &&

                       (

                           ((tmp == 5 || tmp == 1) && ((pu8Buf[i+4]&0x80) == 0x80)) ||

                           (tmp == 20 && (pu8Buf[i+7]&0x80) == 0x80)

                        )

                   )            

                {

                    bFindStart = HI_TRUE;

                    i += 8;

                    break;
                }

            }
            ......................
}

(1)对于 pu8Buf == 0 && pu8Buf[i+1] == 0 && pu8Buf[i+2] == 1 && ((tmp == 5 || tmp == 1) && ((pu8Buf[i+4]&0x80) == 0x80)) 这个语句,当 tmp = 5,表示是 I 帧;当 tmp = 1,表示是 P 帧,但是为什么还要要加上  ((pu8Buf[i+4]&0x80) == 0x80) 这个条件?

(2)对于 pu8Buf == 0 && pu8Buf[i+1] == 0 && pu8Buf[i+2] == 1 && (tmp == 20 && (pu8Buf[i+7]&0x80) == 0x80) 是在判断什么帧类型?是 B 帧吗?






我来回答
回答2个
时间排序
认可量排序

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-12-15 14:13:53
认可0
看了一下网上的资料,帧类型 tmp = 20 是保留的,应该是为以后修改 H264 标准所保留的,难道是海思的代码有问题,还是有特殊的用处?

qn1568023232

0个粉丝

2

问答

0

专栏

0

资料

qn1568023232 2019-10-09 14:07:43
认可0
楼主你好!我最近也在研究这个,也是有些好奇这个东西。
给你一个参考链接吧,希望对你有帮助:https://blog.csdn.net/zh8706/article/details/100516575
当然如果你已经弄明白了,我们两也可以交流一下。谢谢!
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区