You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Merge commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520'
* commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520': configure: tms470: add mapping for -mfpu=vfpv3-d16 flag configure: recognise Minix as OS configure: work around bug in ash shell eval-test: make table static const lavr: handle clipping in the float to s32 conversion nut: support pcm codecs not mapped in avi Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
							
								
								
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -639,7 +639,7 @@ print_config(){ | ||||
| } | ||||
|  | ||||
| print_enabled(){ | ||||
|     test "$1" = -n && end=" " && shift || end="\n" | ||||
|     test x"$1" = x-n && end=" " && shift || end="\n" | ||||
|     suf=$1 | ||||
|     shift | ||||
|     for v; do | ||||
| @@ -2488,6 +2488,7 @@ tms470_flags(){ | ||||
|             -mfpu=neon)     echo --float_support=vfpv3 --neon ;; | ||||
|             -mfpu=vfp)      echo --float_support=vfpv2        ;; | ||||
|             -mfpu=vfpv3)    echo --float_support=vfpv3        ;; | ||||
|             -mfpu=vfpv3-d16) echo --float_support=vfpv3d16    ;; | ||||
|             -msoft-float)   echo --float_support=vfplib       ;; | ||||
|             -O[0-3]|-mf=*)  echo $flag                        ;; | ||||
|             -g)             echo -g -mn                       ;; | ||||
| @@ -3192,6 +3193,8 @@ case $target_os in | ||||
|         add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT | ||||
|         FFSERVERLDFLAGS= | ||||
|         ;; | ||||
|     minix) | ||||
|         ;; | ||||
|     none) | ||||
|         ;; | ||||
|     *) | ||||
|   | ||||
| @@ -54,7 +54,7 @@ to be read big-endian. | ||||
| @end multitable | ||||
|  | ||||
| <type> is S for signed integer, U for unsigned integer, F for IEEE float | ||||
| <interleaving> is D for default, as a historical artefact. | ||||
| <interleaving> is D for default, P is for planar. | ||||
| <bits> is 8/16/24/32 | ||||
|  | ||||
| @example | ||||
|   | ||||
| @@ -113,9 +113,34 @@ const AVCodecTag ff_nut_video_tags[] = { | ||||
|     { AV_CODEC_ID_NONE    , 0                         } | ||||
| }; | ||||
|  | ||||
| const AVCodecTag ff_nut_audio_tags[] = { | ||||
|     { AV_CODEC_ID_PCM_ALAW,         MKTAG('A', 'L', 'A', 'W') }, | ||||
|     { AV_CODEC_ID_PCM_MULAW,        MKTAG('U', 'L', 'A', 'W') }, | ||||
|     { AV_CODEC_ID_PCM_F32BE,        MKTAG(32 , 'D', 'F', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_F32LE,        MKTAG('P', 'F', 'D', 32 ) }, | ||||
|     { AV_CODEC_ID_PCM_F64BE,        MKTAG(64 , 'D', 'F', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_F64LE,        MKTAG('P', 'F', 'D', 64 ) }, | ||||
|     { AV_CODEC_ID_PCM_S16BE,        MKTAG(16 , 'D', 'S', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_S16LE,        MKTAG('P', 'S', 'D', 16 ) }, | ||||
|     { AV_CODEC_ID_PCM_S24BE,        MKTAG(24 , 'D', 'S', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_S24LE,        MKTAG('P', 'S', 'D', 24 ) }, | ||||
|     { AV_CODEC_ID_PCM_S32BE,        MKTAG(32 , 'D', 'S', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_S32LE,        MKTAG('P', 'S', 'D', 32 ) }, | ||||
|     { AV_CODEC_ID_PCM_S8,           MKTAG('P', 'S', 'D',  8 ) }, | ||||
|     { AV_CODEC_ID_PCM_U16BE,        MKTAG(16 , 'D', 'U', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_U16LE,        MKTAG('P', 'U', 'D', 16 ) }, | ||||
|     { AV_CODEC_ID_PCM_U24BE,        MKTAG(24 , 'D', 'U', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_U24LE,        MKTAG('P', 'U', 'D', 24 ) }, | ||||
|     { AV_CODEC_ID_PCM_U32BE,        MKTAG(32 , 'D', 'U', 'P') }, | ||||
|     { AV_CODEC_ID_PCM_U32LE,        MKTAG('P', 'U', 'D', 32 ) }, | ||||
|     { AV_CODEC_ID_PCM_U8,           MKTAG('P', 'U', 'D',  8 ) }, | ||||
|     { AV_CODEC_ID_PCM_S16LE_PLANAR, MKTAG('P', 'S', 'P', 16 ) }, | ||||
|     { AV_CODEC_ID_NONE,             0                         } | ||||
| }; | ||||
|  | ||||
| const AVCodecTag * const ff_nut_codec_tags[] = { | ||||
|     ff_nut_video_tags, ff_nut_subtitle_tags, | ||||
|     ff_codec_bmp_tags, ff_codec_wav_tags, 0 | ||||
|     ff_codec_bmp_tags, ff_codec_wav_tags, ff_nut_audio_tags, 0 | ||||
| }; | ||||
|  | ||||
| void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val){ | ||||
|   | ||||
| @@ -109,6 +109,7 @@ typedef struct NUTContext { | ||||
|  | ||||
| extern const AVCodecTag ff_nut_subtitle_tags[]; | ||||
| extern const AVCodecTag ff_nut_video_tags[]; | ||||
| extern const AVCodecTag ff_nut_audio_tags[]; | ||||
|  | ||||
| extern const AVCodecTag * const ff_nut_codec_tags[]; | ||||
|  | ||||
|   | ||||
| @@ -369,7 +369,12 @@ static int decode_stream_header(NUTContext *nut) | ||||
|         break; | ||||
|     case 1: | ||||
|         st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | ||||
|         st->codec->codec_id   = ff_codec_get_id(ff_codec_wav_tags, tmp); | ||||
|         st->codec->codec_id   = av_codec_get_id((const AVCodecTag * const []) { | ||||
|                                                     ff_nut_audio_tags, | ||||
|                                                     ff_codec_wav_tags, | ||||
|                                                     0 | ||||
|                                                 }, | ||||
|                                                 tmp); | ||||
|         break; | ||||
|     case 2: | ||||
|         st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE; | ||||
|   | ||||
| @@ -28,6 +28,7 @@ SECTION_RODATA 32 | ||||
|  | ||||
| pf_s32_inv_scale: times 8 dd 0x30000000 | ||||
| pf_s32_scale:     times 8 dd 0x4f000000 | ||||
| pf_s32_clip:      times 8 dd 0x4effffff | ||||
| pf_s16_inv_scale: times 4 dd 0x38000000 | ||||
| pf_s16_scale:     times 4 dd 0x47000000 | ||||
| pb_shuf_unpack_even:      db -1, -1,  0,  1, -1, -1,  2,  3, -1, -1,  8,  9, -1, -1, 10, 11 | ||||
| @@ -197,17 +198,22 @@ cglobal conv_flt_to_s16, 3,3,5, dst, src, len | ||||
| ;------------------------------------------------------------------------------ | ||||
|  | ||||
| %macro CONV_FLT_TO_S32 0 | ||||
| cglobal conv_flt_to_s32, 3,3,5, dst, src, len | ||||
| cglobal conv_flt_to_s32, 3,3,6, dst, src, len | ||||
|     lea     lenq, [lend*4] | ||||
|     add     srcq, lenq | ||||
|     add     dstq, lenq | ||||
|     neg     lenq | ||||
|     mova      m4, [pf_s32_scale] | ||||
|     mova      m5, [pf_s32_clip] | ||||
| .loop: | ||||
|     mulps     m0, m4, [srcq+lenq         ] | ||||
|     mulps     m1, m4, [srcq+lenq+1*mmsize] | ||||
|     mulps     m2, m4, [srcq+lenq+2*mmsize] | ||||
|     mulps     m3, m4, [srcq+lenq+3*mmsize] | ||||
|     minps     m0, m0, m5 | ||||
|     minps     m1, m1, m5 | ||||
|     minps     m2, m2, m5 | ||||
|     minps     m3, m3, m5 | ||||
|     cvtps2dq  m0, m0 | ||||
|     cvtps2dq  m1, m1 | ||||
|     cvtps2dq  m2, m2 | ||||
|   | ||||
| @@ -714,7 +714,8 @@ int main(int argc, char **argv) | ||||
| { | ||||
|     int i; | ||||
|     double d; | ||||
|     const char **expr, *exprs[] = { | ||||
|     const char *const *expr; | ||||
|     static const char *const exprs[] = { | ||||
|         "", | ||||
|         "1;2", | ||||
|         "-20", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user