You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Merge commit '99e20125232d40ea239a5b54d26bbfe526506114'
* commit '99e20125232d40ea239a5b54d26bbfe526506114': x86/arm: Add clobber tests to libavresample Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
							
								
								
									
										4
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -4639,7 +4639,8 @@ enabled neon_clobber_test && | ||||
|                   -Wl,--wrap,avcodec_decode_subtitle2   \ | ||||
|                   -Wl,--wrap,avcodec_encode_audio2      \ | ||||
|                   -Wl,--wrap,avcodec_encode_video2      \ | ||||
|                   -Wl,--wrap,avcodec_encode_subtitle || | ||||
|                   -Wl,--wrap,avcodec_encode_subtitle    \ | ||||
|                   -Wl,--wrap,avresample_convert || | ||||
|     disable neon_clobber_test | ||||
|  | ||||
| enabled xmm_clobber_test && | ||||
| @@ -4651,6 +4652,7 @@ enabled xmm_clobber_test && | ||||
|                   -Wl,--wrap,avcodec_encode_video       \ | ||||
|                   -Wl,--wrap,avcodec_encode_video2      \ | ||||
|                   -Wl,--wrap,avcodec_encode_subtitle    \ | ||||
|                   -Wl,--wrap,avresample_convert         \ | ||||
|                   -Wl,--wrap,sws_scale || | ||||
|     disable xmm_clobber_test | ||||
|  | ||||
|   | ||||
| @@ -1,2 +1,5 @@ | ||||
| OBJS      += arm/audio_convert_init.o | ||||
|  | ||||
| OBJS-$(CONFIG_NEON_CLOBBER_TEST) += arm/neontest.o | ||||
|  | ||||
| NEON-OBJS += arm/audio_convert_neon.o | ||||
|   | ||||
							
								
								
									
										31
									
								
								libavresample/arm/neontest.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								libavresample/arm/neontest.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| /* | ||||
|  * check NEON registers for clobbers | ||||
|  * Copyright (c) 2013 Martin Storsjo | ||||
|  * | ||||
|  * This file is part of FFmpeg. | ||||
|  * | ||||
|  * FFmpeg is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2.1 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * FFmpeg is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser General Public | ||||
|  * License along with FFmpeg; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include "libavresample/avresample.h" | ||||
| #include "libavutil/arm/neontest.h" | ||||
|  | ||||
| wrap(avresample_convert(AVAudioResampleContext *avr, uint8_t **output, | ||||
|                         int out_plane_size, int out_samples, uint8_t **input, | ||||
|                         int in_plane_size, int in_samples)) | ||||
| { | ||||
|     testneonclobbers(avresample_convert, avr, output, out_plane_size, | ||||
|                      out_samples, input, in_plane_size, in_samples); | ||||
| } | ||||
| @@ -2,6 +2,8 @@ OBJS      += x86/audio_convert_init.o                                   \ | ||||
|              x86/audio_mix_init.o                                       \ | ||||
|              x86/dither_init.o                                          \ | ||||
|  | ||||
| OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o | ||||
|  | ||||
| YASM-OBJS += x86/audio_convert.o                                        \ | ||||
|              x86/audio_mix.o                                            \ | ||||
|              x86/dither.o                                               \ | ||||
|   | ||||
							
								
								
									
										31
									
								
								libavresample/x86/w64xmmtest.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								libavresample/x86/w64xmmtest.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| /* | ||||
|  * check XMM registers for clobbers on Win64 | ||||
|  * Copyright (c) 2013 Martin Storsjo | ||||
|  * | ||||
|  * This file is part of FFmpeg. | ||||
|  * | ||||
|  * FFmpeg is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2.1 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * FFmpeg is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser General Public | ||||
|  * License along with FFmpeg; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include "libavresample/avresample.h" | ||||
| #include "libavutil/x86/w64xmmtest.h" | ||||
|  | ||||
| wrap(avresample_convert(AVAudioResampleContext *avr, uint8_t **output, | ||||
|                         int out_plane_size, int out_samples, uint8_t **input, | ||||
|                         int in_plane_size, int in_samples)) | ||||
| { | ||||
|     testxmmclobbers(avresample_convert, avr, output, out_plane_size, | ||||
|                     out_samples, input, in_plane_size, in_samples); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user