Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
0d57664f
Commit
0d57664f
authored
5 years ago
by
zqsong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善H265 sps解析,统一命名风格
parent
776dd4c0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
194 行增加
和
156 行删除
+194
-156
src/Extension/H265.cpp
+29
-13
src/Extension/H265.h
+3
-3
src/Extension/SPSParser.c
+0
-0
src/Extension/SPSParser.h
+162
-140
没有找到文件。
src/Extension/H265.cpp
查看文件 @
0d57664f
...
...
@@ -32,24 +32,40 @@ namespace mediakit{
bool
getAVCH265Info
(
const
string
&
strSps
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
)
{
return
getAVC265Info
(
strSps
.
data
(),
strSps
.
size
(),
iVideoWidth
,
iVideoHeight
,
iVideoFps
);
bool
getAVCH265Info
(
const
string
&
str
Vps
,
const
string
&
str
Sps
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
)
{
return
getAVC265Info
(
str
Vps
.
data
(),
strVps
.
size
(),
str
Sps
.
data
(),
strSps
.
size
(),
iVideoWidth
,
iVideoHeight
,
iVideoFps
);
}
bool
getAVC265Info
(
const
char
*
sps
,
int
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
){
bool
getAVC265Info
(
const
char
*
vps
,
int
vps_len
,
const
char
*
sps
,
int
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
){
T_GetBitContext
tGetBitBuf
;
T_HEVCSPS
tH265SpsInfo
;
memset
(
&
tGetBitBuf
,
0
,
sizeof
(
tGetBitBuf
));
memset
(
&
tH265SpsInfo
,
0
,
sizeof
(
tH265SpsInfo
));
tGetBitBuf
.
pu8Buf
=
(
uint8_t
*
)
sps
;
tGetBitBuf
.
iBufSize
=
sps_len
;
if
(
0
!=
h265DecSeqParameterSet
((
void
*
)
&
tGetBitBuf
,
&
tH265SpsInfo
)){
return
false
;
}
T_HEVCSPS
tH265SpsInfo
;
T_HEVCVPS
tH265VpsInfo
;
if
(
vps_len
>
2
){
memset
(
&
tGetBitBuf
,
0
,
sizeof
(
tGetBitBuf
));
memset
(
&
tH265VpsInfo
,
0
,
sizeof
(
tH265VpsInfo
));
tGetBitBuf
.
pu8Buf
=
(
uint8_t
*
)
vps
+
2
;
tGetBitBuf
.
iBufSize
=
vps_len
-
2
;
if
(
0
!=
h265DecVideoParameterSet
((
void
*
)
&
tGetBitBuf
,
&
tH265VpsInfo
)){
return
false
;
}
}
if
(
sps_len
>
2
){
memset
(
&
tGetBitBuf
,
0
,
sizeof
(
tGetBitBuf
));
memset
(
&
tH265SpsInfo
,
0
,
sizeof
(
tH265SpsInfo
));
tGetBitBuf
.
pu8Buf
=
(
uint8_t
*
)
sps
+
2
;
tGetBitBuf
.
iBufSize
=
sps_len
-
2
;
if
(
0
!=
h265DecSeqParameterSet
((
void
*
)
&
tGetBitBuf
,
&
tH265SpsInfo
)){
return
false
;
}
}
else
return
false
;
h265GetWidthHeight
(
&
tH265SpsInfo
,
&
iVideoWidth
,
&
iVideoHeight
);
h265GeFramerate
(
&
tH265SpsInfo
,
&
iVideoFps
);
//ErrorL << iVideoWidth << " " << iVideoHeight << " " << iVideoFps;
iVideoFps
=
0
;
h265GeFramerate
(
&
tH265VpsInfo
,
&
tH265SpsInfo
,
&
iVideoFps
);
// ErrorL << iVideoWidth << " " << iVideoHeight << " " << iVideoFps;
return
true
;
}
...
...
This diff is collapsed.
Click to expand it.
src/Extension/H265.h
查看文件 @
0d57664f
...
...
@@ -36,8 +36,8 @@ using namespace toolkit;
namespace
mediakit
{
bool
getAVCH265Info
(
const
string
&
strSps
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
);
bool
getAVC265Info
(
const
char
*
sps
,
int
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
);
bool
getAVCH265Info
(
const
string
&
str
Vps
,
const
string
&
str
Sps
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
);
bool
getAVC265Info
(
const
char
*
vps
,
int
vps_len
,
const
char
*
sps
,
int
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
);
/**
* 265帧类
...
...
@@ -312,7 +312,7 @@ private:
* 解析sps获取宽高fps
*/
void
onReady
(){
getAVCH265Info
(
_sps
,
_width
,
_height
,
_fps
);
getAVCH265Info
(
_
vps
,
_
sps
,
_width
,
_height
,
_fps
);
}
Track
::
Ptr
clone
()
override
{
return
std
::
make_shared
<
std
::
remove_reference
<
decltype
(
*
this
)
>::
type
>
(
*
this
);
...
...
This diff is collapsed.
Click to expand it.
src/Extension/SPSParser.c
查看文件 @
0d57664f
差异被折叠。
点击展开。
src/Extension/SPSParser.h
查看文件 @
0d57664f
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论