film_grain: don't attempt copying chroma planes for I400
Fixes #191
diff --git a/src/film_grain_tmpl.c b/src/film_grain_tmpl.c
index 16d14ca..31d6445 100644
--- a/src/film_grain_tmpl.c
+++ b/src/film_grain_tmpl.c
@@ -521,12 +521,14 @@
memcpy(out->data[0], in->data[0], out->p.h * out->stride[0]);
}
- for (int i = 0; i < 2; i++) {
- if (!data->num_uv_points[i] && !data->chroma_scaling_from_luma) {
- const int suby = in->p.layout == DAV1D_PIXEL_LAYOUT_I420;
- assert(out->stride[1] == in->stride[1]);
- memcpy(out->data[1+i], in->data[1+i],
- (out->p.h >> suby) * out->stride[1]);
+ if (in->p.layout != DAV1D_PIXEL_LAYOUT_I400) {
+ for (int i = 0; i < 2; i++) {
+ if (!data->num_uv_points[i] && !data->chroma_scaling_from_luma) {
+ const int suby = in->p.layout == DAV1D_PIXEL_LAYOUT_I420;
+ assert(out->stride[1] == in->stride[1]);
+ memcpy(out->data[1+i], in->data[1+i],
+ (out->p.h >> suby) * out->stride[1]);
+ }
}
}
}