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
#undef printf
25
#define N 256
26
#define F 2
27
#include <stdio.h>
28
29
typedef
uint32_t (*
random_seed_ptr_t
)(void);
30
31
int
main
(
void
)
32
{
33
int
i
, j, rsf, retry;
34
uint32_t seeds[
N
];
35
random_seed_ptr_t
random_seed[
F
] = {
av_get_random_seed
,
get_generic_seed
};
36
37
for
(rsf=0; rsf<
F
; ++rsf){
38
for
(retry=0; retry<3; retry++){
39
for
(
i
=0;
i
<
N
;
i
++){
40
seeds[
i
] = random_seed[rsf]();
41
for
(j=0; j<
i
; j++)
42
if
(seeds[j] == seeds[
i
])
43
goto
retry;
44
}
45
printf
(
"seeds OK\n"
);
46
break
;
47
retry:;
48
}
49
if
(retry >= 3) {
50
printf
(
"rsf %d: FAIL at %d with %"
PRIX32
"\n"
, rsf, j, seeds[j]);
51
return
1;
52
}
53
}
54
return
0;
55
}
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:167
main
int main(void)
Definition:
random_seed.c:31
N
#define N
Definition:
random_seed.c:25
printf
printf("static const uint8_t my_array[100] = {\n")
F
#define F
Definition:
random_seed.c:26
i
#define i(width, name, range_min, range_max)
Definition:
cbs_h2645.c:255
random_seed.c
random_seed_ptr_t
uint32_t(* random_seed_ptr_t)(void)
Definition:
random_seed.c:29
get_generic_seed
static uint32_t get_generic_seed(void)
Definition:
random_seed.c:75
Generated on Thu Apr 18 2024 22:42:44 for FFmpeg by
1.8.17