!126 解封装支持amr

Merge pull request !126 from Bojack/amr
This commit is contained in:
openharmony_ci 2023-10-13 12:33:45 +00:00 committed by Gitee
commit 0cca3dcd37
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 47 additions and 27 deletions

View File

@ -183,10 +183,10 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/ac3enc_fixed.c",
# "//third_party/ffmpeg/libavcodec/ac3enc_float.c",
"//third_party/ffmpeg/libavcodec/ac3tab.c",
"//third_party/ffmpeg/libavcodec/acelp_filters.c",
"//third_party/ffmpeg/libavcodec/acelp_pitch_delay.c",
"//third_party/ffmpeg/libavcodec/acelp_vectors.c",
# "//third_party/ffmpeg/libavcodec/acelp_filters.c",
# "//third_party/ffmpeg/libavcodec/acelp_pitch_delay.c",
# "//third_party/ffmpeg/libavcodec/acelp_vectors.c",
# "//third_party/ffmpeg/libavcodec/adpcm.c",
# "//third_party/ffmpeg/libavcodec/adpcm_data.c",
"//third_party/ffmpeg/libavcodec/adts_header.c",
@ -207,8 +207,9 @@ ohos_source_set("ffmpeg_dynamic") {
"//third_party/ffmpeg/libavcodec/allcodecs.c",
# "//third_party/ffmpeg/libavcodec/alsdec.c",
# "//third_party/ffmpeg/libavcodec/amrnbdec.c",
# "//third_party/ffmpeg/libavcodec/amrwbdec.c",
"//third_party/ffmpeg/libavcodec/amrnbdec.c",
"//third_party/ffmpeg/libavcodec/amrwbdec.c",
# "//third_party/ffmpeg/libavcodec/anm.c",
# "//third_party/ffmpeg/libavcodec/ansi.c",
"//third_party/ffmpeg/libavcodec/apedec.c",
@ -265,8 +266,8 @@ ohos_source_set("ffmpeg_dynamic") {
"//third_party/ffmpeg/libavcodec/bitstream_filter.c",
"//third_party/ffmpeg/libavcodec/bitstream_filters.c",
"//third_party/ffmpeg/libavcodec/blockdsp.c",
"//third_party/ffmpeg/libavcodec/bmp.c",
# "//third_party/ffmpeg/libavcodec/bmp.c",
# "//third_party/ffmpeg/libavcodec/bmp_parser.c",
# "//third_party/ffmpeg/libavcodec/bmpenc.c",
# "//third_party/ffmpeg/libavcodec/bmvaudio.c",
@ -295,8 +296,9 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/ccaption_dec.c",
# "//third_party/ffmpeg/libavcodec/cdgraphics.c",
# "//third_party/ffmpeg/libavcodec/cdxl.c",
# "//third_party/ffmpeg/libavcodec/celp_filters.c",
# "//third_party/ffmpeg/libavcodec/celp_math.c",
"//third_party/ffmpeg/libavcodec/celp_filters.c",
"//third_party/ffmpeg/libavcodec/celp_math.c",
# "//third_party/ffmpeg/libavcodec/cfhd.c",
# "//third_party/ffmpeg/libavcodec/cfhddata.c",
# "//third_party/ffmpeg/libavcodec/cfhddsp.c",
@ -402,7 +404,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/escape124.c",
# "//third_party/ffmpeg/libavcodec/escape130.c",
# "//third_party/ffmpeg/libavcodec/evrcdec.c",
# "//third_party/ffmpeg/libavcodec/exif.c",
"//third_party/ffmpeg/libavcodec/exif.c",
# "//third_party/ffmpeg/libavcodec/extract_extradata_bsf.c",
# "//third_party/ffmpeg/libavcodec/faandct.c",
# "//third_party/ffmpeg/libavcodec/faanidct.c",
@ -570,7 +573,7 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/jpegls.c",
# "//third_party/ffmpeg/libavcodec/jpeglsdec.c",
# "//third_party/ffmpeg/libavcodec/jpeglsenc.c",
# "//third_party/ffmpeg/libavcodec/jpegtables.c",
"//third_party/ffmpeg/libavcodec/jpegtables.c",
"//third_party/ffmpeg/libavcodec/jrevdct.c",
# "//third_party/ffmpeg/libavcodec/jvdec.c",
@ -590,8 +593,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/lossless_videodsp.c",
# "//third_party/ffmpeg/libavcodec/lossless_videoencdsp.c",
"//third_party/ffmpeg/libavcodec/lpc.c",
"//third_party/ffmpeg/libavcodec/lsp.c",
# "//third_party/ffmpeg/libavcodec/lsp.c",
# "//third_party/ffmpeg/libavcodec/lzf.c",
# "//third_party/ffmpeg/libavcodec/lzw.c",
# "//third_party/ffmpeg/libavcodec/lzwenc.c",
@ -614,8 +617,9 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/mjpeg_parser.c",
# "//third_party/ffmpeg/libavcodec/mjpega_dump_header_bsf.c",
# "//third_party/ffmpeg/libavcodec/mjpegbdec.c",
# "//third_party/ffmpeg/libavcodec/mjpegdec.c",
# "//third_party/ffmpeg/libavcodec/mjpegdec_common.c",
"//third_party/ffmpeg/libavcodec/mjpegdec.c",
"//third_party/ffmpeg/libavcodec/mjpegdec_common.c",
# "//third_party/ffmpeg/libavcodec/mjpegenc.c",
# "//third_party/ffmpeg/libavcodec/mjpegenc_common.c",
# "//third_party/ffmpeg/libavcodec/mjpegenc_huffman.c",
@ -686,7 +690,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/msmpeg4dec.c",
# "//third_party/ffmpeg/libavcodec/msmpeg4enc.c",
# "//third_party/ffmpeg/libavcodec/msrle.c",
# "//third_party/ffmpeg/libavcodec/msrledec.c",
"//third_party/ffmpeg/libavcodec/msrledec.c",
# "//third_party/ffmpeg/libavcodec/mss1.c",
# "//third_party/ffmpeg/libavcodec/mss12.c",
# "//third_party/ffmpeg/libavcodec/mss2.c",
@ -865,7 +870,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavcodec/texturedsp.c",
# "//third_party/ffmpeg/libavcodec/tiertexseqv.c",
# "//third_party/ffmpeg/libavcodec/tiff.c",
# "//third_party/ffmpeg/libavcodec/tiff_common.c",
"//third_party/ffmpeg/libavcodec/tiff_common.c",
# "//third_party/ffmpeg/libavcodec/tiffenc.c",
# "//third_party/ffmpeg/libavcodec/tmv.c",
# "//third_party/ffmpeg/libavcodec/tpeldsp.c",
@ -1042,8 +1048,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavformat/aiffenc.c",
# "//third_party/ffmpeg/libavformat/aixdec.c",
"//third_party/ffmpeg/libavformat/allformats.c",
"//third_party/ffmpeg/libavformat/amr.c",
# "//third_party/ffmpeg/libavformat/amr.c",
# "//third_party/ffmpeg/libavformat/anm.c",
# "//third_party/ffmpeg/libavformat/apc.c",
"//third_party/ffmpeg/libavformat/ape.c",
@ -1211,8 +1217,9 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavformat/lvfdec.c",
# "//third_party/ffmpeg/libavformat/lxfdec.c",
# "//third_party/ffmpeg/libavformat/m4vdec.c",
# "//third_party/ffmpeg/libavformat/matroska.c",
# "//third_party/ffmpeg/libavformat/matroskadec.c",
"//third_party/ffmpeg/libavformat/matroska.c",
"//third_party/ffmpeg/libavformat/matroskadec.c",
# "//third_party/ffmpeg/libavformat/matroskaenc.c",
# "//third_party/ffmpeg/libavformat/md5proto.c",
"//third_party/ffmpeg/libavformat/metadata.c",
@ -1325,7 +1332,8 @@ ohos_source_set("ffmpeg_dynamic") {
# "//third_party/ffmpeg/libavformat/rm.c",
# "//third_party/ffmpeg/libavformat/rmdec.c",
# "//third_party/ffmpeg/libavformat/rmenc.c",
# "//third_party/ffmpeg/libavformat/rmsipr.c",
"//third_party/ffmpeg/libavformat/rmsipr.c",
# "//third_party/ffmpeg/libavformat/rpl.c",
# "//third_party/ffmpeg/libavformat/rsd.c",
# "//third_party/ffmpeg/libavformat/rso.c",

View File

@ -1637,7 +1637,9 @@ static int matroska_decode_buffer(uint8_t **buf, int *buf_size,
uint8_t av_unused *newpktdata;
int pkt_size = isize;
int result = 0;
#if CONFIG_LZO
int olen;
#endif
if (pkt_size >= 10000000U)
return AVERROR_INVALIDDATA;

View File

@ -130,6 +130,13 @@ const AVOption ff_raw_options[] = {
{ NULL },
};
const AVClass ff_raw_demuxer_class = {
.class_name = "generic raw demuxer",
.item_name = av_default_item_name,
.option = ff_raw_options,
.version = LIBAVUTIL_VERSION_INT,
};
#if CONFIG_DATA_DEMUXER
FF_RAW_DEMUXER_CLASS(raw_data)

View File

@ -41,6 +41,7 @@ typedef struct FFRawDemuxerContext {
extern const AVOption ff_rawvideo_options[];
extern const AVOption ff_raw_options[];
extern const AVClass ff_raw_demuxer_class;
int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt);

View File

@ -21,7 +21,6 @@ FF_CONFIG_OPTIONS="
--disable-avfilter
--disable-network
--disable-dwt
--disable-lsp
--disable-lzo
--disable-faan
--disable-pixelutils
@ -52,18 +51,20 @@ FF_CONFIG_OPTIONS="
--disable-sdl2
--disable-bzlib
--disable-lzma
--enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts
--enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts,amr,amrnb,amrwb,matroska
--enable-muxer=mp4,h264,ipod
--enable-parser=h263,h264,mpeg4video,vp8,vp9,mpegvideo
--enable-parser=mpegaudio,aac,aac_latm,av3a
--enable-parser=mpegaudio,aac,aac_latm,av3a,amr
--enable-decoder=h263,h264,mpeg2video,mpeg4,vp8,vp9
--enable-decoder=mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus
--enable-decoder=mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus,amrnb,amrwb
--enable-decoder=png,mjpeg,bmp
--enable-encoder=aac,aac_latm,opus,flac
--enable-encoder=mpeg4,h263
--enable-bsf=h264_mp4toannexb
--enable-protocol=file
--enable-cross-compile
--enable-shared
--enable-lsp
--cc=${LLVM_PATH}/bin/clang
--ld=${LLVM_PATH}/bin/clang
--strip=${LLVM_PATH}/bin/llvm-strip
@ -106,7 +107,6 @@ FF_CONFIG_OPTIONS="
--disable-avfilter
--disable-network
--disable-dwt
--disable-lsp
--disable-lzo
--disable-faan
--disable-pixelutils
@ -138,16 +138,18 @@ FF_CONFIG_OPTIONS="
--disable-sdl2
--disable-bzlib
--disable-lzma
--enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts
--enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts,amr,amrnb,amrwb,matroska
--enable-muxer=mp4,h264,ipod
--enable-parser=h263,h264,mpeg4video,vp8,vp9,mpegvideo
--enable-parser=mpegaudio,aac,aac_latm,av3a
--enable-parser=mpegaudio,aac,aac_latm,av3a,amr
--enable-decoder=h263,h264,mpeg2video,mpeg4,vp8,vp9
--enable-decoder=mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus
--enable-decoder=mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus,amrnb,amrwb
--enable-decoder=png,mjpeg,bmp
--enable-encoder=aac,aac_latm,opus,flac
--enable-encoder=mpeg4,h263
--enable-bsf=h264_mp4toannexb
--enable-protocol=file
--enable-lsp
"
FF_CONFIG_OPTIONS=`echo $FF_CONFIG_OPTIONS`