Many H.264 derivatives, like RV40 and VP8, use the H.264 prediction functions but not the weight/loopfilter functions. This should reduce the size of builds with one of these derivatives but without H.264 decoding itself. Originally committed as revision 24741 to svn://svn.ffmpeg.org/ffmpeg/trunktags/n0.8
| @@ -867,6 +867,7 @@ CONFIG_LIST=" | |||||
| gpl | gpl | ||||
| gray | gray | ||||
| h264dsp | h264dsp | ||||
| h264pred | |||||
| hardcoded_tables | hardcoded_tables | ||||
| huffman | huffman | ||||
| libdc1394 | libdc1394 | ||||
| @@ -1200,7 +1201,7 @@ h263_encoder_select="aandct" | |||||
| h263_vaapi_hwaccel_select="vaapi h263_decoder" | h263_vaapi_hwaccel_select="vaapi h263_decoder" | ||||
| h263i_decoder_select="h263_decoder" | h263i_decoder_select="h263_decoder" | ||||
| h263p_encoder_select="h263_encoder" | h263p_encoder_select="h263_encoder" | ||||
| h264_decoder_select="golomb h264dsp" | |||||
| h264_decoder_select="golomb h264dsp h264pred" | |||||
| h264_dxva2_hwaccel_deps="dxva2api_h" | h264_dxva2_hwaccel_deps="dxva2api_h" | ||||
| h264_dxva2_hwaccel_select="dxva2 h264_decoder" | h264_dxva2_hwaccel_select="dxva2 h264_decoder" | ||||
| h264_vaapi_hwaccel_select="vaapi" | h264_vaapi_hwaccel_select="vaapi" | ||||
| @@ -1247,8 +1248,8 @@ rv10_decoder_select="h263_decoder" | |||||
| rv10_encoder_select="h263_encoder" | rv10_encoder_select="h263_encoder" | ||||
| rv20_decoder_select="h263_decoder" | rv20_decoder_select="h263_decoder" | ||||
| rv20_encoder_select="h263_encoder" | rv20_encoder_select="h263_encoder" | ||||
| rv30_decoder_select="golomb h264dsp" | |||||
| rv40_decoder_select="golomb h264dsp" | |||||
| rv30_decoder_select="golomb h264pred" | |||||
| rv40_decoder_select="golomb h264pred" | |||||
| shorten_decoder_select="golomb" | shorten_decoder_select="golomb" | ||||
| sipr_decoder_select="lsp" | sipr_decoder_select="lsp" | ||||
| snow_decoder_select="dwt" | snow_decoder_select="dwt" | ||||
| @@ -1257,7 +1258,7 @@ sonic_decoder_select="golomb" | |||||
| sonic_encoder_select="golomb" | sonic_encoder_select="golomb" | ||||
| sonic_ls_encoder_select="golomb" | sonic_ls_encoder_select="golomb" | ||||
| svq1_encoder_select="aandct" | svq1_encoder_select="aandct" | ||||
| svq3_decoder_select="golomb h264dsp" | |||||
| svq3_decoder_select="golomb h264dsp h264pred" | |||||
| svq3_decoder_suggest="zlib" | svq3_decoder_suggest="zlib" | ||||
| theora_decoder_select="vp3_decoder" | theora_decoder_select="vp3_decoder" | ||||
| tiff_decoder_suggest="zlib" | tiff_decoder_suggest="zlib" | ||||
| @@ -1275,7 +1276,7 @@ vorbis_encoder_select="mdct" | |||||
| vp6_decoder_select="huffman" | vp6_decoder_select="huffman" | ||||
| vp6a_decoder_select="vp6_decoder" | vp6a_decoder_select="vp6_decoder" | ||||
| vp6f_decoder_select="vp6_decoder" | vp6f_decoder_select="vp6_decoder" | ||||
| vp8_decoder_select="h264dsp" | |||||
| vp8_decoder_select="h264pred" | |||||
| wmapro_decoder_select="mdct" | wmapro_decoder_select="mdct" | ||||
| wmav1_decoder_select="mdct" | wmav1_decoder_select="mdct" | ||||
| wmav1_encoder_select="mdct" | wmav1_encoder_select="mdct" | ||||
| @@ -1299,7 +1300,7 @@ vaapi_deps="va_va_h" | |||||
| vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" | vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" | ||||
| # parsers | # parsers | ||||
| h264_parser_select="golomb h264dsp" | |||||
| h264_parser_select="golomb h264dsp h264pred" | |||||
| # external libraries | # external libraries | ||||
| libdirac_decoder_deps="libdirac !libschroedinger" | libdirac_decoder_deps="libdirac !libschroedinger" | ||||
| @@ -32,7 +32,8 @@ OBJS-$(CONFIG_DXVA2) += dxva2.o | |||||
| FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o | FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o | ||||
| OBJS-$(CONFIG_FFT) += avfft.o fft.o $(FFT-OBJS-yes) | OBJS-$(CONFIG_FFT) += avfft.o fft.o $(FFT-OBJS-yes) | ||||
| OBJS-$(CONFIG_GOLOMB) += golomb.o | OBJS-$(CONFIG_GOLOMB) += golomb.o | ||||
| OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o h264pred.o | |||||
| OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o | |||||
| OBJS-$(CONFIG_H264PRED) += h264pred.o | |||||
| OBJS-$(CONFIG_HUFFMAN) += huffman.o | OBJS-$(CONFIG_HUFFMAN) += huffman.o | ||||
| OBJS-$(CONFIG_LPC) += lpc.o | OBJS-$(CONFIG_LPC) += lpc.o | ||||
| OBJS-$(CONFIG_LSP) += lsp.o | OBJS-$(CONFIG_LSP) += lsp.o | ||||
| @@ -3,8 +3,8 @@ OBJS-$(CONFIG_DCA_DECODER) += arm/dcadsp_init_arm.o \ | |||||
| OBJS-$(CONFIG_VP5_DECODER) += arm/vp56dsp_init_arm.o | OBJS-$(CONFIG_VP5_DECODER) += arm/vp56dsp_init_arm.o | ||||
| OBJS-$(CONFIG_VP6_DECODER) += arm/vp56dsp_init_arm.o | OBJS-$(CONFIG_VP6_DECODER) += arm/vp56dsp_init_arm.o | ||||
| OBJS-$(CONFIG_H264DSP) += arm/h264dsp_init_arm.o \ | |||||
| arm/h264pred_init_arm.o \ | |||||
| OBJS-$(CONFIG_H264DSP) += arm/h264dsp_init_arm.o | |||||
| OBJS-$(CONFIG_H264PRED) += arm/h264pred_init_arm.o | |||||
| OBJS += arm/dsputil_init_arm.o \ | OBJS += arm/dsputil_init_arm.o \ | ||||
| arm/dsputil_arm.o \ | arm/dsputil_arm.o \ | ||||
| @@ -36,7 +36,8 @@ NEON-OBJS-$(CONFIG_RDFT) += arm/rdft_neon.o \ | |||||
| NEON-OBJS-$(CONFIG_H264DSP) += arm/h264dsp_neon.o \ | NEON-OBJS-$(CONFIG_H264DSP) += arm/h264dsp_neon.o \ | ||||
| arm/h264idct_neon.o \ | arm/h264idct_neon.o \ | ||||
| arm/h264pred_neon.o \ | |||||
| NEON-OBJS-$(CONFIG_H264PRED) += arm/h264pred_neon.o \ | |||||
| NEON-OBJS-$(CONFIG_DCA_DECODER) += arm/dcadsp_neon.o \ | NEON-OBJS-$(CONFIG_DCA_DECODER) += arm/dcadsp_neon.o \ | ||||
| arm/synth_filter_neon.o \ | arm/synth_filter_neon.o \ | ||||
| @@ -9,9 +9,10 @@ YASM-OBJS-$(CONFIG_FFT) += x86/fft_mmx.o \ | |||||
| YASM-OBJS-$(CONFIG_GPL) += x86/h264_idct_sse2.o \ | YASM-OBJS-$(CONFIG_GPL) += x86/h264_idct_sse2.o \ | ||||
| YASM-OBJS-$(CONFIG_H264DSP) += x86/h264_deblock_sse2.o \ | YASM-OBJS-$(CONFIG_H264DSP) += x86/h264_deblock_sse2.o \ | ||||
| x86/h264_intrapred.o \ | |||||
| x86/h264_weight_sse2.o \ | x86/h264_weight_sse2.o \ | ||||
| YASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred.o | |||||
| YASM-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_yasm.o | YASM-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_yasm.o | ||||
| MMX-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp_mmx.o | MMX-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp_mmx.o | ||||
| @@ -2365,7 +2365,7 @@ void ff_pred4x4_tm_vp8_mmxext (uint8_t *src, const uint8_t *topright, int s | |||||
| void ff_pred4x4_tm_vp8_ssse3 (uint8_t *src, const uint8_t *topright, int stride); | void ff_pred4x4_tm_vp8_ssse3 (uint8_t *src, const uint8_t *topright, int stride); | ||||
| void ff_pred4x4_vertical_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride); | void ff_pred4x4_vertical_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride); | ||||
| #if CONFIG_H264DSP | |||||
| #if CONFIG_H264PRED | |||||
| void ff_h264_pred_init_x86(H264PredContext *h, int codec_id) | void ff_h264_pred_init_x86(H264PredContext *h, int codec_id) | ||||
| { | { | ||||
| mm_flags = mm_support(); | mm_flags = mm_support(); | ||||