const int slice_start = (height * jobnr) / nb_jobs;
const int slice_end = (height * (jobnr+1)) / nb_jobs;
int x, y;
- uint8_t *ptr;
- uint16_t *ptr16;
double values[VAR_VARS_NB];
values[VAR_W] = geq->values[VAR_W];
values[VAR_T] = geq->values[VAR_T];
if (geq->bps == 8) {
+ uint8_t *ptr = geq->dst + linesize * slice_start;
for (y = slice_start; y < slice_end; y++) {
- ptr = geq->dst + linesize * y;
values[VAR_Y] = y;
for (x = 0; x < width; x++) {
}
ptr += linesize;
}
- }
- else {
+ } else {
+ uint16_t *ptr16 = geq->dst16 + (linesize/2) * slice_start;
for (y = slice_start; y < slice_end; y++) {
- ptr16 = geq->dst16 + (linesize/2) * y;
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 += linesize/2;
}
}