Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
26cfafa5
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,发现更多精彩内容 >>
提交
26cfafa5
编写于
6月 21, 2016
作者:
C
Clément Bœsch
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lavc/h264_slice: mark ref2frm as const pointers
上级
afd04058
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
3 deletion
+3
-3
libavcodec/h264_slice.c
libavcodec/h264_slice.c
+3
-3
未找到文件。
libavcodec/h264_slice.c
浏览文件 @
26cfafa5
...
...
@@ -1858,7 +1858,7 @@ static av_always_inline void fill_filter_caches_inter(const H264Context *h,
if
(
USES_LIST
(
top_type
,
list
))
{
const
int
b_xy
=
h
->
mb2b_xy
[
top_xy
]
+
3
*
b_stride
;
const
int
b8_xy
=
4
*
top_xy
+
2
;
int
*
ref2frm
=
h
->
ref2frm
[
h
->
slice_table
[
top_xy
]
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
const
int
*
ref2frm
=
h
->
ref2frm
[
h
->
slice_table
[
top_xy
]
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
AV_COPY128
(
mv_dst
-
1
*
8
,
h
->
cur_pic
.
motion_val
[
list
][
b_xy
+
0
]);
ref_cache
[
0
-
1
*
8
]
=
ref_cache
[
1
-
1
*
8
]
=
ref2frm
[
h
->
cur_pic
.
ref_index
[
list
][
b8_xy
+
0
]];
...
...
@@ -1873,7 +1873,7 @@ static av_always_inline void fill_filter_caches_inter(const H264Context *h,
if
(
USES_LIST
(
left_type
[
LTOP
],
list
))
{
const
int
b_xy
=
h
->
mb2b_xy
[
left_xy
[
LTOP
]]
+
3
;
const
int
b8_xy
=
4
*
left_xy
[
LTOP
]
+
1
;
int
*
ref2frm
=
h
->
ref2frm
[
h
->
slice_table
[
left_xy
[
LTOP
]]
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
const
int
*
ref2frm
=
h
->
ref2frm
[
h
->
slice_table
[
left_xy
[
LTOP
]]
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
AV_COPY32
(
mv_dst
-
1
+
0
,
h
->
cur_pic
.
motion_val
[
list
][
b_xy
+
b_stride
*
0
]);
AV_COPY32
(
mv_dst
-
1
+
8
,
h
->
cur_pic
.
motion_val
[
list
][
b_xy
+
b_stride
*
1
]);
AV_COPY32
(
mv_dst
-
1
+
16
,
h
->
cur_pic
.
motion_val
[
list
][
b_xy
+
b_stride
*
2
]);
...
...
@@ -1906,7 +1906,7 @@ static av_always_inline void fill_filter_caches_inter(const H264Context *h,
{
int8_t
*
ref
=
&
h
->
cur_pic
.
ref_index
[
list
][
4
*
mb_xy
];
int
*
ref2frm
=
h
->
ref2frm
[
sl
->
slice_num
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
const
int
*
ref2frm
=
h
->
ref2frm
[
sl
->
slice_num
&
(
MAX_SLICES
-
1
)][
list
]
+
(
MB_MBAFF
(
sl
)
?
20
:
2
);
uint32_t
ref01
=
(
pack16to32
(
ref2frm
[
ref
[
0
]],
ref2frm
[
ref
[
1
]])
&
0x00FF00FF
)
*
0x0101
;
uint32_t
ref23
=
(
pack16to32
(
ref2frm
[
ref
[
2
]],
ref2frm
[
ref
[
3
]])
&
0x00FF00FF
)
*
0x0101
;
AV_WN32A
(
&
ref_cache
[
0
*
8
],
ref01
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录