[FFmpeg-devel] [PATCH] cbs_h2645: Implement replace-PS with a table rather than many functions

Nuo Mi nuomi2021 at gmail.com
Sat Feb 6 05:28:29 EET 2021


On Wed, Feb 3, 2021 at 5:07 AM Mark Thompson <sw at jkqxz.net> wrote:

> On 30/01/2021 11:01, Nuo Mi wrote:
> > On Wed, Jan 27, 2021 at 9:52 PM Nuo Mi <nuomi2021 at gmail.com> wrote:
> >> On Wed, Jan 27, 2021 at 7:06 AM Mark Thompson <sw at jkqxz.net> wrote:
> >>>
> >>> +
> >>> +    err = ff_cbs_make_unit_refcounted(ctx, unit);
> >>> +    if (err < 0)
> >>> +        return err;
> >>> +
> >>> +    ref_array =
> >>> +         (AVBufferRef**)((uint8_t*)ctx->priv_data +
> >>> ps_type->ref_array_offset);
> >>> +    ptr_array = (void**)((uint8_t*)ctx->priv_data +
> >>> ps_type->ptr_array_offset);
> >>> +    active    = (void**)((uint8_t*)ctx->priv_data +
> >>> ps_type->active_offset);
> >>> +
> >>> +    if (ptr_array[id] == *active) {
> >>> +        // The old active parameter set is being overwritten, so it
> can't
> >>> +        // be active after this point.
> >>> +        *active = NULL;
> >>> +    }
> >>> +    av_buffer_unref(&ref_array[id]);
> >>> +
> >>> +    ref_array[id] = av_buffer_ref(unit->content_ref);
> >>> +    if (!ref_array[id])
> >>> +        return AVERROR(ENOMEM);
> >>>
> >> This happend after ff_cbs_make_unit_refcounted, do we need urnef
> unit->content_ref
> >> before return?
>
> I don't think so?  The content_ref will be freed by the next call to
> fragment_reset/fragment_free, and we don't want to unset it here because
> that would force us to also clear unit->content as well (which doesn't
> matter for reading, but is a very strange side-effect if you are writing).
>
> >>> +    ptr_array[id] = ref_array[id]->data;
> >>> +
> >>> +    return 0;
> >>> +}
> >>>
> >>> > Hi Mark,
> > Will this fix and merged?
>
> Do you prefer it to what is presently there?
>
> My intent was to suggest it and ask the question given the trouble with
> many versions of this in H.266, not to prescribe a particular answer.

Thanks for the suggestion, I will include the patch and send the new
searials.

>




> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list