ADPCM_DECODER

#define ADPCM_DECODER_0(id_, sample_fmts_, name_, long_name_)

#define ADPCM_DECODER_1(id_, sample_fmts_, name_, long_name_) \

const FFCodec ff_ ## name_ ## _decoder = { \

.p.name = #name_, \

CODEC_LONG_NAME(long_name_), \

.p.type = AVMEDIA_TYPE_AUDIO, \

.p.id = id_, \

.p.capabilities = AV_CODEC_CAP_DR1, \

.p.sample_fmts = sample_fmts_, \

.priv_data_size = sizeof(ADPCMDecodeContext), \

.init = adpcm_decode_init, \

FF_CODEC_DECODE_CB(adpcm_decode_frame), \

.flush = adpcm_flush, \

};

#define ADPCM_DECODER_2(enabled, codec_id, name, sample_fmts, long_name) \

ADPCM_DECODER_ ## enabled(codec_id, name, sample_fmts, long_name)

#define ADPCM_DECODER_3(config, codec_id, name, sample_fmts, long_name) \

ADPCM_DECODER_2(config, codec_id, name, sample_fmts, long_name)

#define ADPCM_DECODER(codec, name, sample_fmts, long_name) \

ADPCM_DECODER_3(CONFIG_ ## codec ## DECODER, AV_CODEC_ID ## codec, \

name, sample_fmts, long_name)

/* Note: Do not forget to add new entries to the Makefile as well. */
ADPCM_DECODER(ADPCM_4XM, sample_fmts_s16p, adpcm_4xm, "ADPCM 4X Movie")
ADPCM_DECODER(ADPCM_AFC, sample_fmts_s16p, adpcm_afc, "ADPCM Nintendo Gamecube AFC")
ADPCM_DECODER(ADPCM_AGM, sample_fmts_s16, adpcm_agm, "ADPCM AmuseGraphics Movie")
ADPCM_DECODER(ADPCM_AICA, sample_fmts_s16p, adpcm_aica, "ADPCM Yamaha AICA")
ADPCM_DECODER(ADPCM_ARGO, sample_fmts_s16p, adpcm_argo, "ADPCM Argonaut Games")
ADPCM_DECODER(ADPCM_CT, sample_fmts_s16, adpcm_ct, "ADPCM Creative Technology")
ADPCM_DECODER(ADPCM_DTK, sample_fmts_s16p, adpcm_dtk, "ADPCM Nintendo Gamecube DTK")

相关推荐
Android系统攻城狮9 小时前
Linux FFmpeg深度解析之avcodec_parameters_copy调用流程与实战(二十五)
linux·运维·服务器·ffmpeg·音视频·车载音频
FlightYe20 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮1 天前
Linux FFmpeg深度解析之av_parser_init调用流程与实战(二十一)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
重生之我是萧炎2 天前
ffmpeg官方下载安装教程(提供安装包)
ffmpeg
zslefour3 天前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
菜鸟小芯3 天前
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
ffmpeg·嵌入式