On Sat, Dec 28, 2019 at 03:46:24PM +0100, Marton Balint wrote: > Fixes ticket #7528. > > Signed-off-by: Marton Balint <c...@passwd.hu> > --- > libavfilter/vf_geq.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/libavfilter/vf_geq.c b/libavfilter/vf_geq.c > index 2905efae24..417b92222d 100644 > --- a/libavfilter/vf_geq.c > +++ b/libavfilter/vf_geq.c > @@ -377,6 +377,7 @@ static int slice_geq_filter(AVFilterContext *ctx, void > *arg, int jobnr, int nb_j > int x, y; > uint8_t *ptr; > uint16_t *ptr16; > + AVExprState *state = av_expr_state_alloc(); > > double values[VAR_VARS_NB]; > values[VAR_W] = geq->values[VAR_W]; > @@ -386,6 +387,9 @@ static int slice_geq_filter(AVFilterContext *ctx, void > *arg, int jobnr, int nb_j > values[VAR_SH] = geq->values[VAR_SH]; > values[VAR_T] = geq->values[VAR_T]; > > + if (!state) > + return AVERROR(ENOMEM); > + > if (geq->bps == 8) { > for (y = slice_start; y < slice_end; y++) { > ptr = geq->dst + linesize * y; > @@ -393,7 +397,7 @@ static int slice_geq_filter(AVFilterContext *ctx, void > *arg, int jobnr, int nb_j > > for (x = 0; x < width; x++) { > values[VAR_X] = x; > - ptr[x] = av_expr_eval(geq->e[plane], values, geq); > + ptr[x] = av_expr_eval2(geq->e[plane], state, values, geq); > } > ptr += linesize; > } > @@ -404,10 +408,11 @@ static int slice_geq_filter(AVFilterContext *ctx, void > *arg, int jobnr, int nb_j > values[VAR_Y] = y; > for (x = 0; x < width; x++) { > values[VAR_X] = x; > - ptr16[x] = av_expr_eval(geq->e[plane], values, geq); > + ptr16[x] = av_expr_eval2(geq->e[plane], state, values, geq); > } > } > } > + av_expr_state_free(&state);
a filter which adds random noise would get its seed reset on each frame and slice with this, unless iam missing something. The random values produced by random should be uncorrelatec between frame n and m when n!=m thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Concerning the gods, I have no means of knowing whether they exist or not or of what sort they may be, because of the obscurity of the subject, and the brevity of human life -- Protagoras
signature.asc
Description: PGP signature
_______________________________________________ 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".