问题1:想ffmpeg对flv视频格式进行解码播放,想利用flv_read_header(),flv_read_packet()读帧,于是包含#include "libavformat/flvdec.c" 此头文件。
报如下错误:
//libavcodec\x86\mathops.h
__asm__ (
"imull %3"
:"=d"(rt), "=a"(dummy)
:"a"(a), "rm"(b)
);
error C2143: 语法错误 : 缺少“)”(在“:”的前面)
error C2059: 语法错误 : “)”
error C3861: “__asm__”: 找不到标识符
error C2143: 语法错误 : 缺少“)”(在“:”的前面)
error C2059: 语法错误 : “)”
//libavformat\flvdec.c
AVInputFormat ff_flv_demuxer = {
"flv",
NULL_IF_CONFIG_SMALL("FLV format"),
sizeof(FLVContext),
flv_probe,
flv_read_header,
flv_read_packet,
.read_seek = flv_read_seek,
#if 0
.read_seek2 = flv_read_seek2,
#endif
.extensions = "flv",
.value = CODEC_ID_FLV1,
};
error C3861: “NULL_IF_CONFIG_SMALL”: 找不到标识符
error C2143: 语法错误 : 缺少“}”(在“.”的前面)
error C2143: 语法错误 : 缺少“;”(在“.”的前面)
error C2059: 语法错误 : “.”
error C2143: 语法错误 : 缺少“;”(在“}”的前面)
error C2059: 语法错误 : “}”
请问一下这是ffmpeg文件本身语法错误,还是链接包含问题?
问题2:用av_read_frame()和avcodec_decode_video2()解flv视频数据失败,用flv_read_packet()是否可行?