Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
274335e7
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,发现更多精彩内容 >>
提交
274335e7
编写于
8月 26, 2008
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vertical align
Originally committed as revision 14972 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
977327c7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
18 deletion
+18
-18
libavformat/mpeg.c
libavformat/mpeg.c
+5
-5
libavformat/mpegenc.c
libavformat/mpegenc.c
+13
-13
未找到文件。
libavformat/mpeg.c
浏览文件 @
274335e7
...
...
@@ -67,8 +67,8 @@ static int mpegps_probe(AVProbeData *p)
if
(
code
==
SYSTEM_HEADER_START_CODE
)
sys
++
;
else
if
(
code
==
PRIVATE_STREAM_1
)
priv1
++
;
else
if
(
code
==
PACK_START_CODE
)
pspack
++
;
else
if
((
code
&
0xf0
)
==
VIDEO_ID
&&
pes
)
vid
++
;
else
if
((
code
&
0xe0
)
==
AUDIO_ID
&&
pes
)
audio
++
;
else
if
((
code
&
0xf0
)
==
VIDEO_ID
&&
pes
)
vid
++
;
else
if
((
code
&
0xe0
)
==
AUDIO_ID
&&
pes
)
audio
++
;
else
if
((
code
&
0xf0
)
==
VIDEO_ID
&&
!
pes
)
invalid
++
;
else
if
((
code
&
0xe0
)
==
AUDIO_ID
&&
!
pes
)
invalid
++
;
...
...
@@ -211,8 +211,8 @@ static long mpegps_psm_parse(MpegDemuxContext *m, ByteIOContext *pb)
/* at least one es available? */
while
(
es_map_length
>=
4
){
unsigned
char
type
=
get_byte
(
pb
);
unsigned
char
es_id
=
get_byte
(
pb
);
unsigned
char
type
=
get_byte
(
pb
);
unsigned
char
es_id
=
get_byte
(
pb
);
uint16_t
es_info_length
=
get_be16
(
pb
);
/* remember mapping from stream id to stream type */
m
->
psm_es_type
[
es_id
]
=
type
;
...
...
@@ -467,7 +467,7 @@ static int mpegps_read_packet(AVFormatContext *s,
}
else
if
(
startcode
>=
0x80
&&
startcode
<=
0x87
)
{
type
=
CODEC_TYPE_AUDIO
;
codec_id
=
CODEC_ID_AC3
;
}
else
if
(
(
startcode
>=
0x88
&&
startcode
<=
0x8f
)
}
else
if
(
(
startcode
>=
0x88
&&
startcode
<=
0x8f
)
||
(
startcode
>=
0x98
&&
startcode
<=
0x9f
))
{
/* 0x90 - 0x97 is reserved for SDDS in DVD specs */
type
=
CODEC_TYPE_AUDIO
;
...
...
libavformat/mpegenc.c
浏览文件 @
274335e7
...
...
@@ -95,11 +95,11 @@ static int put_pack_header(AVFormatContext *ctx,
}
else
{
put_bits
(
&
pb
,
4
,
0x2
);
}
put_bits
(
&
pb
,
3
,
(
uint32_t
)((
timestamp
>>
30
)
&
0x07
));
put_bits
(
&
pb
,
3
,
(
uint32_t
)((
timestamp
>>
30
)
&
0x07
));
put_bits
(
&
pb
,
1
,
1
);
put_bits
(
&
pb
,
15
,
(
uint32_t
)((
timestamp
>>
15
)
&
0x7fff
));
put_bits
(
&
pb
,
1
,
1
);
put_bits
(
&
pb
,
15
,
(
uint32_t
)((
timestamp
)
&
0x7fff
));
put_bits
(
&
pb
,
15
,
(
uint32_t
)((
timestamp
)
&
0x7fff
));
put_bits
(
&
pb
,
1
,
1
);
if
(
s
->
is_mpeg2
)
{
/* clock extension */
...
...
@@ -297,12 +297,12 @@ static int mpeg_mux_init(AVFormatContext *ctx)
int
video_bitrate
;
s
->
packet_number
=
0
;
s
->
is_vcd
=
(
ENABLE_MPEG1VCD_MUXER
&&
ctx
->
oformat
==
&
mpeg1vcd_muxer
);
s
->
is_svcd
=
(
ENABLE_MPEG2SVCD_MUXER
&&
ctx
->
oformat
==
&
mpeg2svcd_muxer
);
s
->
is_vcd
=
(
ENABLE_MPEG1VCD_MUXER
&&
ctx
->
oformat
==
&
mpeg1vcd_muxer
);
s
->
is_svcd
=
(
ENABLE_MPEG2SVCD_MUXER
&&
ctx
->
oformat
==
&
mpeg2svcd_muxer
);
s
->
is_mpeg2
=
((
ENABLE_MPEG2VOB_MUXER
&&
ctx
->
oformat
==
&
mpeg2vob_muxer
)
||
(
ENABLE_MPEG2DVD_MUXER
&&
ctx
->
oformat
==
&
mpeg2dvd_muxer
)
||
(
ENABLE_MPEG2SVCD_MUXER
&&
ctx
->
oformat
==
&
mpeg2svcd_muxer
));
s
->
is_dvd
=
(
ENABLE_MPEG2DVD_MUXER
&&
ctx
->
oformat
==
&
mpeg2dvd_muxer
);
s
->
is_dvd
=
(
ENABLE_MPEG2DVD_MUXER
&&
ctx
->
oformat
==
&
mpeg2dvd_muxer
);
if
(
ctx
->
packet_size
)
s
->
packet_size
=
ctx
->
packet_size
;
...
...
@@ -331,7 +331,7 @@ static int mpeg_mux_init(AVFormatContext *ctx)
switch
(
st
->
codec
->
codec_type
)
{
case
CODEC_TYPE_AUDIO
:
if
(
st
->
codec
->
codec_id
==
CODEC_ID_AC3
)
{
if
(
st
->
codec
->
codec_id
==
CODEC_ID_AC3
)
{
stream
->
id
=
ac3_id
++
;
}
else
if
(
st
->
codec
->
codec_id
==
CODEC_ID_DTS
)
{
stream
->
id
=
dts_id
++
;
...
...
@@ -438,7 +438,7 @@ static int mpeg_mux_init(AVFormatContext *ctx)
/* Add the header overhead to the data rate.
2279 data bytes per audio pack, 2294 data bytes per video pack*/
overhead_rate
=
((
audio_bitrate
/
8
.
0
)
/
2279
)
*
(
2324
-
2279
);
overhead_rate
=
((
audio_bitrate
/
8
.
0
)
/
2279
)
*
(
2324
-
2279
);
overhead_rate
+=
((
video_bitrate
/
8
.
0
)
/
2294
)
*
(
2324
-
2294
);
overhead_rate
*=
8
;
...
...
@@ -489,7 +489,7 @@ static inline void put_timestamp(ByteIOContext *pb, int id, int64_t timestamp)
(((
timestamp
>>
30
)
&
0x07
)
<<
1
)
|
1
);
put_be16
(
pb
,
(
uint16_t
)((((
timestamp
>>
15
)
&
0x7fff
)
<<
1
)
|
1
));
put_be16
(
pb
,
(
uint16_t
)((((
timestamp
)
&
0x7fff
)
<<
1
)
|
1
));
put_be16
(
pb
,
(
uint16_t
)((((
timestamp
)
&
0x7fff
)
<<
1
)
|
1
));
}
...
...
@@ -799,7 +799,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index,
header_len
-=
timestamp_len
;
if
(
s
->
is_dvd
&&
stream
->
align_iframe
)
{
pad_packet_bytes
+=
timestamp_len
;
packet_size
-=
timestamp_len
;
packet_size
-=
timestamp_len
;
}
else
{
payload_size
+=
timestamp_len
;
}
...
...
@@ -812,7 +812,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index,
packet_size
+=
pad_packet_bytes
;
payload_size
+=
pad_packet_bytes
;
// undo the previous adjustment
if
(
stuffing_size
<
0
)
{
stuffing_size
=
pad_packet_bytes
;
stuffing_size
=
pad_packet_bytes
;
}
else
{
stuffing_size
+=
pad_packet_bytes
;
}
...
...
@@ -823,8 +823,8 @@ static int flush_packet(AVFormatContext *ctx, int stream_index,
stuffing_size
=
0
;
if
(
stuffing_size
>
16
)
{
/*<=16 for MPEG-1, <=32 for MPEG-2*/
pad_packet_bytes
+=
stuffing_size
;
packet_size
-=
stuffing_size
;
payload_size
-=
stuffing_size
;
packet_size
-=
stuffing_size
;
payload_size
-=
stuffing_size
;
stuffing_size
=
0
;
}
...
...
@@ -869,7 +869,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index,
/* P-STD buffer info */
if
(
id
==
AUDIO_ID
)
put_be16
(
ctx
->
pb
,
0x4000
|
stream
->
max_buffer_size
/
128
);
put_be16
(
ctx
->
pb
,
0x4000
|
stream
->
max_buffer_size
/
128
);
else
put_be16
(
ctx
->
pb
,
0x6000
|
stream
->
max_buffer_size
/
1024
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录