FFmpeg
Loading...
Searching...
No Matches
h2645_sei.h
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#ifndef AVCODEC_H2645_SEI_H
20#define AVCODEC_H2645_SEI_H
21
22#include <stdint.h>
23
24#include "libavutil/buffer.h"
25#include "libavutil/frame.h"
27
28#include "avcodec.h"
29#include "bytestream.h"
30#include "codec_id.h"
31#include "get_bits.h"
32#include "h2645_vui.h"
33#include "itut35.h"
34#include "sei.h"
35
39
44
48
52
56
57typedef struct H2645SEIUnregistered {
59 unsigned nb_buf_ref;
60 int x264_build; //< H.264 only
62
73
79
84
91
113
121
127
141
142enum {
145};
146
147/**
148 * Decode a single SEI message.
149 *
150 * This function may either use gb or gbyte to decode the SEI message.
151 *
152 * @param[in, out] gb GetBitContext that needs to be at the start
153 * of the payload (i.e. after the payload_size bytes);
154 * it needs to be initially byte-aligned
155 * @param[in, out] gbyte a GetByteContext for the same data as gb
156 * @return < 0 on error, FF_H2645_SEI_MESSAGE_HANDLED if the SEI message
157 * has been handled or FF_H2645_SEI_MESSAGE_UNHANDLED if not.
158 */
161 GetByteContext *gbyte, void *logctx);
162
164
166
168 enum AVCodecID codec_id,
169 AVCodecContext *avctx, const H2645VUI *vui,
170 unsigned bit_depth_luma, unsigned bit_depth_chroma,
171 int seed);
172
174
175#endif /* AVCODEC_H2645_SEI_H */
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
Libavcodec external API header.
refcounted data buffer API
static int FUNC sei(CodedBitstreamContext *ctx, RWContext *rw, H264RawSEI *current)
#define s(width, name)
Definition cbs_vp9.c:198
static AVFrame * frame
reference-counted frame API
bitstream reader API header.
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition codec_id.h:47
@ FF_H2645_SEI_MESSAGE_HANDLED
Definition h2645_sei.h:143
@ FF_H2645_SEI_MESSAGE_UNHANDLED
Definition h2645_sei.h:144
void ff_h2645_sei_reset(H2645SEI *s)
Definition h2645_sei.c:703
int ff_h2645_sei_to_frame(AVFrame *frame, H2645SEI *sei, enum AVCodecID codec_id, AVCodecContext *avctx, const H2645VUI *vui, unsigned bit_depth_luma, unsigned bit_depth_chroma, int seed)
Definition h2645_sei.c:518
int ff_h2645_sei_ctx_replace(H2645SEI *dst, const H2645SEI *src)
Definition h2645_sei.c:320
int ff_h2645_sei_message_decode(H2645SEI *h, enum SEIType type, enum AVCodecID codec_id, GetBitContext *gb, GetByteContext *gbyte, void *logctx)
Decode a single SEI message.
Definition h2645_sei.c:286
int ff_h2645_sei_to_context(AVCodecContext *avctx, H2645SEI *sei)
Definition h2645_sei.c:697
cl_device_type type
SEIFpaType
frame_packing_arrangement types.
Definition sei.h:147
SEIType
Definition sei.h:29
A reference to a data buffer.
Definition buffer.h:82
main external API structure.
Definition avcodec.h:443
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
AVBufferRef * buf_ref
Definition h2645_sei.h:37
uint8_t active_format_description
Definition h2645_sei.h:42
uint16_t max_content_light_level
Definition h2645_sei.h:124
uint16_t max_pic_average_light_level
Definition h2645_sei.h:125
int16_t comp_model_value[3][256][6]
Definition h2645_sei.h:109
uint8_t intensity_interval_lower_bound[3][256]
Definition h2645_sei.h:107
uint8_t intensity_interval_upper_bound[3][256]
Definition h2645_sei.h:108
int current_frame_is_frame0_flag
Definition h2645_sei.h:71
int arrangement_cancel_flag
is previous arrangement canceled, -1 if never received (currently H.264 only)
Definition h2645_sei.h:66
int content_interpretation_type
Definition h2645_sei.h:69
int arrangement_repetition_period
Definition h2645_sei.h:68
SEIFpaType arrangement_type
Definition h2645_sei.h:67
uint16_t display_primaries[3][2]
Definition h2645_sei.h:116
AVBufferRef ** buf_ref
Definition h2645_sei.h:58
H2645SEIFramePacking frame_packing
Definition h2645_sei.h:131
H2645SEIFilmGrainCharacteristics * film_grain_characteristics
Definition h2645_sei.h:139
H2645SEIDisplayOrientation display_orientation
Definition h2645_sei.h:132
H2645SEIContentLight content_light
Definition h2645_sei.h:136
H2645SEIUnregistered unregistered
Definition h2645_sei.h:130
H2645SEIMasteringDisplay mastering_display
Definition h2645_sei.h:135
FFITUTT35Meta itut_t35
Definition h2645_sei.h:129
H2645SEIAmbientViewingEnvironment ambient_viewing_environment
Definition h2645_sei.h:134
H2645SEIAlternativeTransfer alternative_transfer
Definition h2645_sei.h:133
AVBufferRef * info
Definition h2645_sei.h:46
AVBufferRef * info
Definition h2645_sei.h:50
AVBufferRef * info
Definition h2645_sei.h:54
#define src
Definition vp8dsp.c:248
enum AVCodecID codec_id
static unsigned int seed
Definition videogen.c:78