vp56: Mark VP6-only optimizations as such.
Most of our VP56 optimizations are VP6-only and will stay that way. So avoid compiling them for VP5-only builds.
This commit is contained in:
		
							parent
							
								
									30ce289074
								
							
						
					
					
						commit
						8506ff97c9
					
				| @ -25,8 +25,7 @@ OBJS-$(CONFIG_MPEGAUDIODSP)            += arm/mpegaudiodsp_init_arm.o | |||||||
| OBJS-$(CONFIG_MPEGVIDEO)               += arm/mpegvideo_arm.o | OBJS-$(CONFIG_MPEGVIDEO)               += arm/mpegvideo_arm.o | ||||||
| OBJS-$(CONFIG_VORBIS_DECODER)          += arm/vorbisdsp_init_arm.o | OBJS-$(CONFIG_VORBIS_DECODER)          += arm/vorbisdsp_init_arm.o | ||||||
| OBJS-$(CONFIG_VP3DSP)                  += arm/vp3dsp_init_arm.o | OBJS-$(CONFIG_VP3DSP)                  += arm/vp3dsp_init_arm.o | ||||||
| OBJS-$(CONFIG_VP5_DECODER)             += arm/vp56dsp_init_arm.o | OBJS-$(CONFIG_VP6_DECODER)             += arm/vp6dsp_init_arm.o | ||||||
| OBJS-$(CONFIG_VP6_DECODER)             += arm/vp56dsp_init_arm.o |  | ||||||
| OBJS-$(CONFIG_VP8_DECODER)             += arm/vp8dsp_init_arm.o | OBJS-$(CONFIG_VP8_DECODER)             += arm/vp8dsp_init_arm.o | ||||||
| OBJS-$(CONFIG_RV30_DECODER)            += arm/rv34dsp_init_arm.o | OBJS-$(CONFIG_RV30_DECODER)            += arm/rv34dsp_init_arm.o | ||||||
| OBJS-$(CONFIG_RV40_DECODER)            += arm/rv34dsp_init_arm.o        \
 | OBJS-$(CONFIG_RV40_DECODER)            += arm/rv34dsp_init_arm.o        \
 | ||||||
| @ -89,7 +88,6 @@ NEON-OBJS-$(CONFIG_RV40_DECODER)       += arm/rv34dsp_neon.o            \ | |||||||
|                                           arm/rv40dsp_neon.o |                                           arm/rv40dsp_neon.o | ||||||
| NEON-OBJS-$(CONFIG_VORBIS_DECODER)     += arm/vorbisdsp_neon.o | NEON-OBJS-$(CONFIG_VORBIS_DECODER)     += arm/vorbisdsp_neon.o | ||||||
| NEON-OBJS-$(CONFIG_VP3DSP)             += arm/vp3dsp_neon.o | NEON-OBJS-$(CONFIG_VP3DSP)             += arm/vp3dsp_neon.o | ||||||
| NEON-OBJS-$(CONFIG_VP5_DECODER)        += arm/vp56dsp_neon.o | NEON-OBJS-$(CONFIG_VP6_DECODER)        += arm/vp6dsp_neon.o | ||||||
| NEON-OBJS-$(CONFIG_VP6_DECODER)        += arm/vp56dsp_neon.o |  | ||||||
| NEON-OBJS-$(CONFIG_VP8_DECODER)        += arm/vp8dsp_init_neon.o        \
 | NEON-OBJS-$(CONFIG_VP8_DECODER)        += arm/vp8dsp_init_neon.o        \
 | ||||||
|                                           arm/vp8dsp_neon.o |                                           arm/vp8dsp_neon.o | ||||||
|  | |||||||
| @ -28,11 +28,11 @@ | |||||||
| void ff_vp6_edge_filter_hor_neon(uint8_t *yuv, int stride, int t); | void ff_vp6_edge_filter_hor_neon(uint8_t *yuv, int stride, int t); | ||||||
| void ff_vp6_edge_filter_ver_neon(uint8_t *yuv, int stride, int t); | void ff_vp6_edge_filter_ver_neon(uint8_t *yuv, int stride, int t); | ||||||
| 
 | 
 | ||||||
| av_cold void ff_vp56dsp_init_arm(VP56DSPContext *s, enum AVCodecID codec) | av_cold void ff_vp6dsp_init_arm(VP56DSPContext *s, enum AVCodecID codec) | ||||||
| { | { | ||||||
|     int cpu_flags = av_get_cpu_flags(); |     int cpu_flags = av_get_cpu_flags(); | ||||||
| 
 | 
 | ||||||
|     if (codec != AV_CODEC_ID_VP5 && have_neon(cpu_flags)) { |     if (have_neon(cpu_flags)) { | ||||||
|         s->edge_filter_hor = ff_vp6_edge_filter_hor_neon; |         s->edge_filter_hor = ff_vp6_edge_filter_hor_neon; | ||||||
|         s->edge_filter_ver = ff_vp6_edge_filter_ver_neon; |         s->edge_filter_ver = ff_vp6_edge_filter_ver_neon; | ||||||
|     } |     } | ||||||
| @ -88,9 +88,11 @@ av_cold void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec) | |||||||
| 
 | 
 | ||||||
|         if (CONFIG_VP6_DECODER) { |         if (CONFIG_VP6_DECODER) { | ||||||
|             s->vp6_filter_diag4 = ff_vp6_filter_diag4_c; |             s->vp6_filter_diag4 = ff_vp6_filter_diag4_c; | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     if (ARCH_ARM) ff_vp56dsp_init_arm(s, codec); |             if (ARCH_ARM) | ||||||
|     if (ARCH_X86) ff_vp56dsp_init_x86(s, codec); |                 ff_vp6dsp_init_arm(s, codec); | ||||||
|  |             if (ARCH_X86) | ||||||
|  |                 ff_vp6dsp_init_x86(s, codec); | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -36,7 +36,7 @@ void ff_vp6_filter_diag4_c(uint8_t *dst, uint8_t *src, int stride, | |||||||
|                            const int16_t *h_weights, const int16_t *v_weights); |                            const int16_t *h_weights, const int16_t *v_weights); | ||||||
| 
 | 
 | ||||||
| void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec); | void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec); | ||||||
| void ff_vp56dsp_init_arm(VP56DSPContext *s, enum AVCodecID codec); | void ff_vp6dsp_init_arm(VP56DSPContext *s, enum AVCodecID codec); | ||||||
| void ff_vp56dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec); | void ff_vp6dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec); | ||||||
| 
 | 
 | ||||||
