ffmpeg_mpegvideo_start.c

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

C
83
字号
#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 int (*ff_mpeg1_find_frame_end_funcp)();extern int ff_mpeg1_find_frame_end ();extern void (*ff_h261_loop_filter_funcp)();extern void ff_h261_loop_filter();extern void (*ff_cavsdsp_init_funcp)();extern void ff_cavsdsp_init ();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;    first_avcodec = NULL;  REGISTER_DECODER (MPEG1VIDEO, mpeg1video);  REGISTER_DECODER (MPEG2VIDEO, mpeg2video);  REGISTER_DECODER (MPEGVIDEO, mpegvideo);  REGISTER_DECODER (MDEC, mdec);  REGISTER_DECODER (ASV1, asv1);  REGISTER_DECODER (ASV2, asv2);  REGISTER_DECODER (AVS, avs);  REGISTER_DECODER (CAVS, cavs);  REGISTER_DECODER (SP5X, sp5x);  REGISTER_DECODER (AMV, amv);  REGISTER_DECODER (NUV, nuv);  REGISTER_DECODER (H261, h261);  REGISTER_DECODER (MJPEG, mjpeg);  REGISTER_DECODER (THP, thp);  REGISTER_DECODER (JPEGLS, jpegls);  REGISTER_DECODER (MJPEGB, mjpegb);  REGISTER_DECODER (SGI, sgi);  REGISTER_DECODER (SMACKER, smacker);  REGISTER_DECODER (THEORA, theora);  REGISTER_DECODER (VP3, vp3);  REGISTER_DECODER (TIERTEXSEQVIDEO, tiertexseqvideo);  REGISTER_DECODER (TIFF, tiff);  REGISTER_DECODER (TRUEMOTION1, truemotion1);  REGISTER_DECODER (TRUEMOTION2, truemotion2);  REGISTER_DECODER (TSCC, tscc);  REGISTER_DECODER (TXD, txd);  REGISTER_DECODER (ULTI, ulti);  REGISTER_DECODER (VCR1, vcr1);  REGISTER_DECODER (VMDVIDEO, vmdvideo);  REGISTER_DECODER (VMNC, vmnc);  REGISTER_DECODER (VP5, vp5);  REGISTER_DECODER (VP6, vp6);  REGISTER_DECODER (VP6F, vp6f);  REGISTER_DECODER (VP6A, vp6a);  REGISTER_DECODER (VQA, vqa);  REGISTER_DECODER (WNV1, wnv1);  REGISTER_DECODER (XAN_WC3, xan_wc3);  REGISTER_DECODER (XL, xl);  REGISTER_DECODER (XSUB, xsub);// AudioREGISTER_DECODER (SMACKAUD, smackaud);REGISTER_DECODER (VMDAUDIO, vmdaudio);// init ..._init funcp   ff_mpeg1_find_frame_end_funcp = ff_mpeg1_find_frame_end;   ff_h261_loop_filter_funcp = ff_h261_loop_filter;   ff_cavsdsp_init_funcp = ff_cavsdsp_init;  return NULL;}

⌨️ 快捷键说明

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