master hovercats/oakiss / pkg / mpv / patch / 0002-Use-memset-to-initialize-large-structures.patch
 1From d7c460e5ccc89d30165decb7579486d5bcc26ba4 Mon Sep 17 00:00:00 2001
 2From: Michael Forney <mforney@mforney.org>
 3Date: Tue, 2 Jul 2019 17:41:43 -0700
 4Subject: [PATCH] Use memset to initialize large structures
 5
 6These are over 256 KiB in size.
 7---
 8 video/out/gpu/video.c | 17 ++++++++---------
 9 1 file changed, 8 insertions(+), 9 deletions(-)
10
11diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c
12index 1478ec4687..49101b3f0d 100644
13--- a/video/out/gpu/video.c
14+++ b/video/out/gpu/video.c
15@@ -3630,7 +3630,7 @@ static void frame_perf_data(struct pass_info pass[], struct mp_frame_perf *out)
16 
17 void gl_video_perfdata(struct gl_video *p, struct voctrl_performance_data *out)
18 {
19-    *out = (struct voctrl_performance_data){0};
20+    memset(out, 0, sizeof(*out));
21     frame_perf_data(p->pass_fresh,  &out->fresh);
22     frame_perf_data(p->pass_redraw, &out->redraw);
23 }
24@@ -4074,14 +4074,13 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log,
25                                struct mpv_global *g)
26 {
27     struct gl_video *p = talloc_ptrtype(NULL, p);
28-    *p = (struct gl_video) {
29-        .ra = ra,
30-        .global = g,
31-        .log = log,
32-        .sc = gl_sc_create(ra, g, log),
33-        .video_eq = mp_csp_equalizer_create(p, g),
34-        .opts_cache = m_config_cache_alloc(p, g, &gl_video_conf),
35-    };
36+    memset(p, 0, sizeof(*p));
37+    p->ra = ra;
38+    p->global = g;
39+    p->log = log;
40+    p->sc = gl_sc_create(ra, g, log);
41+    p->video_eq = mp_csp_equalizer_create(p, g);
42+    p->opts_cache = m_config_cache_alloc(p, g, &gl_video_conf);
43     // make sure this variable is initialized to *something*
44     p->pass = p->pass_fresh;
45     struct gl_video_opts *opts = p->opts_cache->opts;
46-- 
472.44.0
48