On Fri, Oct 11, 2019 at 06:59:00AM +0000, Andreas Rheinhardt wrote: > Limin Wang: > > On Fri, Oct 11, 2019 at 06:20:00AM +0000, Andreas Rheinhardt wrote: > >> lance.lmw...@gmail.com: > >>> From: Limin Wang <lance.lmw...@gmail.com> > >>> > >>> Signed-off-by: Limin Wang <lance.lmw...@gmail.com> > >>> --- > >>> libavfilter/vf_random.c | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/libavfilter/vf_random.c b/libavfilter/vf_random.c > >>> index 1937eae771..9f2153be61 100644 > >>> --- a/libavfilter/vf_random.c > >>> +++ b/libavfilter/vf_random.c > >>> @@ -33,7 +33,7 @@ typedef struct RandomContext { > >>> > >>> AVLFG lfg; > >>> int nb_frames; > >>> - int64_t random_seed; > >>> + int32_t random_seed; > >>> int nb_frames_filled; > >>> AVFrame *frames[MAX_FRAMES]; > >>> int64_t pts[MAX_FRAMES]; > >>> > >> { "seed", "set the seed", OFFSET(random_seed), > >> AV_OPT_TYPE_INT64, {.i64=-1}, -1, UINT32_MAX, FLAGS }, > >> > >> So in addition to the complete range of an uint32_t one also needs > >> another value that instructs init to get a random seed of its own. > > > > yes, the max range is UINT32_MAX, so no need to use int64_t > > > First of all, simply changing the value to 32 bit is not right -- you > would also have to change the type in the corresponding AVOption (it
I haven't see .i32 type for AVOption > might seem to work on little-endian systems, but it certainly doesn't > on big-endian systems; actually using -1 as random_seed would probably > already not work on little-endian systems either). Second, there are > more legal values for random_seed than values representable in 32 bit, > hence one has to use a type with more than 32 bit. random_seed = -1, it'll get the seed by av_get_random_seed(), it'll return 32bit. else uint32_t seed seed = s->random_seed; av_lfg_init(&s->lfg, seed); the seed is uint32_t still, so user can't use with more than 32bit for the current code. > > - Andreas > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".