Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
46c3c53b
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,发现更多精彩内容 >>
提交
46c3c53b
编写于
10月 09, 2011
作者:
A
Anton Khirnov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
libx264: support yuv422/444 output.
上级
04de1569
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
3 deletion
+25
-3
configure
configure
+2
-2
libavcodec/libx264.c
libavcodec/libx264.c
+23
-1
未找到文件。
configure
浏览文件 @
46c3c53b
...
...
@@ -2905,8 +2905,8 @@ enabled libvpx && {
enabled libvpx_encoder
&&
{
check_lib2
"vpx/vpx_encoder.h vpx/vp8cx.h"
vpx_codec_enc_init_ver
-lvpx
||
die
"ERROR: libvpx encoder version must be >=0.9.1"
;
}
}
enabled libx264
&&
require libx264 x264.h x264_encoder_encode
-lx264
&&
{
check_cpp_condition x264.h
"X264_BUILD >= 11
5
"
||
die
"ERROR: libx264 version must be >= 0.11
5
."
;
}
{
check_cpp_condition x264.h
"X264_BUILD >= 11
8
"
||
die
"ERROR: libx264 version must be >= 0.11
8
."
;
}
enabled libxavs
&&
require libxavs xavs.h xavs_encoder_encode
-lxavs
enabled libxvid
&&
require libxvid xvid.h xvid_global
-lxvidcore
enabled mlib
&&
require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod
-lmlib
...
...
libavcodec/libx264.c
浏览文件 @
46c3c53b
...
...
@@ -123,7 +123,7 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf,
x264_picture_t
pic_out
;
x264_picture_init
(
&
x4
->
pic
);
x4
->
pic
.
img
.
i_csp
=
X264_CSP_I420
;
x4
->
pic
.
img
.
i_csp
=
x4
->
params
.
i_csp
;
if
(
x264_bit_depth
>
8
)
x4
->
pic
.
img
.
i_csp
|=
X264_CSP_HIGH_DEPTH
;
x4
->
pic
.
img
.
i_plane
=
3
;
...
...
@@ -192,6 +192,22 @@ static av_cold int X264_close(AVCodecContext *avctx)
return
0
;
}
static
int
convert_pix_fmt
(
enum
PixelFormat
pix_fmt
)
{
switch
(
pix_fmt
)
{
case
PIX_FMT_YUV420P
:
case
PIX_FMT_YUVJ420P
:
case
PIX_FMT_YUV420P9
:
case
PIX_FMT_YUV420P10
:
return
X264_CSP_I420
;
case
PIX_FMT_YUV422P
:
case
PIX_FMT_YUV422P10
:
return
X264_CSP_I422
;
case
PIX_FMT_YUV444P
:
case
PIX_FMT_YUV444P9
:
case
PIX_FMT_YUV444P10
:
return
X264_CSP_I444
;
};
return
0
;
}
#define PARSE_X264_OPT(name, var)\
if (x4->var && x264_param_parse(&x4->params, name, x4->var) < 0) {\
av_log(avctx, AV_LOG_ERROR, "Error parsing option '%s' with value '%s'.\n", name, x4->var);\
...
...
@@ -218,6 +234,7 @@ static av_cold int X264_init(AVCodecContext *avctx)
x4
->
params
.
pf_log
=
X264_log
;
x4
->
params
.
p_log_private
=
avctx
;
x4
->
params
.
i_log_level
=
X264_LOG_DEBUG
;
x4
->
params
.
i_csp
=
convert_pix_fmt
(
avctx
->
pix_fmt
);
if
(
avctx
->
bit_rate
)
{
x4
->
params
.
rc
.
i_bitrate
=
avctx
->
bit_rate
/
1000
;
...
...
@@ -462,14 +479,19 @@ static av_cold int X264_init(AVCodecContext *avctx)
static
const
enum
PixelFormat
pix_fmts_8bit
[]
=
{
PIX_FMT_YUV420P
,
PIX_FMT_YUVJ420P
,
PIX_FMT_YUV422P
,
PIX_FMT_YUV444P
,
PIX_FMT_NONE
};
static
const
enum
PixelFormat
pix_fmts_9bit
[]
=
{
PIX_FMT_YUV420P9
,
PIX_FMT_YUV444P9
,
PIX_FMT_NONE
};
static
const
enum
PixelFormat
pix_fmts_10bit
[]
=
{
PIX_FMT_YUV420P10
,
PIX_FMT_YUV422P10
,
PIX_FMT_YUV444P10
,
PIX_FMT_NONE
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录