mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-25 17:47:25 +08:00
Get rid of av_random in cook.c
Originally committed as revision 18079 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -46,7 +46,8 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "libavutil/random.h"
|
#include "libavutil/lfg.h"
|
||||||
|
#include "libavutil/random_seed.h"
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "bitstream.h"
|
#include "bitstream.h"
|
||||||
#include "dsputil.h"
|
#include "dsputil.h"
|
||||||
@ -110,7 +111,7 @@ typedef struct cook {
|
|||||||
int bits_per_subpacket;
|
int bits_per_subpacket;
|
||||||
int cookversion;
|
int cookversion;
|
||||||
/* states */
|
/* states */
|
||||||
AVRandomState random_state;
|
AVLFG random_state;
|
||||||
|
|
||||||
/* transform data */
|
/* transform data */
|
||||||
MDCTContext mdct_ctx;
|
MDCTContext mdct_ctx;
|
||||||
@ -541,7 +542,7 @@ static void scalar_dequant_float(COOKContext *q, int index, int quant_index,
|
|||||||
} else {
|
} else {
|
||||||
/* noise coding if subband_coef_index[i] == 0 */
|
/* noise coding if subband_coef_index[i] == 0 */
|
||||||
f1 = dither_tab[index];
|
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];
|
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;
|
q->bit_rate = avctx->bit_rate;
|
||||||
|
|
||||||
/* Initialize RNG. */
|
/* Initialize RNG. */
|
||||||
av_random_init(&q->random_state, 1);
|
av_lfg_init(&q->random_state, ff_random_get_seed());
|
||||||
|
|
||||||
/* Initialize extradata related variables. */
|
/* Initialize extradata related variables. */
|
||||||
q->samples_per_channel = q->samples_per_frame / q->nb_channels;
|
q->samples_per_channel = q->samples_per_frame / q->nb_channels;
|
||||||
|
Reference in New Issue
Block a user