]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/allcodecs.c
prevent bitstream reader to be overriden
[ffmpeg] / libavcodec / allcodecs.c
index ef97b871d3b330e89a020de263a05c6359c906f7..1f0e101fe02c12aae771cf9744037eacb1104091 100644 (file)
@@ -59,14 +59,6 @@ void avcodec_register_all(void)
     register_avcodec(&oggvorbis_decoder);
 #endif //CONFIG_OGGVORBIS_DECODER
 #endif
-#ifdef CONFIG_LIBTHEORA
-#ifdef CONFIG_OGGTHEORA_ENCODER
-//    register_avcodec(&oggtheora_encoder);
-#endif //CONFIG_OGGTHEORA_ENCODER
-#ifdef CONFIG_OGGTHEORA_DECODER
-    register_avcodec(&oggtheora_decoder);
-#endif //CONFIG_OGGTHEORA_DECODER
-#endif
 #ifdef CONFIG_FAAC
 #ifdef CONFIG_FAAC_ENCODER
     register_avcodec(&faac_encoder);
@@ -229,11 +221,9 @@ void avcodec_register_all(void)
 #ifdef CONFIG_VC1_DECODER
     register_avcodec(&vc1_decoder);
 #endif //CONFIG_VC1_DECODER
-/* Reenable when it stops crashing on every file, causing bug report spam.
 #ifdef CONFIG_WMV3_DECODER
     register_avcodec(&wmv3_decoder);
 #endif //CONFIG_WMV3_DECODER
-*/
 #ifdef CONFIG_H263I_DECODER
     register_avcodec(&h263i_decoder);
 #endif //CONFIG_H263I_DECODER
@@ -378,7 +368,7 @@ void avcodec_register_all(void)
 #ifdef CONFIG_VP3_DECODER
     register_avcodec(&vp3_decoder);
 #endif //CONFIG_VP3_DECODER
-#if (defined CONFIG_THEORA_DECODER && !defined CONFIG_LIBTHEORA)
+#ifdef CONFIG_THEORA_DECODER
     register_avcodec(&theora_decoder);
 #endif //CONFIG_THEORA_DECODER
 #ifdef CONFIG_ASV1_DECODER
@@ -540,7 +530,7 @@ void avcodec_register_all(void)
 #endif //CONFIG_FLASHSV_DECODER
 #endif /* CONFIG_DECODERS */
 
-#if defined(AMR_NB) || defined(AMR_NB_FIXED)
+#if defined(CONFIG_AMR_NB) || defined(CONFIG_AMR_NB_FIXED)
 #ifdef CONFIG_AMR_NB_DECODER
     register_avcodec(&amr_nb_decoder);
 #endif //CONFIG_AMR_NB_DECODER
@@ -549,9 +539,9 @@ void avcodec_register_all(void)
     register_avcodec(&amr_nb_encoder);
 #endif //CONFIG_AMR_NB_ENCODER
 #endif //CONFIG_ENCODERS
-#endif /* AMR_NB || AMR_NB_FIXED */
+#endif /* CONFIG_AMR_NB || CONFIG_AMR_NB_FIXED */
 
-#ifdef AMR_WB
+#ifdef CONFIG_AMR_WB
 #ifdef CONFIG_AMR_WB_DECODER
     register_avcodec(&amr_wb_decoder);
 #endif //CONFIG_AMR_WB_DECODER
@@ -560,7 +550,7 @@ void avcodec_register_all(void)
     register_avcodec(&amr_wb_encoder);
 #endif //CONFIG_AMR_WB_ENCODER
 #endif //CONFIG_ENCODERS
-#endif /* AMR_WB */
+#endif /* CONFIG_AMR_WB */
 
 #ifdef CONFIG_BMP_DECODER
     register_avcodec(&bmp_decoder);
@@ -571,56 +561,218 @@ void avcodec_register_all(void)
 #endif //CONFIG_MMVIDEO_DECODER
 
     /* pcm codecs */
