summaryrefslogtreecommitdiff
path: root/pkg/mpv/patch/0002-Use-memset-to-initialize-large-structures.patch
blob: 27f669294fd142ffbca97e4e5aead59a06613b71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 665c55ba23093af8663e2d5117482fa2bee63821 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 2 Jul 2019 17:41:43 -0700
Subject: [PATCH] Use memset to initialize large structures

These are over 256 KiB in size.
---
 video/out/gpu/video.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c
index a7369f185c..e9e16c5203 100644
--- a/video/out/gpu/video.c
+++ b/video/out/gpu/video.c
@@ -3497,7 +3497,7 @@ static void frame_perf_data(struct pass_info pass[], struct mp_frame_perf *out)
 
 void gl_video_perfdata(struct gl_video *p, struct voctrl_performance_data *out)
 {
-    *out = (struct voctrl_performance_data){0};
+    memset(out, 0, sizeof(*out));
     frame_perf_data(p->pass_fresh,  &out->fresh);
     frame_perf_data(p->pass_redraw, &out->redraw);
 }
@@ -3969,14 +3969,13 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log,
                                struct mpv_global *g)
 {
     struct gl_video *p = talloc_ptrtype(NULL, p);
-    *p = (struct gl_video) {
-        .ra = ra,
-        .global = g,
-        .log = log,
-        .sc = gl_sc_create(ra, g, log),
-        .video_eq = mp_csp_equalizer_create(p, g),
-        .opts_cache = m_config_cache_alloc(p, g, &gl_video_conf),
-    };
+    memset(p, 0, sizeof(*p));
+    p->ra = ra;
+    p->global = g;
+    p->log = log;
+    p->sc = gl_sc_create(ra, g, log);
+    p->video_eq = mp_csp_equalizer_create(p, g);
+    p->opts_cache = m_config_cache_alloc(p, g, &gl_video_conf);
     // make sure this variable is initialized to *something*
     p->pass = p->pass_fresh;
     struct gl_video_opts *opts = p->opts_cache->opts;
-- 
2.24.1