summaryrefslogtreecommitdiff
path: root/chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c')
-rw-r--r--chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c b/chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c
index ee14db9a4ce..581bcb72f5d 100644
--- a/chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c
+++ b/chromium/third_party/dav1d/libdav1d/src/fg_apply_tmpl.c
@@ -51,6 +51,11 @@ static void generate_scaling(const int bitdepth,
const int scaling_size = 1 << bitdepth;
#endif
+ if (num == 0) {
+ memset(scaling, 0, scaling_size);
+ return;
+ }
+
// Fill up the preceding entries with the initial value
memset(scaling, points[0][1], points[0][0] << shift_x);
@@ -113,7 +118,7 @@ void bitfn(dav1d_prep_grain)(const Dav1dFilmGrainDSPContext *const dsp,
data, 1 HIGHBD_TAIL_SUFFIX);
// Generate scaling LUTs as needed
- if (data->num_y_points)
+ if (data->num_y_points || data->chroma_scaling_from_luma)
generate_scaling(in->p.bpc, data->y_points, data->num_y_points, scaling[0]);
if (data->num_uv_points[0])
generate_scaling(in->p.bpc, data->uv_points[0], data->num_uv_points[0], scaling[1]);