FFmpeg
Loading...
Searching...
No Matches
cbs_h2645.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_CBS_H2645_H
20#define AVCODEC_CBS_H2645_H
21
22#include "cbs.h"
23#include "h2645_parse.h"
24
25
27 // If set, the stream being read is in MP4 (AVCC/HVCC) format. If not
28 // set, the stream is assumed to be in annex B format.
29 int mp4;
30 // Size in bytes of the NAL length field for MP4 format.
32 // Packet reader.
35
36struct GetBitContext;
37struct PutBitContext;
38
40 const char *name, const int *subscripts,
41 uint32_t *write_to,
42 uint32_t range_min, uint32_t range_max);
44 const char *name, const int *subscripts,
45 int32_t *write_to,
46 int32_t range_min, int32_t range_max);
48 const char *name, const int *subscripts,
49 uint32_t value,
50 uint32_t range_min, uint32_t range_max);
52 const char *name, const int *subscripts,
54 int32_t range_min, int32_t range_max);
55
57
60 const H2645Packet *packet);
61
63 struct PutBitContext *pbc, const uint8_t *data,
64 size_t data_size, int data_bit_start);
65
68
69/**
70 * payload_extension_present() - true if we are before the last 1-bit
71 * in the payload structure, which must be in the last byte.
72 */
73int ff_cbs_h2645_payload_extension_present(struct GetBitContext *gbc, uint32_t payload_size,
74 int cur_pos);
75
76#endif /* AVCODEC_CBS_H2645_H */
static AVFormatContext * ctx
int32_t
int ff_cbs_h2645_fragment_add_nals(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, const H2645Packet *packet)
Definition cbs_h2645.c:229
int ff_cbs_read_se_golomb(CodedBitstreamContext *ctx, struct GetBitContext *gbc, const char *name, const int *subscripts, int32_t *write_to, int32_t range_min, int32_t range_max)
Definition cbs_h2645.c:90
int ff_cbs_read_ue_golomb(CodedBitstreamContext *ctx, struct GetBitContext *gbc, const char *name, const int *subscripts, uint32_t *write_to, uint32_t range_min, uint32_t range_max)
Definition cbs_h2645.c:41
int ff_cbs_h2645_assemble_fragment(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
Definition cbs_h2645.c:323
int ff_cbs_h2645_payload_extension_present(struct GetBitContext *gbc, uint32_t payload_size, int cur_pos)
payload_extension_present() - true if we are before the last 1-bit in the payload structure,...
Definition cbs_h2645.c:33
int ff_cbs_h2645_read_more_rbsp_data(struct GetBitContext *gbc)
Definition cbs_h2645.c:217
int ff_cbs_write_ue_golomb(CodedBitstreamContext *ctx, struct PutBitContext *pbc, const char *name, const int *subscripts, uint32_t value, uint32_t range_min, uint32_t range_max)
Definition cbs_h2645.c:145
int ff_cbs_h2645_write_slice_data(CodedBitstreamContext *ctx, struct PutBitContext *pbc, const uint8_t *data, size_t data_size, int data_bit_start)
Definition cbs_h2645.c:265
int ff_cbs_write_se_golomb(CodedBitstreamContext *ctx, struct PutBitContext *pbc, const char *name, const int *subscripts, int32_t value, int32_t range_min, int32_t range_max)
Definition cbs_h2645.c:177
double value
Definition eval.c:102
const char data[16]
Definition mxf.c:149
const char * name
Definition qsvenc.c:142
Context structure for coded bitstream operations.
Definition cbs.h:226
Coded bitstream fragment structure, combining one or more units.
Definition cbs.h:129