Coverage Report

Created: 2022-08-24 06:17

/src/x265/source/encoder/nal.h
Line
Count
Source (jump to first uncovered line)
1
/*****************************************************************************
2
* Copyright (C) 2013-2020 MulticoreWare, Inc
3
*
4
* Authors: Steve Borho <steve@borho.org>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111, USA.
19
*
20
* This program is also available under a commercial proprietary license.
21
* For more information, contact us at license @ x265.com.
22
*****************************************************************************/
23
24
#ifndef X265_NAL_H
25
#define X265_NAL_H
26
27
#include "common.h"
28
#include "x265.h"
29
30
namespace X265_NS {
31
// private namespace
32
33
class Bitstream;
34
35
class NALList
36
{
37
public:
38
    static const int MAX_NAL_UNITS = 16;
39
40
public:
41
42
    x265_nal    m_nal[MAX_NAL_UNITS];
43
    uint32_t    m_numNal;
44
45
    uint8_t*    m_buffer;
46
    uint32_t    m_occupancy;
47
    uint32_t    m_allocSize;
48
49
    uint8_t*    m_extraBuffer;
50
    uint32_t    m_extraOccupancy;
51
    uint32_t    m_extraAllocSize;
52
    bool        m_annexB;
53
54
    NALList();
55
0
    ~NALList() { X265_FREE(m_buffer); X265_FREE(m_extraBuffer); }
56
57
    void takeContents(NALList& other);
58
59
    void serialize(NalUnitType nalUnitType, const Bitstream& bs);
60
61
    uint32_t serializeSubstreams(uint32_t* streamSizeBytes, uint32_t streamCount, const Bitstream* streams);
62
};
63
64
}
65
66
#endif // ifndef X265_NAL_H