FFmpeg
libavutil
tests
random_seed.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@gmail.com>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#define TEST 1
22
#include "
libavutil/random_seed.c
"
23
24
#define N 256
25
#define F 2
26
#include <stdio.h>
27
28
typedef
uint32_t (*
random_seed_ptr_t
)(void);
29
30
int
main
(
void
)
31
{
32
int
i
, j, rsf, retry;
33
uint32_t seeds[
N
];
34
random_seed_ptr_t
random_seed[
F
] = {
av_get_random_seed
,
get_generic_seed
};
35
36
for
(rsf=0; rsf<
F
; ++rsf){
37
for
(retry=0; retry<3; retry++){
38
for
(
i
=0;
i
<
N
;
i
++){
39
seeds[
i
] = random_seed[rsf]();
40
for
(j=0; j<
i
; j++)
41
if
(seeds[j] == seeds[
i
])
42
goto
retry;
43
}
44
printf
(
"seeds OK\n"
);
45
break
;
46
retry:;
47
}
48
if
(retry >= 3) {
49
printf
(
"rsf %d: FAIL at %d with %"
PRIX32
"\n"
, rsf, j, seeds[j]);
50
return
1;
51
}
52
}
53
return
0;
54
}
printf
__device__ int printf(const char *,...)
av_get_random_seed
uint32_t av_get_random_seed(void)
Get a seed to use in conjunction with random functions.
Definition:
random_seed.c:196
main
int main(void)
Definition:
random_seed.c:30
N
#define N
Definition:
random_seed.c:24
F
#define F
Definition:
random_seed.c:25
i
#define i(width, name, range_min, range_max)
Definition:
cbs_h2645.c:256
random_seed.c
random_seed_ptr_t
uint32_t(* random_seed_ptr_t)(void)
Definition:
random_seed.c:28
get_generic_seed
static uint32_t get_generic_seed(void)
Definition:
random_seed.c:75
Generated on Tue Dec 2 2025 19:23:09 for FFmpeg by
1.8.17