Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
2ccc6ff0
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,发现更多精彩内容 >>
提交
2ccc6ff0
编写于
12月 01, 2013
作者:
C
Carl Eugen Hoyos
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add an Opus and a Speex muxer.
Fixes ticket #3181.
上级
4ba90392
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
73 addition
and
11 deletion
+73
-11
libavformat/Makefile
libavformat/Makefile
+4
-0
libavformat/allformats.c
libavformat/allformats.c
+2
-0
libavformat/oggenc.c
libavformat/oggenc.c
+65
-9
libavformat/version.h
libavformat/version.h
+2
-2
未找到文件。
libavformat/Makefile
浏览文件 @
2ccc6ff0
...
...
@@ -269,6 +269,8 @@ OBJS-$(CONFIG_OGG_MUXER) += oggenc.o \
vorbiscomment.o
OBJS-$(CONFIG_OMA_DEMUXER)
+=
omadec.o pcm.o oma.o
OBJS-$(CONFIG_OMA_MUXER)
+=
omaenc.o rawenc.o oma.o id3v2enc.o
OBJS-$(CONFIG_OPUS_MUXER)
+=
oggenc.o
\
vorbiscomment.o
OBJS-$(CONFIG_PAF_DEMUXER)
+=
paf.o
OBJS-$(CONFIG_PCM_ALAW_DEMUXER)
+=
pcmdec.o pcm.o
OBJS-$(CONFIG_PCM_ALAW_MUXER)
+=
pcmenc.o rawenc.o
...
...
@@ -365,6 +367,8 @@ OBJS-$(CONFIG_SOX_DEMUXER) += soxdec.o pcm.o
OBJS-$(CONFIG_SOX_MUXER)
+=
soxenc.o rawenc.o
OBJS-$(CONFIG_SPDIF_DEMUXER)
+=
spdif.o spdifdec.o
OBJS-$(CONFIG_SPDIF_MUXER)
+=
spdif.o spdifenc.o
OBJS-$(CONFIG_SPEEX_MUXER)
+=
oggenc.o
\
vorbiscomment.o
OBJS-$(CONFIG_SRT_DEMUXER)
+=
srtdec.o subtitles.o
OBJS-$(CONFIG_SRT_MUXER)
+=
srtenc.o
OBJS-$(CONFIG_STR_DEMUXER)
+=
psxstr.o
...
...
libavformat/allformats.c
浏览文件 @
2ccc6ff0
...
...
@@ -205,6 +205,7 @@ void av_register_all(void)
REGISTER_DEMUXER
(
NUV
,
nuv
);
REGISTER_MUXDEMUX
(
OGG
,
ogg
);
REGISTER_MUXDEMUX
(
OMA
,
oma
);
REGISTER_MUXER
(
OPUS
,
opus
);
REGISTER_DEMUXER
(
PAF
,
paf
);
REGISTER_MUXDEMUX
(
PCM_ALAW
,
pcm_alaw
);
REGISTER_MUXDEMUX
(
PCM_MULAW
,
pcm_mulaw
);
...
...
@@ -264,6 +265,7 @@ void av_register_all(void)
REGISTER_DEMUXER
(
SOL
,
sol
);
REGISTER_MUXDEMUX
(
SOX
,
sox
);
REGISTER_MUXDEMUX
(
SPDIF
,
spdif
);
REGISTER_MUXER
(
SPEEX
,
speex
);
REGISTER_MUXDEMUX
(
SRT
,
srt
);
REGISTER_DEMUXER
(
STR
,
str
);
REGISTER_DEMUXER
(
SUBVIEWER1
,
subviewer1
);
...
...
libavformat/oggenc.c
浏览文件 @
2ccc6ff0
...
...
@@ -86,14 +86,6 @@ static const AVOption options[] = {
{
NULL
},
};
static
const
AVClass
ogg_muxer_class
=
{
.
class_name
=
"Ogg muxer"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
static
void
ogg_update_checksum
(
AVFormatContext
*
s
,
AVIOContext
*
pb
,
int64_t
crc_offset
)
{
int64_t
pos
=
avio_tell
(
pb
);
...
...
@@ -624,11 +616,26 @@ static int ogg_write_trailer(AVFormatContext *s)
return
0
;
}
#if CONFIG_OGG_MUXER
static
const
AVClass
ogg_muxer_class
=
{
.
class_name
=
"Ogg muxer"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
AVOutputFormat
ff_ogg_muxer
=
{
.
name
=
"ogg"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"Ogg"
),
.
mime_type
=
"application/ogg"
,
.
extensions
=
"ogg,ogv,spx,opus"
,
.
extensions
=
"ogg,ogv"
#if !CONFIG_SPEEX_MUXER
",spx"
#endif
#if !CONFIG_OPUS_MUXER
",opus"
#endif
,
.
priv_data_size
=
sizeof
(
OGGContext
),
.
audio_codec
=
AV_CODEC_ID_FLAC
,
.
video_codec
=
AV_CODEC_ID_THEORA
,
...
...
@@ -638,3 +645,52 @@ AVOutputFormat ff_ogg_muxer = {
.
flags
=
AVFMT_TS_NEGATIVE
,
.
priv_class
=
&
ogg_muxer_class
,
};
#endif
#if CONFIG_SPEEX_MUXER
static
const
AVClass
speex_muxer_class
=
{
.
class_name
=
"Speex muxer"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
AVOutputFormat
ff_speex_muxer
=
{
.
name
=
"speex"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"Speex"
),
.
mime_type
=
"audio/ogg"
,
.
extensions
=
"spx"
,
.
priv_data_size
=
sizeof
(
OGGContext
),
.
audio_codec
=
AV_CODEC_ID_SPEEX
,
.
video_codec
=
AV_CODEC_ID_NONE
,
.
write_header
=
ogg_write_header
,
.
write_packet
=
ogg_write_packet
,
.
write_trailer
=
ogg_write_trailer
,
.
flags
=
AVFMT_TS_NEGATIVE
,
.
priv_class
=
&
speex_muxer_class
,
};
#endif
#if CONFIG_OPUS_MUXER
static
const
AVClass
opus_muxer_class
=
{
.
class_name
=
"Opus muxer"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
AVOutputFormat
ff_opus_muxer
=
{
.
name
=
"opus"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"Opus"
),
.
mime_type
=
"audio/ogg"
,
.
extensions
=
"opus"
,
.
priv_data_size
=
sizeof
(
OGGContext
),
.
audio_codec
=
AV_CODEC_ID_OPUS
,
.
video_codec
=
AV_CODEC_ID_NONE
,
.
write_header
=
ogg_write_header
,
.
write_packet
=
ogg_write_packet
,
.
write_trailer
=
ogg_write_trailer
,
.
flags
=
AVFMT_TS_NEGATIVE
,
.
priv_class
=
&
opus_muxer_class
,
};
#endif
libavformat/version.h
浏览文件 @
2ccc6ff0
...
...
@@ -30,8 +30,8 @@
#include "libavutil/avutil.h"
#define LIBAVFORMAT_VERSION_MAJOR 55
#define LIBAVFORMAT_VERSION_MINOR 2
1
#define LIBAVFORMAT_VERSION_MICRO 10
2
#define LIBAVFORMAT_VERSION_MINOR 2
2
#define LIBAVFORMAT_VERSION_MICRO 10
0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录