| OLD | NEW | 
|---|
| 1 /* Copyright (c) 2011 Xiph.Org Foundation | 1 /* Copyright (c) 2011 Xiph.Org Foundation | 
| 2    Written by Gregory Maxwell */ | 2    Written by Gregory Maxwell */ | 
| 3 /* | 3 /* | 
| 4    Redistribution and use in source and binary forms, with or without | 4    Redistribution and use in source and binary forms, with or without | 
| 5    modification, are permitted provided that the following conditions | 5    modification, are permitted provided that the following conditions | 
| 6    are met: | 6    are met: | 
| 7 | 7 | 
| 8    - Redistributions of source code must retain the above copyright | 8    - Redistributions of source code must retain the above copyright | 
| 9    notice, this list of conditions and the following disclaimer. | 9    notice, this list of conditions and the following disclaimer. | 
| 10 | 10 | 
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 104       int factor=48000/fsv[t>>1]; | 104       int factor=48000/fsv[t>>1]; | 
| 105       for(fec=0;fec<2;fec++) | 105       for(fec=0;fec<2;fec++) | 
| 106       { | 106       { | 
| 107          int dur; | 107          int dur; | 
| 108          /*Test PLC on a fresh decoder*/ | 108          /*Test PLC on a fresh decoder*/ | 
| 109          out_samples = opus_decode(dec[t], 0, 0, outbuf, 120/factor, fec); | 109          out_samples = opus_decode(dec[t], 0, 0, outbuf, 120/factor, fec); | 
| 110          if(out_samples!=120/factor)test_failed(); | 110          if(out_samples!=120/factor)test_failed(); | 
| 111          if(opus_decoder_ctl(dec[t], OPUS_GET_LAST_PACKET_DURATION(&dur))!=OPUS_
     OK)test_failed(); | 111          if(opus_decoder_ctl(dec[t], OPUS_GET_LAST_PACKET_DURATION(&dur))!=OPUS_
     OK)test_failed(); | 
| 112          if(dur!=120/factor)test_failed(); | 112          if(dur!=120/factor)test_failed(); | 
| 113 | 113 | 
|  | 114          /*Test on a size which isn't a multiple of 2.5ms*/ | 
|  | 115          out_samples = opus_decode(dec[t], 0, 0, outbuf, 120/factor+2, fec); | 
|  | 116          if(out_samples!=OPUS_BAD_ARG)test_failed(); | 
|  | 117 | 
| 114          /*Test null pointer input*/ | 118          /*Test null pointer input*/ | 
| 115          out_samples = opus_decode(dec[t], 0, -1, outbuf, 120/factor, fec); | 119          out_samples = opus_decode(dec[t], 0, -1, outbuf, 120/factor, fec); | 
| 116          if(out_samples!=120/factor)test_failed(); | 120          if(out_samples!=120/factor)test_failed(); | 
| 117          out_samples = opus_decode(dec[t], 0, 1, outbuf, 120/factor, fec); | 121          out_samples = opus_decode(dec[t], 0, 1, outbuf, 120/factor, fec); | 
| 118          if(out_samples!=120/factor)test_failed(); | 122          if(out_samples!=120/factor)test_failed(); | 
| 119          out_samples = opus_decode(dec[t], 0, 10, outbuf, 120/factor, fec); | 123          out_samples = opus_decode(dec[t], 0, 10, outbuf, 120/factor, fec); | 
| 120          if(out_samples!=120/factor)test_failed(); | 124          if(out_samples!=120/factor)test_failed(); | 
| 121          out_samples = opus_decode(dec[t], 0, fast_rand(), outbuf, 120/factor, f
     ec); | 125          out_samples = opus_decode(dec[t], 0, fast_rand(), outbuf, 120/factor, f
     ec); | 
| 122          if(out_samples!=120/factor)test_failed(); | 126          if(out_samples!=120/factor)test_failed(); | 
| 123          if(opus_decoder_ctl(dec[t], OPUS_GET_LAST_PACKET_DURATION(&dur))!=OPUS_
     OK)test_failed(); | 127          if(opus_decoder_ctl(dec[t], OPUS_GET_LAST_PACKET_DURATION(&dur))!=OPUS_
     OK)test_failed(); | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 223 | 227 | 
| 224       free(outbuf_int); | 228       free(outbuf_int); | 
| 225       free(packet); | 229       free(packet); | 
| 226       return 0; | 230       return 0; | 
| 227    } | 231    } | 
| 228 | 232 | 
| 229    { | 233    { | 
| 230      /*We only test a subset of the modes here simply because the longer | 234      /*We only test a subset of the modes here simply because the longer | 
| 231        durations end up taking a long time.*/ | 235        durations end up taking a long time.*/ | 
| 232       static const int cmodes[4]={16,20,24,28}; | 236       static const int cmodes[4]={16,20,24,28}; | 
| 233       static const opus_uint32 cres[4]={116290185,2172123586,2172123586,21721235
     86}; | 237       static const opus_uint32 cres[4]={116290185,2172123586u,2172123586u,217212
     3586u}; | 
| 234       static const opus_uint32 lres[3]={3285687739,1481572662,694350475}; | 238       static const opus_uint32 lres[3]={3285687739u,1481572662,694350475}; | 
| 235       static const int lmodes[3]={0,4,8}; | 239       static const int lmodes[3]={0,4,8}; | 
| 236       int mode=fast_rand()%4; | 240       int mode=fast_rand()%4; | 
| 237 | 241 | 
| 238       packet[0]=cmodes[mode]<<3; | 242       packet[0]=cmodes[mode]<<3; | 
| 239       dec_final_acc=0; | 243       dec_final_acc=0; | 
| 240       t=fast_rand()%10; | 244       t=fast_rand()%10; | 
| 241 | 245 | 
| 242       for(i=0;i<65536;i++) | 246       for(i=0;i<65536;i++) | 
| 243       { | 247       { | 
| 244          int factor=48000/fsv[t>>1]; | 248          int factor=48000/fsv[t>>1]; | 
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 397    fprintf(stderr,"Testing %s decoder. Random seed: %u (%.4X)\n", oversion, isee
     d, fast_rand() % 65535); | 401    fprintf(stderr,"Testing %s decoder. Random seed: %u (%.4X)\n", oversion, isee
     d, fast_rand() % 65535); | 
| 398    if(env_used)fprintf(stderr,"  Random seed set from the environment (SEED=%s).
     \n", env_seed); | 402    if(env_used)fprintf(stderr,"  Random seed set from the environment (SEED=%s).
     \n", env_seed); | 
| 399 | 403 | 
| 400    /*Setting TEST_OPUS_NOFUZZ tells the tool not to send garbage data | 404    /*Setting TEST_OPUS_NOFUZZ tells the tool not to send garbage data | 
| 401      into the decoders. This is helpful because garbage data | 405      into the decoders. This is helpful because garbage data | 
| 402      may cause the decoders to clip, which angers CLANG IOC.*/ | 406      may cause the decoders to clip, which angers CLANG IOC.*/ | 
| 403    test_decoder_code0(getenv("TEST_OPUS_NOFUZZ")!=NULL); | 407    test_decoder_code0(getenv("TEST_OPUS_NOFUZZ")!=NULL); | 
| 404 | 408 | 
| 405    return 0; | 409    return 0; | 
| 406 } | 410 } | 
| OLD | NEW | 
|---|