39 if (
s->buf_ptr !=
s->buf) {
42 if (
s->buffered_nals == 1) {
43 enum AVCodecID codec =
s1->streams[0]->codecpar->codec_id;
58 enum AVCodecID codec =
s1->streams[0]->codecpar->codec_id;
61 if (size <= s->max_payload_size) {
62 int buffered_size =
s->buf_ptr -
s->buf;
64 int skip_aggregate = 0;
74 if (buffered_size + 2 +
size >
s->max_payload_size) {
82 if (buffered_size + 2 + header_size + size <= s->max_payload_size &&
84 if (buffered_size == 0) {
88 *
s->buf_ptr++ = 48 << 1;
94 memcpy(
s->buf_ptr, buf,
size);
102 int flag_byte, header_size;
106 "NAL size %d > %d, try -slice-max-size %d\n",
size,
107 s->max_payload_size,
s->max_payload_size);
112 uint8_t
type = buf[0] & 0x1F;
113 uint8_t nri = buf[0] & 0x60;
125 uint8_t nal_type = (buf[0] >> 1) & 0x3F;
155 s->buf[2] = nal_type;
167 while (
size + header_size >
s->max_payload_size) {
168 memcpy(&
s->buf[header_size], buf,
s->max_payload_size - header_size);
170 buf +=
s->max_payload_size - header_size;
171 size -=
s->max_payload_size - header_size;
172 s->buf[flag_byte] &= ~(1 << 7);
174 s->buf[flag_byte] |= 1 << 6;
175 memcpy(&
s->buf[header_size], buf,
size);
182 const uint8_t *
r, *end = buf1 +
size;
185 s->timestamp =
s->cur_timestamp;
187 if (
s->nal_length_size)
194 if (
s->nal_length_size) {
198 r +=
s->nal_length_size;