Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
mediastreamer2
Commits
f631fa25
Commit
f631fa25
authored
Jun 01, 2018
by
François Grisez
Browse files
Place byte stream manipulation functions into a static class.
parent
8a9bc152
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
21 additions
and
15 deletions
+21
-15
src/android/media-codec-decoder.cpp
src/android/media-codec-decoder.cpp
+1
-1
src/android/media-codec-encoder.cpp
src/android/media-codec-encoder.cpp
+1
-1
src/utils/h264utils.cpp
src/utils/h264utils.cpp
+1
-1
src/voip/h26x-utils.cpp
src/voip/h26x-utils.cpp
+7
-7
src/voip/h26x-utils.h
src/voip/h26x-utils.h
+11
-5
No files found.
src/android/media-codec-decoder.cpp
View file @
f631fa25
...
...
@@ -79,7 +79,7 @@ void MediaCodecDecoderFilterImpl::process() {
}
}
nalusToByteStream
(
&
nalus
,
_bitstream
);
H26xUtils
::
nalusToByteStream
(
&
nalus
,
_bitstream
);
size_t
size
=
_bitstream
.
size
();
//Initialize the video size
if
(
_codec
==
nullptr
)
{
...
...
src/android/media-codec-encoder.cpp
View file @
f631fa25
...
...
@@ -197,7 +197,7 @@ bool MediaCodecEncoder::fetch(MSQueue *encodedData) {
return
false
;
}
byteStreamToNalus
(
buf
+
info
.
offset
,
info
.
size
,
&
outq
);
H26xUtils
::
byteStreamToNalus
(
buf
+
info
.
offset
,
info
.
size
,
&
outq
);
_psInserter
->
process
(
&
outq
,
encodedData
);
AMediaCodec_releaseOutputBuffer
(
_impl
,
obufidx
,
FALSE
);
...
...
src/utils/h264utils.cpp
View file @
f631fa25
...
...
@@ -34,7 +34,7 @@ using namespace std;
extern
"C"
{
void
ms_h264_bitstream_to_nalus
(
const
uint8_t
*
bitstream
,
size_t
size
,
MSQueue
*
nalus
)
{
byteStreamToNalus
(
bitstream
,
size
,
nalus
);
H26xUtils
::
byteStreamToNalus
(
bitstream
,
size
,
nalus
);
}
uint8_t
ms_h264_nalu_get_nri
(
const
mblk_t
*
nalu
)
{
...
...
src/voip/h26x-utils.cpp
View file @
f631fa25
...
...
@@ -28,11 +28,11 @@ using namespace std;
namespace
mediastreamer
{
void
naluStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
)
{
naluStreamToNalus
(
byteStream
.
data
(),
byteStream
.
size
(),
out
);
void
H26xUtils
::
naluStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
)
{
H26xUtils
::
naluStreamToNalus
(
byteStream
.
data
(),
byteStream
.
size
(),
out
);
}
void
naluStreamToNalus
(
const
uint8_t
*
bytestream
,
size_t
size
,
MSQueue
*
out
)
{
void
H26xUtils
::
naluStreamToNalus
(
const
uint8_t
*
bytestream
,
size_t
size
,
MSQueue
*
out
)
{
const
uint8_t
*
ptr
=
bytestream
;
while
(
ptr
<
bytestream
+
size
)
{
uint32_t
nalu_size
;
...
...
@@ -48,11 +48,11 @@ void naluStreamToNalus(const uint8_t *bytestream, size_t size, MSQueue *out) {
}
}
void
byteStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
)
{
byteStreamToNalus
(
byteStream
.
data
(),
byteStream
.
size
(),
out
);
void
H26xUtils
::
byteStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
)
{
H26xUtils
::
byteStreamToNalus
(
byteStream
.
data
(),
byteStream
.
size
(),
out
);
}
void
byteStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
)
{
void
H26xUtils
::
byteStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
)
{
vector
<
uint8_t
>
buffer
;
const
uint8_t
*
end
=
byteStream
+
size
;
for
(
const
uint8_t
*
it
=
byteStream
;
it
!=
end
;)
{
...
...
@@ -86,7 +86,7 @@ void byteStreamToNalus(const uint8_t *byteStream, size_t size, MSQueue *out) {
}
}
void
nalusToByteStream
(
MSQueue
*
nalus
,
std
::
vector
<
uint8_t
>
&
byteStream
)
{
void
H26xUtils
::
nalusToByteStream
(
MSQueue
*
nalus
,
std
::
vector
<
uint8_t
>
&
byteStream
)
{
bool
startPicture
=
true
;
byteStream
.
resize
(
0
);
while
(
mblk_t
*
im
=
ms_queue_get
(
nalus
))
{
...
...
src/voip/h26x-utils.h
View file @
f631fa25
...
...
@@ -26,13 +26,19 @@
namespace
mediastreamer
{
void
naluStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
);
void
naluStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
);
void
byteStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
);
void
byteStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
);
class
H26xUtils
{
public:
H26xUtils
()
=
delete
;
static
void
naluStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
);
static
void
naluStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
);
void
nalusToByteStream
(
MSQueue
*
nalus
,
std
::
vector
<
uint8_t
>
&
bytestream
);
static
void
byteStreamToNalus
(
const
std
::
vector
<
uint8_t
>
&
byteStream
,
MSQueue
*
out
);
static
void
byteStreamToNalus
(
const
uint8_t
*
byteStream
,
size_t
size
,
MSQueue
*
out
);
static
void
nalusToByteStream
(
MSQueue
*
nalus
,
std
::
vector
<
uint8_t
>
&
bytestream
);
};
class
H26xParameterSetsInserter
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment