Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
100a7422
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,发现更多精彩内容 >>
提交
100a7422
编写于
2月 10, 2006
作者:
M
Måns Rullgård
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use get_bits1/skip_bits[1] in ac3 and aac parsers
Originally committed as revision 4969 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
b96532e9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
21 deletion
+21
-21
libavcodec/parser.c
libavcodec/parser.c
+21
-21
未找到文件。
libavcodec/parser.c
浏览文件 @
100a7422
...
...
@@ -738,7 +738,7 @@ typedef struct AC3ParseContext {
}
AC3ParseContext
;
#define AC3_HEADER_SIZE 7
#define AAC_HEADER_SIZE
8
#define AAC_HEADER_SIZE
7
static
const
int
ac3_sample_rates
[
4
]
=
{
48000
,
44100
,
32000
,
0
...
...
@@ -815,7 +815,7 @@ static int ac3_sync(const uint8_t *buf, int *channels, int *sample_rate,
if
(
get_bits
(
&
bits
,
16
)
!=
0x0b77
)
return
0
;
get_bits
(
&
bits
,
16
);
/* crc */
skip_bits
(
&
bits
,
16
);
/* crc */
fscod
=
get_bits
(
&
bits
,
2
);
frmsizecod
=
get_bits
(
&
bits
,
6
);
...
...
@@ -825,15 +825,15 @@ static int ac3_sync(const uint8_t *buf, int *channels, int *sample_rate,
bsid
=
get_bits
(
&
bits
,
5
);
if
(
bsid
>
8
)
return
0
;
get_bits
(
&
bits
,
3
);
/* bsmod */
skip_bits
(
&
bits
,
3
);
/* bsmod */
acmod
=
get_bits
(
&
bits
,
3
);
if
(
acmod
&
1
&&
acmod
!=
1
)
get_bits
(
&
bits
,
2
);
/* cmixlev */
skip_bits
(
&
bits
,
2
);
/* cmixlev */
if
(
acmod
&
4
)
get_bits
(
&
bits
,
2
);
/* surmixlev */
skip_bits
(
&
bits
,
2
);
/* surmixlev */
if
(
acmod
&
2
)
get_bits
(
&
bits
,
2
);
/* dsurmod */
lfeon
=
get_bits
(
&
bits
,
1
);
skip_bits
(
&
bits
,
2
);
/* dsurmod */
lfeon
=
get_bits
1
(
&
bits
);
*
sample_rate
=
ac3_sample_rates
[
fscod
];
*
bit_rate
=
ac3_bitrates
[
frmsizecod
]
*
1000
;
...
...
@@ -854,26 +854,26 @@ static int aac_sync(const uint8_t *buf, int *channels, int *sample_rate,
if
(
get_bits
(
&
bits
,
12
)
!=
0xfff
)
return
0
;
get_bits
(
&
bits
,
1
);
get_bits
(
&
bits
,
2
);
get_bits
(
&
bits
,
1
);
/* protection_absent */
get_bits
(
&
bits
,
2
);
sr
=
get_bits
(
&
bits
,
4
);
skip_bits1
(
&
bits
);
/* id */
skip_bits
(
&
bits
,
2
);
/* layer */
skip_bits1
(
&
bits
);
/* protection_absent */
skip_bits
(
&
bits
,
2
);
/* profile_objecttype */
sr
=
get_bits
(
&
bits
,
4
);
/* sample_frequency_index */
if
(
!
aac_sample_rates
[
sr
])
return
0
;
get_bits
(
&
bits
,
1
);
/* private_bit */
ch
=
get_bits
(
&
bits
,
3
);
skip_bits1
(
&
bits
);
/* private_bit */
ch
=
get_bits
(
&
bits
,
3
);
/* channel_configuration */
if
(
!
aac_channels
[
ch
])
return
0
;
get_bits
(
&
bits
,
1
);
/* original/copy */
get_bits
(
&
bits
,
1
);
/* home */
skip_bits1
(
&
bits
);
/* original/copy */
skip_bits1
(
&
bits
);
/* home */
/* adts_variable_header */
get_bits
(
&
bits
,
1
);
/* copyright_identification_bit */
get_bits
(
&
bits
,
1
);
/* copyright_identification_start */
size
=
get_bits
(
&
bits
,
13
);
get_bits
(
&
bits
,
11
);
/* adts_buffer_fullness */
rdb
=
get_bits
(
&
bits
,
2
);
skip_bits1
(
&
bits
);
/* copyright_identification_bit */
skip_bits1
(
&
bits
);
/* copyright_identification_start */
size
=
get_bits
(
&
bits
,
13
);
/* aac_frame_length */
skip_bits
(
&
bits
,
11
);
/* adts_buffer_fullness */
rdb
=
get_bits
(
&
bits
,
2
);
/* number_of_raw_data_blocks_in_frame */
*
channels
=
aac_channels
[
ch
];
*
sample_rate
=
aac_sample_rates
[
sr
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录