ref: 3fa2f04f23482dcb97207096c3206605aa53539e
parent: b28788c0275e150b17c209effb5d4dee34bfb5ef
author: Niklas Haas <git@haasn.xyz>
date: Thu Nov 22 15:52:30 EST 2018
film_grain: don't attempt copying chroma planes for I400 Fixes #191
--- 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]);
+ }
}
}
}