FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sei.h
Go to the documentation of this file.
1 /*
2  * VVC Supplementary Enhancement Information messages
3  *
4  * copyright (c) 2024 Wu Jianhua <toqsxw@outlook.com>
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef AVCODEC_VVC_SEI_H
24 #define AVCODEC_VVC_SEI_H
25 
26 #include <stdint.h>
27 
28 #include "libavcodec/get_bits.h"
29 #include "libavcodec/cbs.h"
30 #include "libavcodec/cbs_h266.h"
31 #include "libavcodec/h2645_sei.h"
32 #include "libavcodec/sei.h"
33 #include "libavcodec/vvc.h"
34 #include "libavcodec/h274.h"
35 
36 typedef struct VVCSEI {
40 } VVCSEI;
41 
42 struct VVCFrameContext;
43 
44 int ff_vvc_sei_decode(VVCSEI *s, const H266RawSEI *sei, const struct VVCFrameContext *fc);
45 int ff_vvc_sei_replace(VVCSEI *dst, const VVCSEI *src);
47 
48 #endif /* AVCODEC_VVC_SEI_H */
cbs.h
ff_vvc_sei_reset
void ff_vvc_sei_reset(VVCSEI *s)
Definition: sei.c:249
cbs_h266.h
H274SEIPictureHash
Definition: h274.h:69
ff_vvc_sei_decode
int ff_vvc_sei_decode(VVCSEI *s, const H266RawSEI *sei, const struct VVCFrameContext *fc)
Definition: sei.c:179
VVCSEI::picture_hash
H274SEIPictureHash picture_hash
Definition: sei.h:38
H266RawSEI
Definition: cbs_h266.h:853
s
#define s(width, name)
Definition: cbs_vp9.c:198
fc
#define fc(width, name, range_min, range_max)
Definition: cbs_av1.c:493
get_bits.h
sei.h
H2645SEI
Definition: h2645_sei.h:128
h274.h
sei
static int FUNC() sei(CodedBitstreamContext *ctx, RWContext *rw, H264RawSEI *current)
Definition: cbs_h264_syntax_template.c:858
VVCSEI
Definition: sei.h:36
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:87
h2645_sei.h
VVCSEI::frame_field_info
H274SEIFrameFieldInfo frame_field_info
Definition: sei.h:39
vvc.h
ff_vvc_sei_replace
int ff_vvc_sei_replace(VVCSEI *dst, const VVCSEI *src)
Definition: sei.c:242
H274SEIFrameFieldInfo
Definition: h274.h:84
VVCFrameContext
Definition: dec.h:122
src
#define src
Definition: vp8dsp.c:248
VVCSEI::common
H2645SEI common
Definition: sei.h:37