Lines Matching refs:frag
2625 static MPP_RET mpp_insert_unit(Av1UnitFragment *frag, RK_S32 position) in mpp_insert_unit() argument
2629 if (frag->nb_units < frag->nb_units_allocated) { in mpp_insert_unit()
2630 units = frag->units; in mpp_insert_unit()
2632 if (position < frag->nb_units) in mpp_insert_unit()
2634 (frag->nb_units - position) * sizeof(*units)); in mpp_insert_unit()
2636 units = mpp_malloc(Av1ObuUnit, frag->nb_units * 2 + 1); in mpp_insert_unit()
2640 frag->nb_units_allocated = 2 * frag->nb_units_allocated + 1; in mpp_insert_unit()
2643 memcpy(units, frag->units, position * sizeof(*units)); in mpp_insert_unit()
2645 if (position < frag->nb_units) in mpp_insert_unit()
2646 memcpy(units + position + 1, frag->units + position, in mpp_insert_unit()
2647 (frag->nb_units - position) * sizeof(*units)); in mpp_insert_unit()
2652 if (units != frag->units) { in mpp_insert_unit()
2653 mpp_free(frag->units); in mpp_insert_unit()
2654 frag->units = units; in mpp_insert_unit()
2657 ++frag->nb_units; in mpp_insert_unit()
2662 static MPP_RET mpp_insert_unit_data(Av1UnitFragment *frag, in mpp_insert_unit_data() argument
2671 position = frag->nb_units; in mpp_insert_unit_data()
2673 mpp_assert(position >= 0 && position <= frag->nb_units); in mpp_insert_unit_data()
2674 ret = mpp_insert_unit(frag, position); in mpp_insert_unit_data()
2679 unit = &frag->units[position]; in mpp_insert_unit_data()
2687 RK_S32 mpp_av1_split_fragment(AV1Context *ctx, Av1UnitFragment *frag, RK_S32 header_flag) in mpp_av1_split_fragment() argument
2695 data = frag->data; in mpp_av1_split_fragment()
2696 size = frag->data_size; in mpp_av1_split_fragment()
2773 err = mpp_insert_unit_data(frag, -1, header.obu_type, in mpp_av1_split_fragment()
2984 RK_S32 mpp_av1_read_fragment_content(AV1Context *ctx, Av1UnitFragment *frag) in mpp_av1_read_fragment_content() argument
2991 for (i = 0; i < frag->nb_units; i++) { in mpp_av1_read_fragment_content()
2992 Av1ObuUnit *unit = &frag->units[i]; in mpp_av1_read_fragment_content()
3055 void mpp_av1_fragment_reset(Av1UnitFragment *frag) in mpp_av1_fragment_reset() argument
3059 for (i = 0; i < frag->nb_units; i++) { in mpp_av1_fragment_reset()
3060 Av1ObuUnit *unit = &frag->units[i]; in mpp_av1_fragment_reset()
3065 frag->nb_units = 0; in mpp_av1_fragment_reset()
3066 frag->data = NULL; in mpp_av1_fragment_reset()
3067 frag->data_size = 0; in mpp_av1_fragment_reset()
3070 RK_S32 mpp_av1_assemble_fragment(AV1Context *ctx, Av1UnitFragment *frag) in mpp_av1_assemble_fragment() argument
3076 for (i = 0; i < frag->nb_units; i++) in mpp_av1_assemble_fragment()
3077 size += frag->units[i].data_size; in mpp_av1_assemble_fragment()
3079 frag->data = mpp_malloc(RK_U8, size + BUFFER_PADDING_SIZE); in mpp_av1_assemble_fragment()
3080 if (!frag->data) in mpp_av1_assemble_fragment()
3083 memset(frag->data + size, 0, BUFFER_PADDING_SIZE); in mpp_av1_assemble_fragment()
3086 for (i = 0; i < frag->nb_units; i++) { in mpp_av1_assemble_fragment()
3087 memcpy(frag->data + pos, frag->units[i].data, in mpp_av1_assemble_fragment()
3088 frag->units[i].data_size); in mpp_av1_assemble_fragment()
3089 pos += frag->units[i].data_size; in mpp_av1_assemble_fragment()
3092 frag->data_size = size; in mpp_av1_assemble_fragment()