Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
298e52c9
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,发现更多精彩内容 >>
提交
298e52c9
编写于
7月 06, 2011
作者:
J
Jason Garrett-Glaser
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
H.264: Remove redundant hl_motion_16/8 code
上级
ef0c5948
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
42 deletion
+10
-42
libavcodec/h264.c
libavcodec/h264.c
+10
-42
未找到文件。
libavcodec/h264.c
浏览文件 @
298e52c9
...
...
@@ -778,24 +778,6 @@ static av_always_inline void hl_motion(H264Context *h, uint8_t *dest_y, uint8_t
prefetch_motion
(
h
,
1
,
pixel_shift
,
chroma444
);
}
#define hl_motion_fn(sh, bits) \
static av_always_inline void hl_motion_ ## bits(H264Context *h, \
uint8_t *dest_y, \
uint8_t *dest_cb, uint8_t *dest_cr, \
qpel_mc_func (*qpix_put)[16], \
h264_chroma_mc_func (*chroma_put), \
qpel_mc_func (*qpix_avg)[16], \
h264_chroma_mc_func (*chroma_avg), \
h264_weight_func *weight_op, \
h264_biweight_func *weight_avg, \
int chroma444) \
{ \
hl_motion(h, dest_y, dest_cb, dest_cr, qpix_put, chroma_put, \
qpix_avg, chroma_avg, weight_op, weight_avg, sh, chroma444); \
}
hl_motion_fn
(
0
,
8
);
hl_motion_fn
(
1
,
16
);
static
void
free_tables
(
H264Context
*
h
,
int
free_rbsp
){
int
i
;
H264Context
*
hx
;
...
...
@@ -1876,18 +1858,11 @@ static av_always_inline void hl_decode_mb_internal(H264Context *h, int simple, i
if
(
h
->
deblocking_filter
)
xchg_mb_border
(
h
,
dest_y
,
dest_cb
,
dest_cr
,
linesize
,
uvlinesize
,
0
,
0
,
simple
,
pixel_shift
);
}
else
if
(
is_h264
){
if
(
pixel_shift
)
{
hl_motion_16
(
h
,
dest_y
,
dest_cb
,
dest_cr
,
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
0
);
}
else
hl_motion_8
(
h
,
dest_y
,
dest_cb
,
dest_cr
,
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
0
);
hl_motion
(
h
,
dest_y
,
dest_cb
,
dest_cr
,
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
pixel_shift
,
0
);
}
hl_decode_mb_idct_luma
(
h
,
mb_type
,
is_h264
,
simple
,
transform_bypass
,
pixel_shift
,
block_offset
,
linesize
,
dest_y
,
0
);
...
...
@@ -2017,18 +1992,11 @@ static av_always_inline void hl_decode_mb_444_internal(H264Context *h, int simpl
if
(
h
->
deblocking_filter
)
xchg_mb_border
(
h
,
dest
[
0
],
dest
[
1
],
dest
[
2
],
linesize
,
linesize
,
0
,
1
,
simple
,
pixel_shift
);
}
else
{
if
(
pixel_shift
)
{
hl_motion_16
(
h
,
dest
[
0
],
dest
[
1
],
dest
[
2
],
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
1
);
}
else
hl_motion_8
(
h
,
dest
[
0
],
dest
[
1
],
dest
[
2
],
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
1
);
hl_motion
(
h
,
dest
[
0
],
dest
[
1
],
dest
[
2
],
s
->
me
.
qpel_put
,
s
->
dsp
.
put_h264_chroma_pixels_tab
,
s
->
me
.
qpel_avg
,
s
->
dsp
.
avg_h264_chroma_pixels_tab
,
h
->
h264dsp
.
weight_h264_pixels_tab
,
h
->
h264dsp
.
biweight_h264_pixels_tab
,
pixel_shift
,
1
);
}
for
(
p
=
0
;
p
<
plane_count
;
p
++
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录