Lines Matching defs:nal
35 H2645RBSP *rbsp, H2645NAL *nal, int small_padding)
40 nal->skipped_bytes = 0;
87 nal->data =
88 nal->raw_data = src;
89 nal->size =
90 nal->raw_size = length;
110 if (nal->skipped_bytes_pos) {
111 nal->skipped_bytes++;
112 if (nal->skipped_bytes_pos_size < nal->skipped_bytes) {
113 nal->skipped_bytes_pos_size *= 2;
114 av_assert0(nal->skipped_bytes_pos_size >= nal->skipped_bytes);
115 av_reallocp_array(&nal->skipped_bytes_pos,
116 nal->skipped_bytes_pos_size,
117 sizeof(*nal->skipped_bytes_pos));
118 if (!nal->skipped_bytes_pos) {
119 nal->skipped_bytes_pos_size = 0;
123 if (nal->skipped_bytes_pos)
124 nal->skipped_bytes_pos[nal->skipped_bytes-1] = di - 1;
139 nal->data = dst;
140 nal->size = di;
141 nal->raw_data = src;
142 nal->raw_size = si;
262 static int get_bit_length(H2645NAL *nal, int min_size, int skip_trailing_zeros)
264 int size = nal->size;
267 while (skip_trailing_zeros && size > 0 && nal->data[size - 1] == 0)
274 if (nal->size < min_size)
278 int v = nal->data[size - 1];
296 static int hevc_parse_nal_header(H2645NAL *nal, void *logctx)
298 GetBitContext *gb = &nal->gb;
303 nal->type = get_bits(gb, 6);
305 nal->nuh_layer_id = get_bits(gb, 6);
306 nal->temporal_id = get_bits(gb, 3) - 1;
307 if (nal->temporal_id < 0)
312 nal->type, hevc_nal_unit_name(nal->type), nal->nuh_layer_id, nal->temporal_id);
317 static int h264_parse_nal_header(H2645NAL *nal, void *logctx)
319 GetBitContext *gb = &nal->gb;
324 nal->ref_idc = get_bits(gb, 2);
325 nal->type = get_bits(gb, 5);
329 nal->type, h264_nal_unit_name(nal->type), nal->ref_idc);
414 H2645NAL *nal;
473 nal = &pkt->nals[pkt->nb_nals];
474 nal->skipped_bytes_pos_size = FFMIN(1024, extract_length/3+1); // initial buffer size
475 nal->skipped_bytes_pos = av_malloc_array(nal->skipped_bytes_pos_size, sizeof(*nal->skipped_bytes_pos));
476 if (!nal->skipped_bytes_pos)
481 nal = &pkt->nals[pkt->nb_nals];
483 consumed = ff_h2645_extract_rbsp(bc.buffer, extract_length, &pkt->rbsp, nal, small_padding);
499 nal->size_bits = get_bit_length(nal, 1 + (codec_id == AV_CODEC_ID_HEVC),
502 if (nal->size <= 0 || nal->size_bits <= 0)
505 ret = init_get_bits(&nal->gb, nal->data, nal->size_bits);
510 nal->type = 0;
513 ret = hevc_parse_nal_header(nal, logctx);
515 ret = h264_parse_nal_header(nal, logctx);
518 nal->type);