ffmpeg_one_start.c

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· C语言 代码 · 共 135 行

C
135
字号
#include "../config.h"#include "../libavcodec/dsputil.h"#include "../libavcodec/avcodec.h"#define NULL ((void *)0)#define REGISTER_DECODER(X,x) { \          extern AVCodec x##_decoder; \          if(ENABLE_##X##_DECODER)  register_avcodec(&x##_decoder); }extern unsigned int _fbss_plugin, _end_plugin;void *_start (){  unsigned int *p = &_fbss_plugin;  printf ("++++++++ ffmpeg plugin start: BSS(0x%08x, 0x%08x) +++++++++\n", &_fbss_plugin, &_end_plugin);  /* BSS init */  while (p != &_end_plugin)    *p++ = 0;  REGISTER_DECODER (WMAV1, wmav1);  REGISTER_DECODER (WMAV2, wmav2);  REGISTER_DECODER (MACE3, mace3);  REGISTER_DECODER (MACE6, mace6);  REGISTER_DECODER (SHORTEN, shorten);  REGISTER_DECODER (SONIC, sonic);  REGISTER_DECODER (WS_SND1, ws_snd1);#if 0    /* audio codecs */    REGISTER_DECODER (MPEG4AAC, mpeg4aac);    REGISTER_ENCDEC  (AC3, ac3);    REGISTER_DECODER (ALAC, alac);    REGISTER_DECODER (APE, ape);    REGISTER_DECODER (ATRAC3, atrac3);    REGISTER_DECODER (COOK, cook);    REGISTER_DECODER (DCA, dca);    REGISTER_DECODER (DSICINAUDIO, dsicinaudio);    REGISTER_ENCDEC  (FLAC, flac);    REGISTER_DECODER (IMC, imc);    REGISTER_ENCDEC  (LIBAMR_WB, libamr_wb);    REGISTER_DECODER (LIBA52, liba52);    REGISTER_ENCODER (LIBFAAC, libfaac);    REGISTER_DECODER (LIBFAAD, libfaad);    REGISTER_ENCDEC  (LIBGSM, libgsm);    REGISTER_ENCDEC  (LIBGSM_MS, libgsm_ms);    REGISTER_ENCODER (LIBMP3LAME, libmp3lame);    REGISTER_ENCODER (LIBTHEORA, libtheora);    if (!ENABLE_VORBIS_ENCODER)  REGISTER_ENCODER (LIBVORBIS, libvorbis);    if (!ENABLE_VORBIS_DECODER)  REGISTER_DECODER (LIBVORBIS, libvorbis);    REGISTER_DECODER (MACE3, mace3);    REGISTER_DECODER (MACE6, mace6);    REGISTER_ENCDEC  (MP2, mp2);    REGISTER_DECODER (MP3, mp3);    REGISTER_DECODER (MP3ADU, mp3adu);    REGISTER_DECODER (MP3ON4, mp3on4);    REGISTER_DECODER (MPC7, mpc7);    REGISTER_DECODER (QDM2, qdm2);    REGISTER_DECODER (RA_144, ra_144);    REGISTER_DECODER (RA_288, ra_288);    REGISTER_DECODER (SHORTEN, shorten);    REGISTER_DECODER (SMACKAUD, smackaud);    REGISTER_ENCDEC  (SONIC, sonic);    REGISTER_ENCODER (SONIC_LS, sonic_ls);    REGISTER_DECODER (TRUESPEECH, truespeech);    REGISTER_DECODER (TTA, tta);    REGISTER_DECODER (VMDAUDIO, vmdaudio);    REGISTER_ENCDEC  (VORBIS, vorbis);    REGISTER_DECODER (WAVPACK, wavpack);    REGISTER_DECODER (WS_SND1, ws_snd1);    /* pcm codecs */    REGISTER_ENCDEC  (PCM_ALAW, pcm_alaw);    REGISTER_ENCDEC  (PCM_MULAW, pcm_mulaw);    REGISTER_ENCDEC  (PCM_S8, pcm_s8);    REGISTER_ENCDEC  (PCM_S16BE, pcm_s16be);    REGISTER_ENCDEC  (PCM_S16LE, pcm_s16le);    REGISTER_ENCDEC  (PCM_S24BE, pcm_s24be);    REGISTER_ENCDEC  (PCM_S24DAUD, pcm_s24daud);    REGISTER_ENCDEC  (PCM_S24LE, pcm_s24le);    REGISTER_ENCDEC  (PCM_S32BE, pcm_s32be);    REGISTER_ENCDEC  (PCM_S32LE, pcm_s32le);    REGISTER_ENCDEC  (PCM_U8, pcm_u8);    REGISTER_ENCDEC  (PCM_U16BE, pcm_u16be);    REGISTER_ENCDEC  (PCM_U16LE, pcm_u16le);    REGISTER_ENCDEC  (PCM_U24BE, pcm_u24be);    REGISTER_ENCDEC  (PCM_U24LE, pcm_u24le);    REGISTER_ENCDEC  (PCM_U32BE, pcm_u32be);    REGISTER_ENCDEC  (PCM_U32LE, pcm_u32le);    REGISTER_ENCDEC  (PCM_ZORK , pcm_zork);    /* dpcm codecs */    REGISTER_DECODER (INTERPLAY_DPCM, interplay_dpcm);    REGISTER_ENCDEC  (ROQ_DPCM, roq_dpcm);    REGISTER_DECODER (SOL_DPCM, sol_dpcm);    REGISTER_DECODER (XAN_DPCM, xan_dpcm);    /* adpcm codecs */    REGISTER_ENCDEC  (ADPCM_4XM, adpcm_4xm);    REGISTER_ENCDEC  (ADPCM_ADX, adpcm_adx);    REGISTER_ENCDEC  (ADPCM_CT, adpcm_ct);    REGISTER_ENCDEC  (ADPCM_EA, adpcm_ea);    REGISTER_ENCDEC  (ADPCM_G726, adpcm_g726);    REGISTER_DECODER (ADPCM_IMA_AMV, adpcm_ima_amv);    REGISTER_ENCDEC  (ADPCM_IMA_DK3, adpcm_ima_dk3);    REGISTER_ENCDEC  (ADPCM_IMA_DK4, adpcm_ima_dk4);    REGISTER_ENCDEC  (ADPCM_IMA_QT, adpcm_ima_qt);    REGISTER_ENCDEC  (ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);    REGISTER_ENCDEC  (ADPCM_IMA_WAV, adpcm_ima_wav);    REGISTER_ENCDEC  (ADPCM_IMA_WS, adpcm_ima_ws);    REGISTER_ENCDEC  (ADPCM_MS, adpcm_ms);    REGISTER_ENCDEC  (ADPCM_SBPRO_2, adpcm_sbpro_2);    REGISTER_ENCDEC  (ADPCM_SBPRO_3, adpcm_sbpro_3);    REGISTER_ENCDEC  (ADPCM_SBPRO_4, adpcm_sbpro_4);    REGISTER_ENCDEC  (ADPCM_SWF, adpcm_swf);    REGISTER_DECODER (ADPCM_THP, adpcm_thp);    REGISTER_ENCDEC  (ADPCM_XA, adpcm_xa);    REGISTER_ENCDEC  (ADPCM_YAMAHA, adpcm_yamaha);#endif// init ..._init funcp/*  h264dsputil_init_funcp = h264dsputil_init;  ff_vc1dsp_init_funcp = ff_vc1dsp_init;  ff_mpeg4_decode_picture_header_funcp = ff_mpeg4_decode_picture_header;  ff_wmv2_add_mb_funcp = ff_wmv2_add_mb;  ff_mspel_motion_funcp = ff_mspel_motion;*/  return NULL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?