diff --git a/libavcodec/cook.c b/libavcodec/cook.c index 975607abbb2a2ceb89f6494e75785d7bdbe0e337..cee69fe14ab7ef0f653ff248ca56d1d17ed6a1b3 100644 --- a/libavcodec/cook.c +++ b/libavcodec/cook.c @@ -46,7 +46,8 @@ #include #include -#include "libavutil/random.h" +#include "libavutil/lfg.h" +#include "libavutil/random_seed.h" #include "avcodec.h" #include "bitstream.h" #include "dsputil.h" @@ -110,7 +111,7 @@ typedef struct cook { int bits_per_subpacket; int cookversion; /* states */ - AVRandomState random_state; + AVLFG random_state; /* transform data */ MDCTContext mdct_ctx; @@ -541,7 +542,7 @@ static void scalar_dequant_float(COOKContext *q, int index, int quant_index, } else { /* noise coding if subband_coef_index[i] == 0 */ f1 = dither_tab[index]; - if (av_random(&q->random_state) < 0x80000000) f1 = -f1; + if (av_lfg_get(&q->random_state) < 0x80000000) f1 = -f1; } mlt_p[i] = f1 * rootpow2tab[quant_index+63]; } @@ -1066,7 +1067,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx) q->bit_rate = avctx->bit_rate; /* Initialize RNG. */ - av_random_init(&q->random_state, 1); + av_lfg_init(&q->random_state, ff_random_get_seed()); /* Initialize extradata related variables. */ q->samples_per_channel = q->samples_per_frame / q->nb_channels;