Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
71421f38
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
71421f38
编写于
11月 29, 2017
作者:
M
Mark Thompson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vaapi_h265: Add named options for setting profile and level
Also fixes the default, which previously contained a nonsense value.
上级
c490fc95
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
3 deletion
+41
-3
libavcodec/vaapi_encode_h265.c
libavcodec/vaapi_encode_h265.c
+41
-3
未找到文件。
libavcodec/vaapi_encode_h265.c
浏览文件 @
71421f38
...
...
@@ -63,6 +63,8 @@ typedef struct VAAPIEncodeH265Context {
typedef
struct
VAAPIEncodeH265Options
{
int
qp
;
int
aud
;
int
profile
;
int
level
;
}
VAAPIEncodeH265Options
;
...
...
@@ -880,10 +882,17 @@ static const VAAPIEncodeType vaapi_encode_type_h265 = {
static
av_cold
int
vaapi_encode_h265_init
(
AVCodecContext
*
avctx
)
{
VAAPIEncodeContext
*
ctx
=
avctx
->
priv_data
;
VAAPIEncodeContext
*
ctx
=
avctx
->
priv_data
;
VAAPIEncodeH265Options
*
opt
=
(
VAAPIEncodeH265Options
*
)
ctx
->
codec_options_data
;
ctx
->
codec
=
&
vaapi_encode_type_h265
;
if
(
avctx
->
profile
==
FF_PROFILE_UNKNOWN
)
avctx
->
profile
=
opt
->
profile
;
if
(
avctx
->
level
==
FF_LEVEL_UNKNOWN
)
avctx
->
level
=
opt
->
level
;
switch
(
avctx
->
profile
)
{
case
FF_PROFILE_HEVC_MAIN
:
case
FF_PROFILE_UNKNOWN
:
...
...
@@ -946,12 +955,41 @@ static const AVOption vaapi_encode_h265_options[] = {
{
"aud"
,
"Include AUD"
,
OFFSET
(
aud
),
AV_OPT_TYPE_INT
,
{
.
i64
=
0
},
0
,
1
,
FLAGS
},
{
"profile"
,
"Set profile (general_profile_idc)"
,
OFFSET
(
profile
),
AV_OPT_TYPE_INT
,
{
.
i64
=
FF_PROFILE_HEVC_MAIN
},
0x00
,
0xff
,
FLAGS
,
"profile"
},
#define PROFILE(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, \
{ .i64 = value }, 0, 0, FLAGS, "profile"
{
PROFILE
(
"main"
,
FF_PROFILE_HEVC_MAIN
)
},
{
PROFILE
(
"main10"
,
FF_PROFILE_HEVC_MAIN_10
)
},
#undef PROFILE
{
"level"
,
"Set level (general_level_idc)"
,
OFFSET
(
level
),
AV_OPT_TYPE_INT
,
{
.
i64
=
153
},
0x00
,
0xff
,
FLAGS
,
"level"
},
#define LEVEL(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, \
{ .i64 = value }, 0, 0, FLAGS, "level"
{
LEVEL
(
"1"
,
30
)
},
{
LEVEL
(
"2"
,
60
)
},
{
LEVEL
(
"2.1"
,
63
)
},
{
LEVEL
(
"3"
,
90
)
},
{
LEVEL
(
"3.1"
,
93
)
},
{
LEVEL
(
"4"
,
120
)
},
{
LEVEL
(
"4.1"
,
123
)
},
{
LEVEL
(
"5"
,
150
)
},
{
LEVEL
(
"5.1"
,
153
)
},
{
LEVEL
(
"5.2"
,
156
)
},
{
LEVEL
(
"6"
,
180
)
},
{
LEVEL
(
"6.1"
,
183
)
},
{
LEVEL
(
"6.2"
,
186
)
},
#undef LEVEL
{
NULL
},
};
static
const
AVCodecDefault
vaapi_encode_h265_defaults
[]
=
{
{
"profile"
,
"1"
},
{
"level"
,
"51"
},
{
"b"
,
"0"
},
{
"bf"
,
"2"
},
{
"g"
,
"120"
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录