Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
309616b2
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,发现更多精彩内容 >>
提交
309616b2
编写于
4月 21, 2009
作者:
R
Ramiro Polla
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mlpdec: Validate num_primitive_matrices.
Originally committed as revision 18650 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
868170c4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
0 deletion
+12
-0
libavcodec/mlp.h
libavcodec/mlp.h
+2
-0
libavcodec/mlpdec.c
libavcodec/mlpdec.c
+10
-0
未找到文件。
libavcodec/mlp.h
浏览文件 @
309616b2
...
@@ -35,6 +35,8 @@
...
@@ -35,6 +35,8 @@
/** Maximum number of matrices used in decoding; most streams have one matrix
/** Maximum number of matrices used in decoding; most streams have one matrix
* per output channel, but some rematrix a channel (usually 0) more than once.
* per output channel, but some rematrix a channel (usually 0) more than once.
*/
*/
#define MAX_MATRICES_MLP 6
#define MAX_MATRICES_TRUEHD 8
#define MAX_MATRICES 15
#define MAX_MATRICES 15
/** Maximum number of substreams that can be decoded.
/** Maximum number of substreams that can be decoded.
...
...
libavcodec/mlpdec.c
浏览文件 @
309616b2
...
@@ -527,6 +527,9 @@ static int read_matrix_params(MLPDecodeContext *m, unsigned int substr, GetBitCo
...
@@ -527,6 +527,9 @@ static int read_matrix_params(MLPDecodeContext *m, unsigned int substr, GetBitCo
{
{
SubStream
*
s
=
&
m
->
substream
[
substr
];
SubStream
*
s
=
&
m
->
substream
[
substr
];
unsigned
int
mat
,
ch
;
unsigned
int
mat
,
ch
;
const
int
max_primitive_matrices
=
m
->
avctx
->
codec_id
==
CODEC_ID_MLP
?
MAX_MATRICES_MLP
:
MAX_MATRICES_TRUEHD
;
if
(
m
->
matrix_changed
++
>
1
)
{
if
(
m
->
matrix_changed
++
>
1
)
{
av_log
(
m
->
avctx
,
AV_LOG_ERROR
,
"Matrices may change only once per access unit.
\n
"
);
av_log
(
m
->
avctx
,
AV_LOG_ERROR
,
"Matrices may change only once per access unit.
\n
"
);
...
@@ -535,6 +538,13 @@ static int read_matrix_params(MLPDecodeContext *m, unsigned int substr, GetBitCo
...
@@ -535,6 +538,13 @@ static int read_matrix_params(MLPDecodeContext *m, unsigned int substr, GetBitCo
s
->
num_primitive_matrices
=
get_bits
(
gbp
,
4
);
s
->
num_primitive_matrices
=
get_bits
(
gbp
,
4
);
if
(
s
->
num_primitive_matrices
>
max_primitive_matrices
)
{
av_log
(
m
->
avctx
,
AV_LOG_ERROR
,
"Number of primitive matrices cannot be greater than %d.
\n
"
,
max_primitive_matrices
);
return
-
1
;
}
for
(
mat
=
0
;
mat
<
s
->
num_primitive_matrices
;
mat
++
)
{
for
(
mat
=
0
;
mat
<
s
->
num_primitive_matrices
;
mat
++
)
{
int
frac_bits
,
max_chan
;
int
frac_bits
,
max_chan
;
s
->
matrix_out_ch
[
mat
]
=
get_bits
(
gbp
,
4
);
s
->
matrix_out_ch
[
mat
]
=
get_bits
(
gbp
,
4
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录