| #endif /* AVCODEC_VP56DSP_H */ | #endif /* AVCODEC_VP56DSP_H */ | ||||||
|  | |||||||
| @ -27,8 +27,7 @@ OBJS-$(CONFIG_VC1_DECODER)             += x86/vc1dsp_init.o | |||||||
| OBJS-$(CONFIG_VIDEODSP)                += x86/videodsp_init.o | OBJS-$(CONFIG_VIDEODSP)                += x86/videodsp_init.o | ||||||
| OBJS-$(CONFIG_VORBIS_DECODER)          += x86/vorbisdsp_init.o | OBJS-$(CONFIG_VORBIS_DECODER)          += x86/vorbisdsp_init.o | ||||||
| OBJS-$(CONFIG_VP3DSP)                  += x86/vp3dsp_init.o | OBJS-$(CONFIG_VP3DSP)                  += x86/vp3dsp_init.o | ||||||
| OBJS-$(CONFIG_VP5_DECODER)             += x86/vp56dsp_init.o | OBJS-$(CONFIG_VP6_DECODER)             += x86/vp6dsp_init.o | ||||||
| OBJS-$(CONFIG_VP6_DECODER)             += x86/vp56dsp_init.o |  | ||||||
| OBJS-$(CONFIG_VP8_DECODER)             += x86/vp8dsp_init.o | OBJS-$(CONFIG_VP8_DECODER)             += x86/vp8dsp_init.o | ||||||
| OBJS-$(CONFIG_XMM_CLOBBER_TEST)        += x86/w64xmmtest.o | OBJS-$(CONFIG_XMM_CLOBBER_TEST)        += x86/w64xmmtest.o | ||||||
| 
 | 
 | ||||||
| @ -88,5 +87,5 @@ YASM-OBJS-$(CONFIG_VC1_DECODER)        += x86/vc1dsp.o | |||||||
| YASM-OBJS-$(CONFIG_VIDEODSP)           += x86/videodsp.o | YASM-OBJS-$(CONFIG_VIDEODSP)           += x86/videodsp.o | ||||||
| YASM-OBJS-$(CONFIG_VORBIS_DECODER)     += x86/vorbisdsp.o | YASM-OBJS-$(CONFIG_VORBIS_DECODER)     += x86/vorbisdsp.o | ||||||
| YASM-OBJS-$(CONFIG_VP3DSP)             += x86/vp3dsp.o | YASM-OBJS-$(CONFIG_VP3DSP)             += x86/vp3dsp.o | ||||||
| YASM-OBJS-$(CONFIG_VP6_DECODER)        += x86/vp56dsp.o | YASM-OBJS-$(CONFIG_VP6_DECODER)        += x86/vp6dsp.o | ||||||
| YASM-OBJS-$(CONFIG_VP8_DECODER)        += x86/vp8dsp.o | YASM-OBJS-$(CONFIG_VP8_DECODER)        += x86/vp8dsp.o | ||||||
|  | |||||||
| @ -30,19 +30,16 @@ void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, int stride, | |||||||
| void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, int stride, | void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, int stride, | ||||||
|                               const int16_t *h_weights,const int16_t *v_weights); |                               const int16_t *h_weights,const int16_t *v_weights); | ||||||
| 
 | 
 | ||||||
| av_cold void ff_vp56dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec) | av_cold void ff_vp6dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec) | ||||||
| { | { | ||||||
|     int cpu_flags = av_get_cpu_flags(); |     int cpu_flags = av_get_cpu_flags(); | ||||||
| 
 | 
 | ||||||
|     if (CONFIG_VP6_DECODER && codec == AV_CODEC_ID_VP6) { |  | ||||||
| #if ARCH_X86_32 | #if ARCH_X86_32 | ||||||
|     if (EXTERNAL_MMX(cpu_flags)) { |     if (EXTERNAL_MMX(cpu_flags)) { | ||||||
|         c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx; |         c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx; | ||||||
|     } |     } | ||||||
| #endif | #endif | ||||||
| 
 |  | ||||||
|     if (EXTERNAL_SSE2(cpu_flags)) { |     if (EXTERNAL_SSE2(cpu_flags)) { | ||||||
|         c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2; |         c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| } |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user