Shaka Packager SDK
Loading...
Searching...
No Matches
packager
media
codecs
video_slice_header_parser.h
1
// Copyright 2016 Google LLC. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file or at
5
// https://developers.google.com/open-source/licenses/bsd
6
7
#ifndef PACKAGER_MEDIA_CODECS_VIDEO_SLICE_HEADER_PARSER_H_
8
#define PACKAGER_MEDIA_CODECS_VIDEO_SLICE_HEADER_PARSER_H_
9
10
#include <vector>
11
12
#include <packager/macros/classes.h>
13
#include <packager/media/codecs/h264_parser.h>
14
#include <packager/media/codecs/h265_parser.h>
15
16
namespace
shaka
{
17
namespace
media {
18
19
class
VideoSliceHeaderParser
{
20
public
:
21
VideoSliceHeaderParser
() {}
22
virtual
~VideoSliceHeaderParser
() {}
23
26
virtual
bool
Initialize
(
27
const
std::vector<uint8_t>& decoder_configuration) = 0;
28
35
virtual
bool
ProcessNalu
(
const
Nalu
& nalu) = 0;
36
38
virtual
int64_t
GetHeaderSize
(
const
Nalu
& nalu) = 0;
39
40
private
:
41
DISALLOW_COPY_AND_ASSIGN(
VideoSliceHeaderParser
);
42
};
43
44
class
H264VideoSliceHeaderParser
:
public
VideoSliceHeaderParser
{
45
public
:
46
H264VideoSliceHeaderParser
();
47
~H264VideoSliceHeaderParser
()
override
;
48
51
bool
Initialize
(
const
std::vector<uint8_t>& decoder_configuration)
override
;
52
bool
ProcessNalu
(
const
Nalu
& nalu)
override
;
53
int64_t
GetHeaderSize
(
const
Nalu
& nalu)
override
;
55
56
private
:
57
H264Parser
parser_;
58
59
DISALLOW_COPY_AND_ASSIGN(
H264VideoSliceHeaderParser
);
60
};
61
62
class
H265VideoSliceHeaderParser
:
public
VideoSliceHeaderParser
{
63
public
:
64
H265VideoSliceHeaderParser
();
65
~H265VideoSliceHeaderParser
()
override
;
66
69
bool
Initialize
(
const
std::vector<uint8_t>& decoder_configuration)
override
;
70
bool
ProcessNalu
(
const
Nalu
& nalu)
override
;
71
int64_t
GetHeaderSize
(
const
Nalu
& nalu)
override
;
73
74
private
:
75
H265Parser
parser_;
76
77
DISALLOW_COPY_AND_ASSIGN(
H265VideoSliceHeaderParser
);
78
};
79
80
}
// namespace media
81
}
// namespace shaka
82
83
#endif
// PACKAGER_MEDIA_CODECS_VIDEO_SLICE_HEADER_PARSER_H_
shaka::media::H264Parser
Definition
h264_parser.h:249
shaka::media::H264VideoSliceHeaderParser
Definition
video_slice_header_parser.h:44
shaka::media::H264VideoSliceHeaderParser::ProcessNalu
bool ProcessNalu(const Nalu &nalu) override
Definition
video_slice_header_parser.cc:49
shaka::media::H264VideoSliceHeaderParser::Initialize
bool Initialize(const std::vector< uint8_t > &decoder_configuration) override
Definition
video_slice_header_parser.cc:31
shaka::media::H264VideoSliceHeaderParser::GetHeaderSize
int64_t GetHeaderSize(const Nalu &nalu) override
Gets the header size of the given NALU. Returns < 0 on error.
Definition
video_slice_header_parser.cc:61
shaka::media::H265Parser
Definition
h265_parser.h:293
shaka::media::H265VideoSliceHeaderParser
Definition
video_slice_header_parser.h:62
shaka::media::H265VideoSliceHeaderParser::GetHeaderSize
int64_t GetHeaderSize(const Nalu &nalu) override
Gets the header size of the given NALU. Returns < 0 on error.
Definition
video_slice_header_parser.cc:111
shaka::media::H265VideoSliceHeaderParser::Initialize
bool Initialize(const std::vector< uint8_t > &decoder_configuration) override
Definition
video_slice_header_parser.cc:73
shaka::media::H265VideoSliceHeaderParser::ProcessNalu
bool ProcessNalu(const Nalu &nalu) override
Definition
video_slice_header_parser.cc:96
shaka::media::Nalu
Definition
nalu_reader.h:26
shaka::media::VideoSliceHeaderParser
Definition
video_slice_header_parser.h:19
shaka::media::VideoSliceHeaderParser::GetHeaderSize
virtual int64_t GetHeaderSize(const Nalu &nalu)=0
Gets the header size of the given NALU. Returns < 0 on error.
shaka::media::VideoSliceHeaderParser::Initialize
virtual bool Initialize(const std::vector< uint8_t > &decoder_configuration)=0
shaka::media::VideoSliceHeaderParser::ProcessNalu
virtual bool ProcessNalu(const Nalu &nalu)=0
shaka
All the methods that are virtual are virtual for mocking.
Definition
crypto_flags.cc:66
Generated on Fri Jan 17 2025 22:20:43 for Shaka Packager SDK by
1.9.8