mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
return size written in ff_avc_parse_nal_units
Originally committed as revision 16622 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
764551c672
commit
a97772b166
@ -60,20 +60,23 @@ const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end)
|
|||||||
return end + 3;
|
return end + 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_avc_parse_nal_units(ByteIOContext *pb, const uint8_t *buf_in, int size)
|
int ff_avc_parse_nal_units(ByteIOContext *pb, const uint8_t *buf_in, int size)
|
||||||
{
|
{
|
||||||
const uint8_t *p = buf_in;
|
const uint8_t *p = buf_in;
|
||||||
const uint8_t *end = p + size;
|
const uint8_t *end = p + size;
|
||||||
const uint8_t *nal_start, *nal_end;
|
const uint8_t *nal_start, *nal_end;
|
||||||
|
|
||||||
|
size = 0;
|
||||||
nal_start = ff_avc_find_startcode(p, end);
|
nal_start = ff_avc_find_startcode(p, end);
|
||||||
while (nal_start < end) {
|
while (nal_start < end) {
|
||||||
while(!*(nal_start++));
|
while(!*(nal_start++));
|
||||||
nal_end = ff_avc_find_startcode(nal_start, end);
|
nal_end = ff_avc_find_startcode(nal_start, end);
|
||||||
put_be32(pb, nal_end - nal_start);
|
put_be32(pb, nal_end - nal_start);
|
||||||
put_buffer(pb, nal_start, nal_end - nal_start);
|
put_buffer(pb, nal_start, nal_end - nal_start);
|
||||||
|
size += 4 + nal_end - nal_start;
|
||||||
nal_start = nal_end;
|
nal_start = nal_end;
|
||||||
}
|
}
|
||||||
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size)
|
static int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "avio.h"
|
#include "avio.h"
|
||||||
|
|
||||||
void ff_avc_parse_nal_units(ByteIOContext *s, const uint8_t *buf, int size);
|
int ff_avc_parse_nal_units(const uint8_t *buf_in, uint8_t **buf, int *size);
|
||||||
int ff_isom_write_avcc(ByteIOContext *pb, const uint8_t *data, int len);
|
int ff_isom_write_avcc(ByteIOContext *pb, const uint8_t *data, int len);
|
||||||
const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end);
|
const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user