FFmpeg
Loading...
Searching...
No Matches
tdrdi.c
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#include <stddef.h>
20#include <stdint.h>
21
22#include "mem.h"
23#include "tdrdi.h"
24
25AV3DReferenceDisplaysInfo *av_tdrdi_alloc(unsigned int nb_displays, size_t *out_size)
26{
27 struct TestStruct {
30 };
31 const size_t entries_offset = offsetof(struct TestStruct, b);
32 size_t size = entries_offset;
34
35 if (nb_displays > (SIZE_MAX - size) / sizeof(AV3DReferenceDisplay))
36 return NULL;
37 size += sizeof(AV3DReferenceDisplay) * nb_displays;
38
39 tdrdi = av_mallocz(size);
40 if (!tdrdi)
41 return NULL;
42
43 tdrdi->num_ref_displays = nb_displays;
44 tdrdi->entry_size = sizeof(AV3DReferenceDisplay);
45 tdrdi->entries_offset = entries_offset;
46
47 if (out_size)
48 *out_size = size;
49
50 return tdrdi;
51}
static int out_size
#define NULL
Definition coverity.c:32
AV3DReferenceDisplaysInfo * av_tdrdi_alloc(unsigned int nb_displays, size_t *out_size)
Allocate a AV3DReferenceDisplaysInfo structure and initialize its fields to default values.
Definition tdrdi.c:25
#define b
Definition input.c:43
Memory handling functions.
Data structure for single deference display information.
Definition tdrdi.h:100
This structure describes information about the reference display width(s) and reference viewing dista...
Definition tdrdi.h:53
size_t entry_size
Size of each entry in bytes.
Definition tdrdi.h:89
uint8_t num_ref_displays
The number of reference displays that are signalled in this struct.
Definition tdrdi.h:78
size_t entries_offset
Offset in bytes from the beginning of this structure at which the array of reference displays starts.
Definition tdrdi.h:84
#define av_mallocz(s)
Spherical video.
int size