Commit 82c0055c authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'b5198a26'

* commit 'b5198a26':
  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: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents db51c659 b5198a26
...@@ -639,7 +639,7 @@ print_config(){ ...@@ -639,7 +639,7 @@ print_config(){
} }
print_enabled(){ print_enabled(){
test "$1" = -n && end=" " && shift || end="\n" test x"$1" = x-n && end=" " && shift || end="\n"
suf=$1 suf=$1
shift shift
for v; do for v; do
...@@ -2488,6 +2488,7 @@ tms470_flags(){ ...@@ -2488,6 +2488,7 @@ tms470_flags(){
-mfpu=neon) echo --float_support=vfpv3 --neon ;; -mfpu=neon) echo --float_support=vfpv3 --neon ;;
-mfpu=vfp) echo --float_support=vfpv2 ;; -mfpu=vfp) echo --float_support=vfpv2 ;;
-mfpu=vfpv3) echo --float_support=vfpv3 ;; -mfpu=vfpv3) echo --float_support=vfpv3 ;;
-mfpu=vfpv3-d16) echo --float_support=vfpv3d16 ;;
-msoft-float) echo --float_support=vfplib ;; -msoft-float) echo --float_support=vfplib ;;
-O[0-3]|-mf=*) echo $flag ;; -O[0-3]|-mf=*) echo $flag ;;
-g) echo -g -mn ;; -g) echo -g -mn ;;
...@@ -3192,6 +3193,8 @@ case $target_os in ...@@ -3192,6 +3193,8 @@ case $target_os in
add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT
FFSERVERLDFLAGS= FFSERVERLDFLAGS=
;; ;;
minix)
;;
none) none)
;; ;;
*) *)
......
...@@ -54,7 +54,7 @@ to be read big-endian. ...@@ -54,7 +54,7 @@ to be read big-endian.
@end multitable @end multitable
<type> is S for signed integer, U for unsigned integer, F for IEEE float <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 <bits> is 8/16/24/32
@example @example
......
...@@ -113,9 +113,34 @@ const AVCodecTag ff_nut_video_tags[] = { ...@@ -113,9 +113,34 @@ const AVCodecTag ff_nut_video_tags[] = {
{ AV_CODEC_ID_NONE , 0 } { 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[] = { const AVCodecTag * const ff_nut_codec_tags[] = {
ff_nut_video_tags, ff_nut_subtitle_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){ void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val){
......
...@@ -109,6 +109,7 @@ typedef struct NUTContext { ...@@ -109,6 +109,7 @@ typedef struct NUTContext {
extern const AVCodecTag ff_nut_subtitle_tags[]; extern const AVCodecTag ff_nut_subtitle_tags[];
extern const AVCodecTag ff_nut_video_tags[]; extern const AVCodecTag ff_nut_video_tags[];
extern const AVCodecTag ff_nut_audio_tags[];
extern const AVCodecTag * const ff_nut_codec_tags[]; extern const AVCodecTag * const ff_nut_codec_tags[];
......
...@@ -369,7 +369,12 @@ static int decode_stream_header(NUTContext *nut) ...@@ -369,7 +369,12 @@ static int decode_stream_header(NUTContext *nut)
break; break;
case 1: case 1:
st->codec->codec_type = AVMEDIA_TYPE_AUDIO; 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; break;
case 2: case 2:
st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE; st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE;
......
...@@ -28,6 +28,7 @@ SECTION_RODATA 32 ...@@ -28,6 +28,7 @@ SECTION_RODATA 32
pf_s32_inv_scale: times 8 dd 0x30000000 pf_s32_inv_scale: times 8 dd 0x30000000
pf_s32_scale: times 8 dd 0x4f000000 pf_s32_scale: times 8 dd 0x4f000000
pf_s32_clip: times 8 dd 0x4effffff
pf_s16_inv_scale: times 4 dd 0x38000000 pf_s16_inv_scale: times 4 dd 0x38000000
pf_s16_scale: times 4 dd 0x47000000 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 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 ...@@ -197,17 +198,22 @@ cglobal conv_flt_to_s16, 3,3,5, dst, src, len
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
%macro CONV_FLT_TO_S32 0 %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] lea lenq, [lend*4]
add srcq, lenq add srcq, lenq
add dstq, lenq add dstq, lenq
neg lenq neg lenq
mova m4, [pf_s32_scale] mova m4, [pf_s32_scale]
mova m5, [pf_s32_clip]
.loop: .loop:
mulps m0, m4, [srcq+lenq ] mulps m0, m4, [srcq+lenq ]
mulps m1, m4, [srcq+lenq+1*mmsize] mulps m1, m4, [srcq+lenq+1*mmsize]
mulps m2, m4, [srcq+lenq+2*mmsize] mulps m2, m4, [srcq+lenq+2*mmsize]
mulps m3, m4, [srcq+lenq+3*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 m0, m0
cvtps2dq m1, m1 cvtps2dq m1, m1
cvtps2dq m2, m2 cvtps2dq m2, m2
......
...@@ -714,7 +714,8 @@ int main(int argc, char **argv) ...@@ -714,7 +714,8 @@ int main(int argc, char **argv)
{ {
int i; int i;
double d; double d;
const char **expr, *exprs[] = { const char *const *expr;
static const char *const exprs[] = {
"", "",
"1;2", "1;2",
"-20", "-20",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment