Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
47818b2a
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,发现更多精彩内容 >>
提交
47818b2a
编写于
8月 20, 2011
作者:
C
Carl Eugen Hoyos
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add LOAS demuxer.
上级
60b54e4b
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
94 addition
and
1 deletion
+94
-1
Changelog
Changelog
+1
-0
doc/general.texi
doc/general.texi
+2
-0
libavformat/Makefile
libavformat/Makefile
+1
-0
libavformat/allformats.c
libavformat/allformats.c
+1
-0
libavformat/loasdec.c
libavformat/loasdec.c
+88
-0
libavformat/version.h
libavformat/version.h
+1
-1
未找到文件。
Changelog
浏览文件 @
47818b2a
...
...
@@ -43,6 +43,7 @@ easier to use. The changes are:
'-preset <presetname>'.
* -intra option was removed, it's equivalent to -g 0.
- XMV demuxer
- LOAS demuxer
version 0.8:
...
...
doc/general.texi
浏览文件 @
47818b2a
...
...
@@ -120,6 +120,8 @@ library:
@tab A format used by libvpx
@item LMLM4 @tab @tab X
@tab Used by Linux Media Labs MPEG-4 PCI boards
@item LOAS @tab @tab X
@tab contains LATM multiplexed AAC audio
@item LXF @tab @tab X
@tab VR native stream format, used by Leitch/Harris' video servers.
@item Matroska @tab X @tab X
...
...
libavformat/Makefile
浏览文件 @
47818b2a
...
...
@@ -113,6 +113,7 @@ OBJS-$(CONFIG_IVF_DEMUXER) += ivfdec.o riff.o
OBJS-$(CONFIG_IVF_MUXER)
+=
ivfenc.o
OBJS-$(CONFIG_JV_DEMUXER)
+=
jvdec.o
OBJS-$(CONFIG_LMLM4_DEMUXER)
+=
lmlm4.o
OBJS-$(CONFIG_LOAS_DEMUXER)
+=
loasdec.o
OBJS-$(CONFIG_LXF_DEMUXER)
+=
lxfdec.o
OBJS-$(CONFIG_M4V_DEMUXER)
+=
m4vdec.o rawdec.o
OBJS-$(CONFIG_M4V_MUXER)
+=
rawenc.o
...
...
libavformat/allformats.c
浏览文件 @
47818b2a
...
...
@@ -114,6 +114,7 @@ void av_register_all(void)
REGISTER_MUXDEMUX
(
IVF
,
ivf
);
REGISTER_DEMUXER
(
JV
,
jv
);
REGISTER_DEMUXER
(
LMLM4
,
lmlm4
);
REGISTER_DEMUXER
(
LOAS
,
loas
);
REGISTER_DEMUXER
(
LXF
,
lxf
);
REGISTER_MUXDEMUX
(
M4V
,
m4v
);
REGISTER_MUXER
(
MD5
,
md5
);
...
...
libavformat/loasdec.c
0 → 100644
浏览文件 @
47818b2a
/*
* LOAS AudioSyncStream demuxer
* Copyright (c) 2008 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/intreadwrite.h"
#include "libavutil/internal.h"
#include "avformat.h"
#include "rawdec.h"
static
int
loas_probe
(
AVProbeData
*
p
)
{
int
max_frames
=
0
,
first_frames
=
0
;
int
fsize
,
frames
;
uint8_t
*
buf0
=
p
->
buf
;
uint8_t
*
buf2
;
uint8_t
*
buf
;
uint8_t
*
end
=
buf0
+
p
->
buf_size
-
3
;
buf
=
buf0
;
for
(;
buf
<
end
;
buf
=
buf2
+
1
)
{
buf2
=
buf
;
for
(
frames
=
0
;
buf2
<
end
;
frames
++
)
{
uint32_t
header
=
AV_RB24
(
buf2
);
if
((
header
>>
13
)
!=
0x2B7
)
break
;
fsize
=
(
header
&
0x1FFF
)
+
3
;
if
(
fsize
<
7
)
break
;
fsize
=
FFMIN
(
fsize
,
end
-
buf2
);
buf2
+=
fsize
;
}
max_frames
=
FFMAX
(
max_frames
,
frames
);
if
(
buf
==
buf0
)
first_frames
=
frames
;
}
if
(
first_frames
>=
3
)
return
AVPROBE_SCORE_MAX
/
2
+
1
;
else
if
(
max_frames
>
100
)
return
AVPROBE_SCORE_MAX
/
2
;
else
if
(
max_frames
>=
3
)
return
AVPROBE_SCORE_MAX
/
4
;
else
if
(
max_frames
>=
1
)
return
1
;
else
return
0
;
}
static
int
loas_read_header
(
AVFormatContext
*
s
,
AVFormatParameters
*
ap
)
{
AVStream
*
st
;
st
=
av_new_stream
(
s
,
0
);
if
(
!
st
)
return
AVERROR
(
ENOMEM
);
st
->
codec
->
codec_type
=
AVMEDIA_TYPE_AUDIO
;
st
->
codec
->
codec_id
=
s
->
iformat
->
value
;
st
->
need_parsing
=
AVSTREAM_PARSE_FULL
;
//LCM of all possible AAC sample rates
av_set_pts_info
(
st
,
64
,
1
,
28224000
);
return
0
;
}
AVInputFormat
ff_loas_demuxer
=
{
.
name
=
"loas"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"LOAS AudioSyncStream"
),
.
read_probe
=
loas_probe
,
.
read_header
=
loas_read_header
,
.
read_packet
=
ff_raw_read_partial_packet
,
.
flags
=
AVFMT_GENERIC_INDEX
,
.
value
=
CODEC_ID_AAC_LATM
,
};
libavformat/version.h
浏览文件 @
47818b2a
...
...
@@ -24,7 +24,7 @@
#include "libavutil/avutil.h"
#define LIBAVFORMAT_VERSION_MAJOR 53
#define LIBAVFORMAT_VERSION_MINOR
8
#define LIBAVFORMAT_VERSION_MINOR
9
#define LIBAVFORMAT_VERSION_MICRO 0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录