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 /**
20 * @file
21 * EVC decoder/parser shared code
22 */
23
24 #ifndef AVCODEC_EVC_PARSE_H
25 #define AVCODEC_EVC_PARSE_H
26
27 #include <stdint.h>
28
33
34 // The structure reflects Slice Header RBSP(raw byte sequence payload) layout
35 // @see ISO_IEC_23094-1 section 7.3.2.6
36 //
37 // The following descriptors specify the parsing process of each element
38 // u(n) - unsigned integer using n bits
39 // ue(v) - unsigned integer 0-th order Exp_Golomb-coded syntax element with the left bit first
40 // u(n) - unsigned integer using n bits.
41 // When n is "v" in the syntax table, the number of bits varies in a manner dependent on the value of other syntax elements.
50
55
64
65 // @note
66 // Currently the structure does not reflect the entire Slice Header RBSP layout.
67 // It contains only the fields that are necessary to read from the NAL unit all the values
68 // necessary for the correct initialization of the AVCodecContext structure.
69
70 // @note
71 // If necessary, add the missing fields to the structure to reflect
72 // the contents of the entire NAL unit of the SPS type
73
75
76 // picture order count of the current picture
80 int DocOffset;
// the decoding order count of the previous picture
82
84 {
85 uint32_t nalu_len = 0;
86
89 return 0;
90 }
91
93
94 return nalu_len;
95 }
96
99
100 // POC (picture order count of the current picture) derivation
101 // @see ISO/IEC 23094-1:2020(E) 8.3.1 Decoding process for picture order count
104
105 #endif /* AVCODEC_EVC_PARSE_H */