FFmpeg
libavutil
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
25
AV3DReferenceDisplaysInfo
*
av_tdrdi_alloc
(
unsigned
int
nb_displays,
size_t
*
out_size
)
26
{
27
struct
TestStruct
{
28
AV3DReferenceDisplaysInfo
p;
29
AV3DReferenceDisplay
b
;
30
};
31
const
size_t
entries_offset = offsetof(
struct
TestStruct
,
b
);
32
size_t
size
= entries_offset;
33
AV3DReferenceDisplaysInfo
*tdrdi;
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
}
out_size
int out_size
Definition:
movenc.c:56
AV3DReferenceDisplay
Data structure for single deference display information.
Definition:
tdrdi.h:100
b
#define b
Definition:
input.c:42
AV3DReferenceDisplaysInfo::entries_offset
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
TestStruct
Definition:
audio_fifo.c:29
AV3DReferenceDisplaysInfo
This structure describes information about the reference display width(s) and reference viewing dista...
Definition:
tdrdi.h:53
NULL
#define NULL
Definition:
coverity.c:32
size
int size
Definition:
twinvq_data.h:10344
av_mallocz
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
Definition:
mem.c:256
av_tdrdi_alloc
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
AV3DReferenceDisplaysInfo::num_ref_displays
uint8_t num_ref_displays
The number of reference displays that are signalled in this struct.
Definition:
tdrdi.h:78
mem.h
AV3DReferenceDisplaysInfo::entry_size
size_t entry_size
Size of each entry in bytes.
Definition:
tdrdi.h:89
tdrdi.h
Generated on Wed Jul 2 2025 19:23:08 for FFmpeg by
1.8.17