-#if defined (CONFIG_ENCODERS) && defined (CONFIG_DECODERS)
-    #define PCM_CODEC(id, name) \
-        register_avcodec(& name ## _encoder); \
-        register_avcodec(& name ## _decoder);
-#elif defined (CONFIG_ENCODERS)
-    #define PCM_CODEC(id, name) \
-        register_avcodec(& name ## _encoder);
-#elif defined (CONFIG_DECODERS)
-    #define PCM_CODEC(id, name) \
-        register_avcodec(& name ## _decoder);
+#ifdef CONFIG_PCM_S32LE_DECODER
+    register_avcodec(&pcm_s32le_decoder);
+#endif
+#ifdef CONFIG_PCM_S32LE_ENCODER
+    register_avcodec(&pcm_s32le_encoder);
+#endif
+#ifdef CONFIG_PCM_S32BE_DECODER
+    register_avcodec(&pcm_s32be_decoder);
+#endif
+#ifdef CONFIG_PCM_S32BE_ENCODER
+    register_avcodec(&pcm_s32be_encoder);
+#endif
+#ifdef CONFIG_PCM_U32LE_DECODER
+    register_avcodec(&pcm_u32le_decoder);
+#endif
+#ifdef CONFIG_PCM_U32LE_ENCODER
+    register_avcodec(&pcm_u32le_encoder);
+#endif
+#ifdef CONFIG_PCM_U32BE_DECODER
+    register_avcodec(&pcm_u32be_decoder);
+#endif
+#ifdef CONFIG_PCM_U32BE_ENCODER
+    register_avcodec(&pcm_u32be_encoder);
+#endif
+#ifdef CONFIG_PCM_S24LE_DECODER
+    register_avcodec(&pcm_s24le_decoder);
+#endif
+#ifdef CONFIG_PCM_S24LE_ENCODER
+    register_avcodec(&pcm_s24le_encoder);
+#endif
+#ifdef CONFIG_PCM_S24BE_DECODER
+    register_avcodec(&pcm_s24be_decoder);
+#endif
+#ifdef CONFIG_PCM_S24BE_ENCODER
+    register_avcodec(&pcm_s24be_encoder);
+#endif
+#ifdef CONFIG_PCM_U24LE_DECODER
+    register_avcodec(&pcm_u24le_decoder);
+#endif
+#ifdef CONFIG_PCM_U24LE_ENCODER
+    register_avcodec(&pcm_u24le_encoder);
+#endif
+#ifdef CONFIG_PCM_U24BE_DECODER
+    register_avcodec(&pcm_u24be_decoder);
+#endif
+#ifdef CONFIG_PCM_U24BE_ENCODER
+    register_avcodec(&pcm_u24be_encoder);
+#endif
+#ifdef CONFIG_PCM_S24DAUD_DECODER
+    register_avcodec(&pcm_s24daud_decoder);
+#endif
+#ifdef CONFIG_PCM_S24DAUD_ENCODER
+    register_avcodec(&pcm_s24daud_encoder);
+#endif
+#ifdef CONFIG_PCM_S16LE_DECODER
+    register_avcodec(&pcm_s16le_decoder);
+#endif
+#ifdef CONFIG_PCM_S16LE_ENCODER
+    register_avcodec(&pcm_s16le_encoder);
+#endif
+#ifdef CONFIG_PCM_S16BE_DECODER
+    register_avcodec(&pcm_s16be_decoder);
+#endif
+#ifdef CONFIG_PCM_S16BE_ENCODER
+    register_avcodec(&pcm_s16be_encoder);
+#endif
+#ifdef CONFIG_PCM_U16LE_DECODER
+    register_avcodec(&pcm_u16le_decoder);
+#endif
+#ifdef CONFIG_PCM_U16LE_ENCODER
+    register_avcodec(&pcm_u16le_encoder);
+#endif
+#ifdef CONFIG_PCM_U16BE_DECODER
+    register_avcodec(&pcm_u16be_decoder);
+#endif
+#ifdef CONFIG_PCM_U16BE_ENCODER
+    register_avcodec(&pcm_u16be_encoder);
+#endif
+#ifdef CONFIG_PCM_S8_DECODER
+    register_avcodec(&pcm_s8_decoder);
+#endif
+#ifdef CONFIG_PCM_S8_ENCODER
+    register_avcodec(&pcm_s8_encoder);
+#endif
+#ifdef CONFIG_PCM_U8_DECODER
+    register_avcodec(&pcm_u8_decoder);
+#endif
+#ifdef CONFIG_PCM_U8_ENCODER
+    register_avcodec(&pcm_u8_encoder);
+#endif
+#ifdef CONFIG_PCM_ALAW_DECODER
+    register_avcodec(&pcm_alaw_decoder);
+#endif
+#ifdef CONFIG_PCM_ALAW_ENCODER
+    register_avcodec(&pcm_alaw_encoder);
+#endif
+#ifdef CONFIG_PCM_MULAW_DECODER
+    register_avcodec(&pcm_mulaw_decoder);
+#endif
+#ifdef CONFIG_PCM_MULAW_ENCODER
+    register_avcodec(&pcm_mulaw_encoder);
 #endif
 
-PCM_CODEC(CODEC_ID_PCM_S32LE, pcm_s32le);
-PCM_CODEC(CODEC_ID_PCM_S32BE, pcm_s32be);
-PCM_CODEC(CODEC_ID_PCM_U32LE, pcm_u32le);
-PCM_CODEC(CODEC_ID_PCM_U32BE, pcm_u32be);
-PCM_CODEC(CODEC_ID_PCM_S24LE, pcm_s24le);
-PCM_CODEC(CODEC_ID_PCM_S24BE, pcm_s24be);
-PCM_CODEC(CODEC_ID_PCM_U24LE, pcm_u24le);
-PCM_CODEC(CODEC_ID_PCM_U24BE, pcm_u24be);
-PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud);
-PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le);
-PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be);
-PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le);
-PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be);
-PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8);
-PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8);
-PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw);
-PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);
-
-    /* adpcm codecs */
-PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws);
-PCM_CODEC(CODEC_ID_ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg);
-PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms);
-PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);
-PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa);
-PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx);
-PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea);
-PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726);
-PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct);
-PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf);
-PCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha);
-PCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4);
-PCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3);
-PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
-#undef PCM_CODEC
+   /* adpcm codecs */
+#ifdef CONFIG_ADPCM_IMA_QT_DECODER
+    register_avcodec(&adpcm_ima_qt_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_QT_ENCODER
+    register_avcodec(&adpcm_ima_qt_encoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_WAV_DECODER
+    register_avcodec(&adpcm_ima_wav_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_WAV_ENCODER
+    register_avcodec(&adpcm_ima_wav_encoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_DK3_DECODER
+    register_avcodec(&adpcm_ima_dk3_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_DK3_ENCODER
+    register_avcodec(&adpcm_ima_dk3_encoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_DK4_DECODER
+    register_avcodec(&adpcm_ima_dk4_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_DK4_ENCODER
+    register_avcodec(&adpcm_ima_dk4_encoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_WS_DECODER
+    register_avcodec(&adpcm_ima_ws_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_WS_ENCODER
+    register_avcodec(&adpcm_ima_ws_encoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_SMJPEG_DECODER
+    register_avcodec(&adpcm_ima_smjpeg_decoder);
+#endif
+#ifdef CONFIG_ADPCM_IMA_SMJPEG_ENCODER
+    register_avcodec(&adpcm_ima_smjpeg_encoder);
+#endif
+#ifdef CONFIG_ADPCM_MS_DECODER
+    register_avcodec(&adpcm_ms_decoder);
+#endif
+#ifdef CONFIG_ADPCM_MS_ENCODER
+    register_avcodec(&adpcm_ms_encoder);
+#endif
+#ifdef CONFIG_ADPCM_4XM_DECODER
+    register_avcodec(&adpcm_4xm_decoder);
+#endif
+#ifdef CONFIG_ADPCM_4XM_ENCODER
+    register_avcodec(&adpcm_4xm_encoder);
+#endif
+#ifdef CONFIG_ADPCM_XA_DECODER
+    register_avcodec(&adpcm_xa_decoder);
+#endif
+#ifdef CONFIG_ADPCM_XA_ENCODER
+    register_avcodec(&adpcm_xa_encoder);
+#endif
+#ifdef CONFIG_ADPCM_ADX_DECODER
+    register_avcodec(&adpcm_adx_decoder);
+#endif
+#ifdef CONFIG_ADPCM_ADX_ENCODER
+    register_avcodec(&adpcm_adx_encoder);
+#endif
+#ifdef CONFIG_ADPCM_EA_DECODER
+    register_avcodec(&adpcm_ea_decoder);
+#endif
+#ifdef CONFIG_ADPCM_EA_ENCODER
+    register_avcodec(&adpcm_ea_encoder);
+#endif
+#ifdef CONFIG_ADPCM_G726_DECODER
+    register_avcodec(&adpcm_g726_decoder);
+#endif
+#ifdef CONFIG_ADPCM_G726_ENCODER
+    register_avcodec(&adpcm_g726_encoder);
+#endif
+#ifdef CONFIG_ADPCM_CT_DECODER
+    register_avcodec(&adpcm_ct_decoder);
+#endif
+#ifdef CONFIG_ADPCM_CT_ENCODER
+    register_avcodec(&adpcm_ct_encoder);
+#endif
+#ifdef CONFIG_ADPCM_SWF_DECODER
+    register_avcodec(&adpcm_swf_decoder);
+#endif
+#ifdef CONFIG_ADPCM_SWF_ENCODER
+    register_avcodec(&adpcm_swf_encoder);
+#endif
+#ifdef CONFIG_ADPCM_YAMAHA_DECODER
+    register_avcodec(&adpcm_yamaha_decoder);
+#endif
+#ifdef CONFIG_ADPCM_YAMAHA_ENCODER
+    register_avcodec(&adpcm_yamaha_encoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_4_DECODER
+    register_avcodec(&adpcm_sbpro_4_decoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_4_ENCODER
+    register_avcodec(&adpcm_sbpro_4_encoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_3_DECODER
+    register_avcodec(&adpcm_sbpro_3_decoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_3_ENCODER
+    register_avcodec(&adpcm_sbpro_3_encoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_2_DECODER
+    register_avcodec(&adpcm_sbpro_2_decoder);
+#endif
+#ifdef CONFIG_ADPCM_SBPRO_2_ENCODER
+    register_avcodec(&adpcm_sbpro_2_encoder);
+#endif
 
     /* subtitles */
 #ifdef CONFIG_DVDSUB_DECODER
@@ -638,28 +790,48 @@ PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2);
 #endif
 
     /* parsers */
+#ifdef CONFIG_MPEGVIDEO_PARSER
     av_register_codec_parser(&mpegvideo_parser);
+#endif
+#ifdef CONFIG_MPEG4VIDEO_PARSER
     av_register_codec_parser(&mpeg4video_parser);
+#endif
+#ifdef CONFIG_CAVSVIDEO_PARSER
     av_register_codec_parser(&cavsvideo_parser);
-#if defined(CONFIG_H261_DECODER) || defined(CONFIG_H261_ENCODER)
+#endif
+#ifdef CONFIG_H261_PARSER
     av_register_codec_parser(&h261_parser);
 #endif
+#ifdef CONFIG_H263_PARSER
     av_register_codec_parser(&h263_parser);
-#ifdef CONFIG_H264_DECODER
+#endif
+#ifdef CONFIG_H264_PARSER
     av_register_codec_parser(&h264_parser);
 #endif
+#ifdef CONFIG_MJPEG_PARSER
     av_register_codec_parser(&mjpeg_parser);
+#endif
+#ifdef CONFIG_PNM_PARSER
     av_register_codec_parser(&pnm_parser);
-
+#endif
+#ifdef CONFIG_MPEGAUDIO_PARSER
     av_register_codec_parser(&mpegaudio_parser);
+#endif
+#ifdef CONFIG_AC3_PARSER
     av_register_codec_parser(&ac3_parser);
-
-#ifdef CONFIG_DVDSUB_DECODER
+#endif
+#ifdef CONFIG_DVDSUB_PARSER
     av_register_codec_parser(&dvdsub_parser);
 #endif
-#ifdef CONFIG_DVBSUB_DECODER
+#ifdef CONFIG_DVBSUB_PARSER
     av_register_codec_parser(&dvbsub_parser);
 #endif
+#ifdef CONFIG_AAC_PARSER
     av_register_codec_parser(&aac_parser);
+#endif
+
+    av_register_bitstream_filter(&dump_extradata_bsf);
+    av_register_bitstream_filter(&remove_extradata_bsf);
+    av_register_bitstream_filter(&noise_bsf);
 }