Coverage Report

Created: 2022-08-24 06:15

/src/x265/source/common/piclist.h
Line
Count
Source (jump to first uncovered line)
1
/*****************************************************************************
2
 * Copyright (C) 2013-2020 MulticoreWare, Inc
3
 *
4
 * Authors: Gopu Govindaswamy <gopu@multicorewareinc.com>
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_PICLIST_H
25
#define X265_PICLIST_H
26
27
#include "common.h"
28
29
namespace X265_NS {
30
31
class Frame;
32
33
class PicList
34
{
35
protected:
36
37
    Frame*   m_start;
38
    Frame*   m_end;
39
    int      m_count;
40
41
public:
42
43
    PicList()
44
2.79k
    {
45
2.79k
        m_start = NULL;
46
2.79k
        m_end   = NULL;
47
2.79k
        m_count = 0;
48
2.79k
    }
49
50
    /** Push picture to end of the list */
51
    void pushBack(Frame& pic);
52
53
    /** Push picture to beginning of the list */
54
    void pushFront(Frame& pic);
55
56
    /** Pop picture from end of the list */
57
    Frame* popBack();
58
59
    /** Pop picture from beginning of the list */
60
    Frame* popFront();
61
62
    /** Find frame with specified POC */
63
    Frame* getPOC(int poc);
64
65
    /** Get the current Frame from the list **/
66
    Frame* getCurFrame(void);
67
68
    /** Remove picture from list */
69
    void remove(Frame& pic);
70
71
4.18k
    Frame* first()        { return m_start;   }
72
73
0
    Frame* last()         { return m_end;     }
74
75
5.16k
    int size()            { return m_count;   }
76
77
4.88k
    bool empty() const    { return !m_count;  }
78
79
0
    operator bool() const { return !!m_count; }
80
};
81
}
82
83
#endif // ifndef X265_PICLIST_H