Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
cba322d7
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,发现更多精彩内容 >>
提交
cba322d7
编写于
9月 26, 2010
作者:
K
Kostya Shishkov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make WMV3 decoder attempt to decode WMVP as well
Originally committed as revision 25209 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
10f93363
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
4 deletion
+26
-4
libavcodec/avcodec.h
libavcodec/avcodec.h
+1
-1
libavcodec/vc1.c
libavcodec/vc1.c
+19
-3
libavcodec/vc1dec.c
libavcodec/vc1dec.c
+5
-0
libavformat/riff.c
libavformat/riff.c
+1
-0
未找到文件。
libavcodec/avcodec.h
浏览文件 @
cba322d7
...
...
@@ -32,7 +32,7 @@
#define LIBAVCODEC_VERSION_MAJOR 52
#define LIBAVCODEC_VERSION_MINOR 90
#define LIBAVCODEC_VERSION_MICRO
0
#define LIBAVCODEC_VERSION_MICRO
1
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
libavcodec/vc1.c
浏览文件 @
cba322d7
...
...
@@ -315,8 +315,7 @@ int vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitConte
return
-
1
;
}
if
(
v
->
res_sprite
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"WMVP is not supported
\n
"
);
return
-
1
;
av_log
(
avctx
,
AV_LOG_ERROR
,
"WMVP is not fully supported
\n
"
);
}
}
...
...
@@ -387,7 +386,21 @@ int vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitConte
v
->
quantizer_mode
=
get_bits
(
gb
,
2
);
//common
v
->
finterpflag
=
get_bits1
(
gb
);
//common
v
->
res_rtm_flag
=
get_bits1
(
gb
);
//reserved
if
(
v
->
res_sprite
)
{
v
->
s
.
avctx
->
width
=
v
->
s
.
avctx
->
coded_width
=
get_bits
(
gb
,
11
);
v
->
s
.
avctx
->
height
=
v
->
s
.
avctx
->
coded_height
=
get_bits
(
gb
,
11
);
skip_bits
(
gb
,
5
);
//frame rate
v
->
res_x8
=
get_bits1
(
gb
);
if
(
get_bits1
(
gb
))
{
// something to do with DC VLC selection
av_log
(
avctx
,
AV_LOG_ERROR
,
"Unsupported sprite feature
\n
"
);
return
-
1
;
}
skip_bits
(
gb
,
3
);
//slice code
v
->
res_rtm_flag
=
0
;
}
else
{
v
->
res_rtm_flag
=
get_bits1
(
gb
);
//reserved
}
if
(
!
v
->
res_rtm_flag
)
{
// av_log(avctx, AV_LOG_ERROR,
...
...
@@ -566,6 +579,9 @@ int vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
{
int
pqindex
,
lowquant
,
status
;
if
(
v
->
res_sprite
)
{
skip_bits
(
gb
,
2
);
//not yet deciphered
}
if
(
v
->
finterpflag
)
v
->
interpfrm
=
get_bits1
(
gb
);
skip_bits
(
gb
,
2
);
//framecnt unused
v
->
rangeredfrm
=
0
;
...
...
libavcodec/vc1dec.c
浏览文件 @
cba322d7
...
...
@@ -3240,6 +3240,11 @@ static int vc1_decode_frame(AVCodecContext *avctx,
}
}
if
(
v
->
res_sprite
&&
(
s
->
pict_type
!=
FF_I_TYPE
)){
av_free
(
buf2
);
return
-
1
;
}
// for hurry_up==5
s
->
current_picture
.
pict_type
=
s
->
pict_type
;
s
->
current_picture
.
key_frame
=
s
->
pict_type
==
FF_I_TYPE
;
...
...
libavformat/riff.c
浏览文件 @
cba322d7
...
...
@@ -227,6 +227,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
{
CODEC_ID_QPEG
,
MKTAG
(
'Q'
,
'1'
,
'.'
,
'0'
)
},
{
CODEC_ID_QPEG
,
MKTAG
(
'Q'
,
'1'
,
'.'
,
'1'
)
},
{
CODEC_ID_WMV3
,
MKTAG
(
'W'
,
'M'
,
'V'
,
'3'
)
},
{
CODEC_ID_WMV3
,
MKTAG
(
'W'
,
'M'
,
'V'
,
'P'
)
},
{
CODEC_ID_VC1
,
MKTAG
(
'W'
,
'V'
,
'C'
,
'1'
)
},
{
CODEC_ID_VC1
,
MKTAG
(
'W'
,
'M'
,
'V'
,
'A'
)
},
{
CODEC_ID_LOCO
,
MKTAG
(
'L'
,
'O'
,
'C'
,
'O'
)
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录