Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
28af4533
O
obs-studio
项目概览
尘离序散
/
obs-studio
与 Fork 源项目一致
从无法访问的项目Fork
通知
30
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
obs-studio
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
28af4533
编写于
6月 06, 2020
作者:
B
brittneysclark
提交者:
jp9000
7月 08, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
obs-qsv11: Enable VDEnc on ICL+
Enable AVC VDEnc (fixed function encode) on ICL+
上级
8e0e2dd3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
37 addition
and
2 deletion
+37
-2
plugins/obs-qsv11/QSV_Encoder.cpp
plugins/obs-qsv11/QSV_Encoder.cpp
+2
-0
plugins/obs-qsv11/QSV_Encoder.h
plugins/obs-qsv11/QSV_Encoder.h
+1
-0
plugins/obs-qsv11/QSV_Encoder_Internal.cpp
plugins/obs-qsv11/QSV_Encoder_Internal.cpp
+30
-1
plugins/obs-qsv11/libmfx/include/msdk/include/mfxstructures.h
...ins/obs-qsv11/libmfx/include/msdk/include/mfxstructures.h
+4
-1
未找到文件。
plugins/obs-qsv11/QSV_Encoder.cpp
浏览文件 @
28af4533
...
...
@@ -397,6 +397,8 @@ enum qsv_cpu_platform qsv_get_cpu_platform()
case
0x8e
:
case
0x9e
:
return
QSV_CPU_PLATFORM_KBL
;
case
0x66
:
return
QSV_CPU_PLATFORM_CNL
;
case
0x7d
:
case
0x7e
:
return
QSV_CPU_PLATFORM_ICL
;
...
...
plugins/obs-qsv11/QSV_Encoder.h
浏览文件 @
28af4533
...
...
@@ -118,6 +118,7 @@ enum qsv_cpu_platform {
QSV_CPU_PLATFORM_BDW
,
QSV_CPU_PLATFORM_SKL
,
QSV_CPU_PLATFORM_KBL
,
QSV_CPU_PLATFORM_CNL
,
QSV_CPU_PLATFORM_ICL
,
QSV_CPU_PLATFORM_INTEL
};
...
...
plugins/obs-qsv11/QSV_Encoder_Internal.cpp
浏览文件 @
28af4533
...
...
@@ -211,6 +211,17 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t *pParams)
m_mfxEncParams
.
mfx
.
FrameInfo
.
CropH
=
pParams
->
nHeight
;
m_mfxEncParams
.
mfx
.
GopRefDist
=
pParams
->
nbFrames
+
1
;
enum
qsv_cpu_platform
qsv_platform
=
qsv_get_cpu_platform
();
if
((
qsv_platform
>=
QSV_CPU_PLATFORM_ICL
)
&&
(
pParams
->
nbFrames
==
0
)
&&
(
m_ver
.
Major
==
1
&&
m_ver
.
Minor
>=
31
))
{
m_mfxEncParams
.
mfx
.
LowPower
=
MFX_CODINGOPTION_ON
;
if
(
pParams
->
nRateControl
==
MFX_RATECONTROL_LA_ICQ
||
pParams
->
nRateControl
==
MFX_RATECONTROL_LA_HRD
||
pParams
->
nRateControl
==
MFX_RATECONTROL_LA
)
pParams
->
nRateControl
=
MFX_RATECONTROL_VBR
;
}
m_mfxEncParams
.
mfx
.
RateControlMethod
=
pParams
->
nRateControl
;
switch
(
pParams
->
nRateControl
)
{
...
...
@@ -268,10 +279,23 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t *pParams)
m_co2
.
MBBRC
=
MFX_CODINGOPTION_ON
;
if
(
pParams
->
nbFrames
>
1
)
m_co2
.
BRefType
=
MFX_B_REF_PYRAMID
;
if
(
m_mfxEncParams
.
mfx
.
LowPower
==
MFX_CODINGOPTION_ON
)
{
m_co2
.
RepeatPPS
=
MFX_CODINGOPTION_OFF
;
if
(
pParams
->
nRateControl
==
MFX_RATECONTROL_CBR
||
pParams
->
nRateControl
==
MFX_RATECONTROL_VBR
)
{
m_co2
.
LookAheadDepth
=
pParams
->
nLADEPTH
;
}
}
extendedBuffers
[
iBuffers
++
]
=
(
mfxExtBuffer
*
)
&
m_co2
;
}
if
(
pParams
->
bCQM
)
{
if
(
m_mfxEncParams
.
mfx
.
LowPower
==
MFX_CODINGOPTION_ON
)
{
memset
(
&
m_co3
,
0
,
sizeof
(
mfxExtCodingOption3
));
m_co3
.
Header
.
BufferId
=
MFX_EXTBUFF_CODING_OPTION3
;
m_co3
.
Header
.
BufferSz
=
sizeof
(
m_co3
);
m_co3
.
ScenarioInfo
=
MFX_SCENARIO_GAME_STREAMING
;
extendedBuffers
[
iBuffers
++
]
=
(
mfxExtBuffer
*
)
&
m_co3
;
}
else
if
(
pParams
->
bCQM
)
{
if
(
m_ver
.
Major
==
1
&&
m_ver
.
Minor
>=
16
)
{
memset
(
&
m_co3
,
0
,
sizeof
(
mfxExtCodingOption3
));
m_co3
.
Header
.
BufferId
=
MFX_EXTBUFF_CODING_OPTION3
;
...
...
@@ -297,6 +321,11 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t *pParams)
else
m_mfxEncParams
.
IOPattern
=
MFX_IOPATTERN_IN_SYSTEM_MEMORY
;
mfxStatus
sts
=
m_pmfxENC
->
Query
(
&
m_mfxEncParams
,
&
m_mfxEncParams
);
if
(
sts
==
MFX_ERR_UNSUPPORTED
||
sts
==
MFX_ERR_UNDEFINED_BEHAVIOR
)
{
m_mfxEncParams
.
mfx
.
LowPower
=
MFX_CODINGOPTION_OFF
;
}
return
true
;
}
...
...
plugins/obs-qsv11/libmfx/include/msdk/include/mfxstructures.h
浏览文件 @
28af4533
...
...
@@ -642,7 +642,10 @@ enum {
MFX_SCENARIO_VIDEO_CONFERENCE
=
2
,
MFX_SCENARIO_ARCHIVE
=
3
,
MFX_SCENARIO_LIVE_STREAMING
=
4
,
MFX_SCENARIO_CAMERA_CAPTURE
=
5
MFX_SCENARIO_CAMERA_CAPTURE
=
5
,
MFX_SCENARIO_VIDEO_SURVEILLANCE
=
6
,
MFX_SCENARIO_GAME_STREAMING
=
7
,
MFX_SCENARIO_REMOTE_GAMING
=
8
};
/* ContentInfo */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录