From patchwork Thu Dec 8 14:07:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39653 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp341818pzb; Thu, 8 Dec 2022 06:07:35 -0800 (PST) X-Google-Smtp-Source: AA0mqf7CEkb2Ww+ypxfKdVkdmaj3/Q7nvCt+JlnRys8abKsvLsSgwg2CTtyaqQ2mHVxI698rsO2h X-Received: by 2002:a05:6402:370d:b0:45c:937d:25c8 with SMTP id ek13-20020a056402370d00b0045c937d25c8mr2094103edb.1.1670508455678; Thu, 08 Dec 2022 06:07:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670508455; cv=none; d=google.com; s=arc-20160816; b=sdDo6uq8B5xttyBbpCR7yNwKlmT+DVqFcthlQB+i7c9fhBNBDLXLa6qiROCbMsk+Fy PpAof1pq4wyU0Prz3pJqBrIjlAQS+VEu63yJ0HAGc+7+sAQXK+I0AS4k1PA+KIv+Q8AW YPYK8drYYsh4L5WjytodInq8CS7ljpu5zwDJ+kk2ILv3128+dfX67CTSzw9ptAEKnmGz oTFAQD9xciI2k2LSvoyIFqxRT24dQBAS15HBIxkz4zyxXKXumvbBhrdw7Cl9Ixdu0Sgy 6hcCaolZyBOvne1emntCJoWNgyug/lvj+5i4ykCwfM65c+VVz8oPwhjVmNs2MiCsL0eN fOXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=AWq6zg5X1qgFL7MuHDgnkV5sGTTA1WXqz5GkWnVBEB8=; b=I7uLcas2CFFDIh5+vEzqYi/+5z5IZT6OunU3WZnZ9IeWDbx3VfYpTCrxVOB0rKn1oG YwPJ8HaDo1CUpFfuxlh9NFHqIUI0ERTiY9/73QgQSKiOI/6DpzyocOaAzLCqWUVpynIi RFI6rBXNgrZqXcFjPMC8jZ8P9NO7iUbpoRe2voZGDYkaLiIhFw3gHWJhVScnEkjBBGQf WcpxtPC/Ap+1r2vFgAnmH97o7RC8fWPHaRENOw5JNq2ZXBl1ifCxv1D4PXK4n3mx84C2 mYJHlferOuvFlL0Qpj8rN4XOo4Vx4UOs4Ajjdd4BpKTndMWYZGjYLCad5NlXUKAj9dgC 7Cuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=JgQD6vbr; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l12-20020a056402254c00b00459c1e64776si7727482edb.412.2022.12.08.06.07.35; Thu, 08 Dec 2022 06:07:35 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=JgQD6vbr; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 57C6368BA02; Thu, 8 Dec 2022 16:07:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C5D4068A37E for ; Thu, 8 Dec 2022 16:07:23 +0200 (EET) Received: by mail-oi1-f176.google.com with SMTP id k189so1484553oif.7 for ; Thu, 08 Dec 2022 06:07:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=5jEsK8VD85hmX/3iJpot1jitOLIQ2oM8SljR63BcHtI=; b=JgQD6vbrHlzDWUW2jAPvvkHzwpg+zJ/5NsTWdv5FGU3VagSsUr2eINca7uuDaoyH5L vWXrz26aRtt/xz4bEpPv3dxMlQbaMyKrv5PppKg2cc4MLEhWLI9VlG3Wyh+rO17dYd3q k9Bl9YuEq389j8IJ0PEMQMMEhJXUK7wOnWjxul8qVj6fKZ41X6OeY684rimZpra01iHz 1UsHuyll6I+KveK6wX0mnQxQT/vavBjvKyIxJd2ghXybHLVsnogxvhOWmf36O1qwN8GD h+wxS6rG4c4q9kBki6dfBVJofuyM4IX5dJ5vv/YyJ75paYqbevsg/Df6S0S3+A4g4nOD a0AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5jEsK8VD85hmX/3iJpot1jitOLIQ2oM8SljR63BcHtI=; b=qwZrdCq5gA2wutuo8S6PG/T+IWDQQwc9DpixJDGzhYsKmJu+ZokTwdyb7BqfuKUint 5/KYm5rk1r7prKu6skAEGWfFnSJP/zSe14SSiCCBIxkaCwXLgUQLeEPsswPrCHMHg2ug bQya0NrxPrZzTKBEztWFOeCOhl6fqjtT3TF+ztQojanFV1/Us+uDlfBldQQNBjMKtHq1 OKWzaghWmAhpSsAGtmPSaKB3yPDEQ3ccoOt45enQULvgu0Ot4Np9K6TGlXTWwxFUs5OP mldTuZ8OAciAvaFLU2azOWZLz9KkEj8Xq6jwpoUeTrQyw4I85bXSEkKZNJ4KIvaPt1ou xMFw== X-Gm-Message-State: ANoB5plDUVv/d5PKY9LBd4q6OfKcuve7e/HZKAllEi9JEXaJLRnvc7hP 9+8cHyRMvhJ3dA+9rUJqwUD00yd2qaM= X-Received: by 2002:a05:6808:1b0f:b0:35c:29b0:e6ea with SMTP id bx15-20020a0568081b0f00b0035c29b0e6eamr1285575oib.30.1670508441530; Thu, 08 Dec 2022 06:07:21 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id e29-20020a544f1d000000b0035aa617156bsm10672553oiy.17.2022.12.08.06.07.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 06:07:21 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Dec 2022 11:07:02 -0300 Message-Id: <20221208140706.3086-1-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/decode: add a function to set frame props from a user provided packet X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hIcJKYrBKPgj It will be useful for decoders that don't rely on last_pkt_props to set frame props. Signed-off-by: James Almer --- libavcodec/decode.c | 19 +++++++++++++++---- libavcodec/decode.h | 5 +++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index b184c3f55b..8f7f0fadbe 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1261,9 +1261,8 @@ static int add_metadata_from_side_data(const AVPacket *avpkt, AVFrame *frame) return av_packet_unpack_dictionary(side_metadata, size, frame_md); } -int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) +int ff_decode_frame_props_from_pkt(AVFrame *frame, const AVPacket *pkt) { - const AVPacket *pkt = avctx->internal->last_pkt_props; static const struct { enum AVPacketSideDataType packet; enum AVFrameSideDataType frame; @@ -1281,11 +1280,10 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, }; - if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) { frame->pts = pkt->pts; frame->pkt_pos = pkt->pos; frame->duration = pkt->duration; - frame->pkt_size = (int)(intptr_t)pkt->opaque; + frame->pkt_size = pkt->size; for (int i = 0; i < FF_ARRAY_ELEMS(sd); i++) { size_t size; @@ -1307,6 +1305,19 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) } else { frame->flags = (frame->flags & ~AV_FRAME_FLAG_DISCARD); } + + return 0; +} + +int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) +{ + const AVPacket *pkt = avctx->internal->last_pkt_props; + + if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) { + int ret = ff_decode_frame_props_from_pkt(frame, pkt); + if (ret < 0) + return ret; + frame->pkt_size = (int)(intptr_t)pkt->opaque; } frame->reordered_opaque = avctx->reordered_opaque; diff --git a/libavcodec/decode.h b/libavcodec/decode.h index 5d95369b5e..906122b4a7 100644 --- a/libavcodec/decode.h +++ b/libavcodec/decode.h @@ -69,6 +69,11 @@ int ff_decode_receive_frame(AVCodecContext *avctx, AVFrame *frame); */ int ff_decode_get_packet(AVCodecContext *avctx, AVPacket *pkt); +/** + * Set various frame properties from the provided packet. + */ +int ff_decode_frame_props_from_pkt(AVFrame *frame, const AVPacket *pkt); + /** * Set various frame properties from the codec context / packet data. */ From patchwork Thu Dec 8 14:07:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39654 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp342008pzb; Thu, 8 Dec 2022 06:07:47 -0800 (PST) X-Google-Smtp-Source: AA0mqf5nl2EZwi5SLScRku6QPLND95/9wFwhfpBPWomjGDpcmr83ssKRq9UdXISPwgu5yk4uipkO X-Received: by 2002:a05:6402:501e:b0:462:ad1b:dd0a with SMTP id p30-20020a056402501e00b00462ad1bdd0amr2484444eda.14.1670508467159; Thu, 08 Dec 2022 06:07:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670508467; cv=none; d=google.com; s=arc-20160816; b=1Gi/UkMXbkXvs+xm2/smjwwMtE/IfbZbb1JnG71HkGGYlLH7IhgJWFekNStl7jv07p Tdagkf+nLFpQ9cZXZAtpYJzVIoRIsAsLmrqbbhtcixmi4HH04vwd5FwoTIlf01Ldo+3u 7wja8G94hmSWqYcgRwQNW5FG5DzEi2UpPrVwvET1lqrTr6LWb/7hxlbvlG3nzraAUJkN LPPfuvlbnT6N2BltDCAbMrub36QROdWJ0LFKj1nO6j04JbbZU0zvDpT7UGinK6ciNU4f twrPSJ16k7Gv8wUCUe+2mP3ctJzzuzrqXDBBLa/lBy9/NsK7/qm5E9+3qbixb//DXynH TTbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=vBT3LDYEeWJ9Mm9/8gIRqUYRsuoO9DPLKoNj8ZBIJzc=; b=R9D5pDLd3xK+BfnLVxQT5Uq7NbpSr3JwkiUd9bAtYNzHD37BVkFmQX5MQxs5OUV9As HZMPxzyIk2RrjWyfQXhmbBWkMEyFzSAhhBoxdLqtubsniUZnCDSEiQN9G0FMu7MfLZYJ g6z0dQr7TQbcL9iiiUz/jRxsN0ZpSsJSqVIfPkAQ2VmzskdnDAGj/u3YhG0JMWbYMaG1 s2TyOYMeKAZzz5fxuwjhs90Zpc7f7xlsLtjrA2CRpvMOCEe/zhFQrvAT+0e47hUaAjAe N62Fj1pqhxRbGoS6BigjJ2cKL0uXXUdaJyUhz2S5showGV362w8V/+J9ipjXzg8wkJiN w/RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=SFqGnyOd; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z13-20020a05640240cd00b00461c0fd2597si6514482edb.89.2022.12.08.06.07.46; Thu, 08 Dec 2022 06:07:47 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=SFqGnyOd; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9212C68BA53; Thu, 8 Dec 2022 16:07:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oa1-f50.google.com (mail-oa1-f50.google.com [209.85.160.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8E4CF68A37E for ; Thu, 8 Dec 2022 16:07:24 +0200 (EET) Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-1445ca00781so1950081fac.1 for ; Thu, 08 Dec 2022 06:07:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=LR82CZcVP9/7fSQ3HPj3LwfuPBB6TMnt22geparBmM4=; b=SFqGnyOdyQoy5GwBvFsMx4zZuEjIbu5hJEnbN1ZpIKvu2593UXP+IT5CqlPIIWEAB3 wF/4McC5HuAtayBrQotuP5T733tL7snlBgZz0mGfDHwFXanK4WCFIh/ZwGMexbd7juoe IgqgVkthVIkO9rGUqJQj965JaYvzRaaPdakGKmJxDKHTXGDSdCb1IfLCwK6AmcpdvR4g nuLXp8v74w/g7FnSg3GYjHNLtOQv8dKC73/jZ7dm8Fdu+IHv2dSCj77MGmhjo78HvtWL Q6mVzySzKwqNcqICigQjkQ9vdYIT0FjKRYuqtj6Bzd72axoYFL2NyjXvWgaMqPd4nViK fOBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LR82CZcVP9/7fSQ3HPj3LwfuPBB6TMnt22geparBmM4=; b=KrcCdatKapCXGOgNCcLOqXS/z3ytzMcCM1FIKpHyP3DFsLV72X149bszyQsXnd3bo/ KjS7eBoSnQr6EyR8C2hFHVQviTFiAMZAp1D6wihDGL6/0GIEowQuwc9g7M8RmdgSzJxY RtFuFLw7ABq++GcLHhNSrcpnTduvxl8iDg9dUyu/g632E18zVqnb8wf0UJwlZQ/txJJi FB7wOuIHrwpR68D7woq2dm6jZuIKXAB+x8Q/Lsb5cw8LwFRHBGCd4m/lJZed/1sDsyMA VTL1PpHMZE1ju5VO8q0WrAGnfuMYIKO+LONapXgTC/UZS/n+ziii6GhZ7wsRxNnJA+Gc yAvg== X-Gm-Message-State: ANoB5pm0kMs9f8qmcvhcx/V+7u+I7zobgVwyyuHgJH18gte9z2VBKzZj OOe3ZdVngbfos7PRaD0IUY9nDeOi2gk= X-Received: by 2002:a05:6870:3c13:b0:143:7db5:84e with SMTP id gk19-20020a0568703c1300b001437db5084emr1034983oab.38.1670508442832; Thu, 08 Dec 2022 06:07:22 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id e29-20020a544f1d000000b0035aa617156bsm10672553oiy.17.2022.12.08.06.07.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 06:07:22 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Dec 2022 11:07:03 -0300 Message-Id: <20221208140706.3086-2-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221208140706.3086-1-jamrial@gmail.com> References: <20221208140706.3086-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/decode: reindent after the previous commit X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 30I18iPd2kAS Signed-off-by: James Almer --- libavcodec/decode.c | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 8f7f0fadbe..3e5be501b9 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1280,31 +1280,31 @@ int ff_decode_frame_props_from_pkt(AVFrame *frame, const AVPacket *pkt) { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, }; - frame->pts = pkt->pts; - frame->pkt_pos = pkt->pos; - frame->duration = pkt->duration; - frame->pkt_size = pkt->size; - - for (int i = 0; i < FF_ARRAY_ELEMS(sd); i++) { - size_t size; - uint8_t *packet_sd = av_packet_get_side_data(pkt, sd[i].packet, &size); - if (packet_sd) { - AVFrameSideData *frame_sd = av_frame_new_side_data(frame, - sd[i].frame, - size); - if (!frame_sd) - return AVERROR(ENOMEM); - - memcpy(frame_sd->data, packet_sd, size); - } + frame->pts = pkt->pts; + frame->pkt_pos = pkt->pos; + frame->duration = pkt->duration; + frame->pkt_size = pkt->size; + + for (int i = 0; i < FF_ARRAY_ELEMS(sd); i++) { + size_t size; + uint8_t *packet_sd = av_packet_get_side_data(pkt, sd[i].packet, &size); + if (packet_sd) { + AVFrameSideData *frame_sd = av_frame_new_side_data(frame, + sd[i].frame, + size); + if (!frame_sd) + return AVERROR(ENOMEM); + + memcpy(frame_sd->data, packet_sd, size); } - add_metadata_from_side_data(pkt, frame); + } + add_metadata_from_side_data(pkt, frame); - if (pkt->flags & AV_PKT_FLAG_DISCARD) { - frame->flags |= AV_FRAME_FLAG_DISCARD; - } else { - frame->flags = (frame->flags & ~AV_FRAME_FLAG_DISCARD); - } + if (pkt->flags & AV_PKT_FLAG_DISCARD) { + frame->flags |= AV_FRAME_FLAG_DISCARD; + } else { + frame->flags = (frame->flags & ~AV_FRAME_FLAG_DISCARD); + } return 0; } From patchwork Thu Dec 8 14:07:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39655 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp342153pzb; Thu, 8 Dec 2022 06:07:56 -0800 (PST) X-Google-Smtp-Source: AA0mqf5QPRYhERzk9TRbv76sQ3pz+U4R5ucwIfbo9VllQUNqod/yx4Fo6VUVpDcRTtToOOrfhYfp X-Received: by 2002:a17:906:4406:b0:7c1:1de6:d25f with SMTP id x6-20020a170906440600b007c11de6d25fmr1775393ejo.31.1670508476381; Thu, 08 Dec 2022 06:07:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670508476; cv=none; d=google.com; s=arc-20160816; b=1IyBTwp/r07JgLqPW5nh22uk/FORp1EIr5345hnojZ2a3Fvz29QHWAyI4aGJ1Wzi5v J7Tx0bvsmNs5I6mvmbnOPu2nMPgxfIBzjzhw/1sNXsfn1objFvgqHXxQ6H4YmcEXYaOw T/mnK5OJBbltkVExWL/h2fj6IeZ+bOvqesSc3nJPCCPjpNZXspf95aZWLG6IL29F4gcw rTCS1HrXhFvYt25Qqi3AWnSmN9bNczSqa0o6JL0pAV5upUnnUDKgV3BHos5SAkBYE/iy 5DfA1w1FaL1JEzjjvuxG4PbQLRHtYYiBKufKJTNs8lZbaVR+qFB60A/kJsN8bZYANnVO Jddw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=yMiLxv+B6Mj63yqrLEHdBGGhxRoi5z3J1ggZXVORzNE=; b=o2xYwNX8XsD7PwRqesyC3sYrPnyPaGR1NaU+i7E1GcP3Lq2GsqfXrL4TSAvX5fFe0k dXDEFb64xkUBQuY0J0/EZrOkGiuUQ1DqmPqHSxXQteZgd3juZFY5kcIDaptFuz93WEiz GLeyV4cqbHfx3bf4XudQ1YA3vg2+wJmqn7dYbMBRR2xAJvuLAQQq+ut7JZi3G/hkrxSs 0ZeVoZ5MYvTMHqLGS4Mi5zHt7uRGyDG4gj1G4INTIsMU5nCE30HOH2p0zfLyD/GLmP+u 0fZT/kGoYk5NHfl1XlI42dzmgpitVrR2X6DPtxPodQzCNM6WduTnWFht1JTlgBjm/qh+ xE1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=MUxMT6co; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dm5-20020a170907948500b007a46fa50b26si19056457ejc.517.2022.12.08.06.07.56; Thu, 08 Dec 2022 06:07:56 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=MUxMT6co; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B640668BA5C; Thu, 8 Dec 2022 16:07:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EEBF668A37E for ; Thu, 8 Dec 2022 16:07:25 +0200 (EET) Received: by mail-oi1-f182.google.com with SMTP id m204so1494944oib.6 for ; Thu, 08 Dec 2022 06:07:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=F8QlZecSCaezfrpgPYe188P94YtXK+fGwqVdd3IBYUs=; b=MUxMT6cofVLeGmUmyHGm4oInNwFQEpuEfEVE1MeBmbLJ5dfzelW4HfyK+Y+bj6G7YL E6t876Wfy/YPlTeuOy03gqDuoK7cGEeKrKjTry/nWW0wz5kD6Qd05uj6Mlu+0D230KrQ R4cgICxQHYeRZ1cprQH29MY6XFrV+z59LpJFCOyxZafHQVbJAxlet/+F01C8akJ4OJm2 T35T64D4xSgh+EH3Gj+KAIrfPhgnGzuBSeufnkO6PJ7+pDX6w7eXnbGJ+pe41YrZUIvK pvNWR4QZ/XeaNIy0kiXxBbDbfjomMXb/oy/KF6H9y0lIC5gIm6MGeIzUHlsulFe8WgMF u8LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F8QlZecSCaezfrpgPYe188P94YtXK+fGwqVdd3IBYUs=; b=t4XNZaZZtexyaOaMbk4XKV3N00L58Wt4Esj2XJitBd4bsXBoax5w144lLjkzzHJ3jZ zdfopDvIO47YLFvC5QfZB+7P3fzW3uvu6YwOFqSqjEZd3Tjf9/ECnReYuo/M3nkUunBp Vzm2CG4qtasTffSitB7JVurLM0EqMJo8U/iJBCu0Hddo2IsrZd8GO2UUIIZVDcZzhENM 21mddzszwvcDQPkXFJKVQA4HckGxvMQN9gtnIrYek17qFouB9J0K7Iua1XKhchKvbscQ +zuf3mVdne5tqmxsfJgjUMMUJVuFHq4mbLLqRKPYi8uJMrFE834Ki+bFSFLrDVkHqps/ itoA== X-Gm-Message-State: ANoB5plFQQAZIZPL7whMQble+eXWm5CniWCguo52UkGm+IkZ5XpXbv9C 03Hc3Iy3ywNzbiVHpqXZ9yS0zQjCpgE= X-Received: by 2002:aca:180f:0:b0:35b:e6e7:8dd with SMTP id h15-20020aca180f000000b0035be6e708ddmr921880oih.24.1670508444019; Thu, 08 Dec 2022 06:07:24 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id e29-20020a544f1d000000b0035aa617156bsm10672553oiy.17.2022.12.08.06.07.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 06:07:23 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Dec 2022 11:07:04 -0300 Message-Id: <20221208140706.3086-3-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221208140706.3086-1-jamrial@gmail.com> References: <20221208140706.3086-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] avcodec/libdav1d: don't use AVCodecInternal.in_pkt X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 53QjZl6RYrxy Allocate an AVPacket instead, which will be used in the following commit. Signed-off-by: James Almer --- libavcodec/libdav1d.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 028929404e..f98f351e49 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -41,9 +41,6 @@ typedef struct Libdav1dContext { AVClass *class; Dav1dContext *c; - /* This packet coincides with AVCodecInternal.in_pkt - * and is not owned by us. */ - AVPacket *pkt; AVBufferPool *pool; int pool_size; @@ -219,8 +216,6 @@ static av_cold int libdav1d_init(AVCodecContext *c) #endif int res; - dav1d->pkt = c->internal->in_pkt; - av_log(c, AV_LOG_INFO, "libdav1d %s\n", dav1d_version()); dav1d_default_settings(&s); @@ -306,17 +301,22 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) int res; if (!data->sz) { - AVPacket *const pkt = dav1d->pkt; + AVPacket *pkt = av_packet_alloc(); + + if (!pkt) + return AVERROR(ENOMEM); res = ff_decode_get_packet(c, pkt); - if (res < 0 && res != AVERROR_EOF) + if (res < 0 && res != AVERROR_EOF) { + av_packet_free(&pkt); return res; + } if (pkt->size) { res = dav1d_data_wrap(data, pkt->data, pkt->size, libdav1d_data_free, pkt->buf); if (res < 0) { - av_packet_unref(pkt); + av_packet_free(&pkt); return res; } @@ -325,7 +325,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) data->m.duration = pkt->duration; pkt->buf = NULL; - av_packet_unref(pkt); + av_packet_free(&pkt); if (c->reordered_opaque != AV_NOPTS_VALUE) { uint8_t *reordered_opaque = av_memdup(&c->reordered_opaque, @@ -343,8 +343,9 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) return res; } } - } else if (res >= 0) { - av_packet_unref(pkt); + } else { + av_packet_free(&pkt); + if (res >= 0) return AVERROR(EAGAIN); } } From patchwork Thu Dec 8 14:07:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39656 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp342329pzb; Thu, 8 Dec 2022 06:08:07 -0800 (PST) X-Google-Smtp-Source: AA0mqf7NF8gnWgYxHcML/TfB/6x2ho39lx8HlepiFe/IY4sG0zbnkHXRXpNT4ojnd/6ZvmRm0Gvf X-Received: by 2002:a17:906:405:b0:7c0:affa:866f with SMTP id d5-20020a170906040500b007c0affa866fmr1773007eja.26.1670508487683; Thu, 08 Dec 2022 06:08:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670508487; cv=none; d=google.com; s=arc-20160816; b=J21pkbPzkucvbYJ4O7nLNYmUFHj7rXLuy1LoVlF8ej/4e976zJnEGV4U4rrqe1Y9KQ ZPysosVqoWdxae0gy6JKQuFjp1YKrO9iJJGCJIM9LsXnEFlRvBmBMq3QdVHbc8fkE8K/ WwG84hoB0eW4R0Ir2xHDyTFXv7ML9D+3vEIll4HT24hBeP76dUYPwzbtxdbbuuVj0wqC UiCNpAoNkZ69MJdYpFte26T9r5AMuuGVcdVGORKwadSD0mTITCEmQuKl7U7SKglhnwqE 1UnNYOI9h3HxpjKLT7OecJGgb28zah6XASFrRtwEAR7qEfocU4ZlAMCvKa+mH0CiBFhf pYNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=Eq3RXGvm+BHOYjq+GPb9b7b++mfH2W3jWUSTOkA79h0=; b=I8uwYrgydPeUkYeaL6pe872UbYnrw6qPGP+mQL6OOarJJnylSvSc6B4L6BejFJHx7X zWDLlgiVmPrcvJe9EGloEaWEasODkHZ5/LI6CW8QboQeJYX2xp8tP7M1DvTsttVoExh1 tTg0PK1TCRLffRlbF6YHWXljyvfr9b6FppfmUzKLyYnYwHcgv6hiXZT1ibvIBrlHWK1a sOuUv80Mfj6xKtEFAEwgRsAF5muzfysCXEJCfRfWiIf7UgykgvQqCUxqTVf+GDnaGhK/ rMq+WIRLU+6pyEaXaJU7I1Zah0k3Krn61hTVgoPXWKWS23GhEO9ktyVSo6fvGXE2dZ1o jEBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dB3Txq3R; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nd17-20020a170907629100b00782ff2649a7si18834127ejc.346.2022.12.08.06.08.07; Thu, 08 Dec 2022 06:08:07 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dB3Txq3R; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D195768BA81; Thu, 8 Dec 2022 16:07:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D95DF68BA61 for ; Thu, 8 Dec 2022 16:07:26 +0200 (EET) Received: by mail-oi1-f178.google.com with SMTP id l127so1480419oia.8 for ; Thu, 08 Dec 2022 06:07:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=P/A6Cvp0Krwnc5NOTl+15YOkNQgw8UH/dSwo3FD3LUA=; b=dB3Txq3RxJW+U/dJvEwd527HJMRv3Ox8ATdgS2rRINQYBKAIY0zK0/VLnOtyI7gEas XRDxs8gGMFaIOJy8Lrpx7LgEtRcXfTrcjh0hPjwA3ssCZuW/HkjCYTQAgMaImii4DFnt 826IIe5uA+NXh8T30Z4D97rCVZAVJWY56WOy31iie3OurxuGBkGyTLcIPRN3Fk3awW/v baC4JeUmBTqd5uMA3XSnkt4RbaiC/TTg5XiEGLyVkTj1xw4nqg4PLMW59PRdGAL3uOAH SfAs5iEszMEo6UGO/uDnbeXOxiQ+Q0UNMDR2ApYceGrXKBpuyelBmB0Q0YCdESi/+FTb 4eUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P/A6Cvp0Krwnc5NOTl+15YOkNQgw8UH/dSwo3FD3LUA=; b=Ljmlv7Sig99dEKIHGNJFmkGVExPFoO3pg00ytzERj1mmfIwzZc34qvZryelWtmbeYN E2y+r6SLB1JInK3Rd97/dwSBllebgCHGKF6KB0hfh0ZstM7rPTCOzjhDXlunmTaNJIF0 p4qYAOLe9rJcWBZjpqwTNwO7QdSXTsa1Fb+sy5QPsrc5iopB+VkxEmNzxRVd+7wq3Ac1 PFjgD1Y21NP/FWE0EM/uPrbooqawtxkF18UkJVHqLqQ7et/uTxPoZkPmWOa3eG6SWZn9 klAIg657IFEkGwIJLBU7UuY/hmmptEFxBo0V1p1exC/SytVtJVV/Czq9q2RFBLuqtwzF 0Sxw== X-Gm-Message-State: ANoB5pnMkVn5J1w/q70z5NrNz9K+IOZ45/W6dcS9b6rQlV/0COfhzDxO RXKDzSGPPMTc0ivVaVR/mVOVkxQbICo= X-Received: by 2002:a05:6808:692:b0:35b:7145:2bd5 with SMTP id k18-20020a056808069200b0035b71452bd5mr1017880oig.16.1670508445230; Thu, 08 Dec 2022 06:07:25 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id e29-20020a544f1d000000b0035aa617156bsm10672553oiy.17.2022.12.08.06.07.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 06:07:24 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Dec 2022 11:07:05 -0300 Message-Id: <20221208140706.3086-4-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221208140706.3086-1-jamrial@gmail.com> References: <20221208140706.3086-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] avcodec/libdav1d: set frame props from the reordered packet X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: q3StAthxl0EE Attach the AVPacket instead of only a few values to the corresponding Dav1dData struct and use it to set all output frame props. Signed-off-by: James Almer --- libavcodec/libdav1d.c | 45 +++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index f98f351e49..d9542dd6a0 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -286,8 +286,10 @@ static void libdav1d_data_free(const uint8_t *data, void *opaque) { } static void libdav1d_user_data_free(const uint8_t *data, void *opaque) { + AVPacket *pkt = opaque; av_assert0(data == opaque); - av_free(opaque); + av_free(pkt->opaque); + av_packet_free(&pkt); } static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) @@ -295,13 +297,14 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) Libdav1dContext *dav1d = c->priv_data; Dav1dData *data = &dav1d->data; Dav1dPicture pic = { 0 }, *p = &pic; + AVPacket *pkt; #if FF_DAV1D_VERSION_AT_LEAST(5,1) enum Dav1dEventFlags event_flags = 0; #endif int res; if (!data->sz) { - AVPacket *pkt = av_packet_alloc(); + pkt = av_packet_alloc(); if (!pkt) return AVERROR(ENOMEM); @@ -320,29 +323,28 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) return res; } - data->m.timestamp = pkt->pts; - data->m.offset = pkt->pos; - data->m.duration = pkt->duration; - pkt->buf = NULL; - av_packet_free(&pkt); + pkt->opaque = NULL; if (c->reordered_opaque != AV_NOPTS_VALUE) { - uint8_t *reordered_opaque = av_memdup(&c->reordered_opaque, + pkt->opaque = av_memdup(&c->reordered_opaque, sizeof(c->reordered_opaque)); - if (!reordered_opaque) { + if (!pkt->opaque) { + av_packet_free(&pkt); dav1d_data_unref(data); return AVERROR(ENOMEM); } + } - res = dav1d_data_wrap_user_data(data, reordered_opaque, - libdav1d_user_data_free, reordered_opaque); + res = dav1d_data_wrap_user_data(data, (const uint8_t *)pkt, + libdav1d_user_data_free, pkt); if (res < 0) { - av_free(reordered_opaque); + av_free(pkt->opaque); + av_packet_free(&pkt); dav1d_data_unref(data); return res; } - } + pkt = NULL; } else { av_packet_free(&pkt); if (res >= 0) @@ -411,17 +413,18 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) INT_MAX); ff_set_sar(c, frame->sample_aspect_ratio); - if (p->m.user_data.data) - memcpy(&frame->reordered_opaque, p->m.user_data.data, sizeof(frame->reordered_opaque)); + pkt = (AVPacket *)p->m.user_data.data; + if (pkt->opaque) + memcpy(&frame->reordered_opaque, pkt->opaque, sizeof(frame->reordered_opaque)); else frame->reordered_opaque = AV_NOPTS_VALUE; // match timestamps and packet size - frame->pts = p->m.timestamp; - frame->pkt_dts = p->m.timestamp; - frame->pkt_pos = p->m.offset; - frame->pkt_size = p->m.size; - frame->duration = p->m.duration; + res = ff_decode_frame_props_from_pkt(frame, pkt); + if (res < 0) + goto fail; + + frame->pkt_dts = pkt->pts; frame->key_frame = p->frame_hdr->frame_type == DAV1D_FRAME_TYPE_KEY; switch (p->frame_hdr->frame_type) { @@ -595,7 +598,7 @@ const FFCodec ff_libdav1d_decoder = { .flush = libdav1d_flush, FF_CODEC_RECEIVE_FRAME_CB(libdav1d_receive_frame), .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS, - .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | + .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_SETS_FRAME_PROPS | FF_CODEC_CAP_AUTO_THREADS, .p.priv_class = &libdav1d_class, .p.wrapper_name = "libdav1d", From patchwork Thu Dec 8 14:07:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39657 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp342467pzb; Thu, 8 Dec 2022 06:08:18 -0800 (PST) X-Google-Smtp-Source: AA0mqf77gk6YGmh6v3RUrLSPYwWZe+Xssg773rm3uH33NFiVoJ0SD5AuEGAHm4RDnOFsB1Y5LyfX X-Received: by 2002:a17:906:79d7:b0:7bb:7d69:da90 with SMTP id m23-20020a17090679d700b007bb7d69da90mr1914350ejo.31.1670508498173; Thu, 08 Dec 2022 06:08:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670508498; cv=none; d=google.com; s=arc-20160816; b=vuFY2oRzXRTzOUrn2mV1sDycHDb7llJsWro/aLb+1s3OzHn7GW84gZakWFn7bQ2DDP xb/Bs81E6mUUzO0DsKAzGrUDO4YyG6Zwt/1nAZ6Vtcn14j+tIHlGu1pRTiIj2Vc2mz1d WOxfPeTTfHS1zQI+oTOEq5R2xvszbqreYxDrRo+LNEg2FfJwq1VZrZUfVXLlcX40GK5B 49XcMLAEm7iaOQsxjvR2Y8QeTusNrT1x5fdjLswXhqWAlIvBncARahisa+zHFimKe5T7 AkLxbeK5h6SC37MjG0wTxICieimkZZJ0OSY27v3H1eatoqKeYuU/nIerqfohRMmxRzRI KbXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=Yx6T+NefMYmIVBdKqpMjzY2wXDez60EffB9TrWfrMh8=; b=DWoEZaQz8zVXmEDdgNHPfjOlhTskW+d7Ds/I1ZBRZawRWus2QUJUtb4jiwkisHiePA nGeRlASAg5Y8sogaq++hEKG4WeHMMtvgBTuPduesYDZVu3FFrBz+iuAv4IrusOFb3brJ c5S3+rhy8e+dtXFORh+9dGRyDjYEorkeTuiRS5dJOO++OaUfujMSz1c1TKtO6OY6QiTz W8LK5QXOIYkKhtBaKrWyp3ES0dRVb+GXo5qOyuHbZLii/npwvRB3NoBQ4G6Tkn+75FiO AsY+6Id7S72lW3OTK5JAIg1CoJNmbqmLq1ESv2IMtxcTCcAxmF0QezdbGLX4zO2zFSbg 4SFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dgzs5t6m; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ji16-20020a170907981000b007833c7cf1dcsi17177659ejc.387.2022.12.08.06.08.17; Thu, 08 Dec 2022 06:08:18 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=dgzs5t6m; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E5D4F68BAEE; Thu, 8 Dec 2022 16:07:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2C1CA68BA72 for ; Thu, 8 Dec 2022 16:07:28 +0200 (EET) Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-1445ca00781so1950298fac.1 for ; Thu, 08 Dec 2022 06:07:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=LoxgiWmYDXRb1LNnZDP5SS8LpRgDHaWKHLbhvaQ2tsQ=; b=dgzs5t6mMGDbKoCH+WTCYfUzYB1HbtPzsF8unhcn1kOehvwZUfFvp7ni2R4rVA1Sw2 0Env7TmtaDrRCSbc6UEZGntN0HQUNqChWUyGKtw+1bwILaJ85xfnlH/oqZdnDx4PeJ1q 7NdLIfam7kNfx2SkTxf8jZYMhRujqyCAuSJiaLnAazCERr7IsAKWTPoy/oqCjI7DS7x7 l8wta1CMeHRIYx7pTXIghIpLjHydhqO3pJa41P3VWAq//FjgTa8zNOVLk2C3LNYU5w1k /sTq5Dv/hUAIhnqymbMcWmL2+Mku14y6yHpi4gQsI5q4tK6ukU4o8I5uMnZqy52eiODT 3jbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LoxgiWmYDXRb1LNnZDP5SS8LpRgDHaWKHLbhvaQ2tsQ=; b=6fS986AmNLbI/QdSKOFbV3Ep+kYYP1o5qBsVhCXedu22HRZBc869SrGm9v3IoMgB4c C8KVSOj4eU+0+6dXtzOX3tOUwbB7adZ2o7qzq/GRdmEZ7u/w4h7FlPpphz69hig/eRQy zLNgLTLeZng0m4QoDUx6SEtGlkPEWM0D5bG056cQvi3gfIMuM1ek7dsMW32x6+e3z2PP xH3f9pLVtaodDpIdn7QJsc4aE50hT1Op5r6PQjC5HrRe+OtbA8Y2m0+oRPp6bC6INnly QRnLkg/Qb58gKm3Zg9/UURw7F/jlfFmHqanTQQ3BsGy0ikKtLXlCV5enPVAuEyX/mDB0 rvkw== X-Gm-Message-State: ANoB5pnl9TR308jVPyvgUJo8N42FQW3RxLK/gaZ/XoDz/fMP8CkVXr2c YRQnlLFeCq4tn/1mPMTrQPCSQobXwsk= X-Received: by 2002:a05:6870:41c9:b0:137:3ad9:c0fd with SMTP id z9-20020a05687041c900b001373ad9c0fdmr1210612oac.2.1670508446529; Thu, 08 Dec 2022 06:07:26 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id e29-20020a544f1d000000b0035aa617156bsm10672553oiy.17.2022.12.08.06.07.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 06:07:26 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Dec 2022 11:07:06 -0300 Message-Id: <20221208140706.3086-5-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221208140706.3086-1-jamrial@gmail.com> References: <20221208140706.3086-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] avcodec/libdav1d: reindent after the previous commit X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 79xgDIs7MwOP Signed-off-by: James Almer --- libavcodec/libdav1d.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index d9542dd6a0..2f151d2d1b 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -328,7 +328,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) if (c->reordered_opaque != AV_NOPTS_VALUE) { pkt->opaque = av_memdup(&c->reordered_opaque, - sizeof(c->reordered_opaque)); + sizeof(c->reordered_opaque)); if (!pkt->opaque) { av_packet_free(&pkt); dav1d_data_unref(data); @@ -336,19 +336,19 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) } } - res = dav1d_data_wrap_user_data(data, (const uint8_t *)pkt, - libdav1d_user_data_free, pkt); - if (res < 0) { - av_free(pkt->opaque); - av_packet_free(&pkt); - dav1d_data_unref(data); - return res; - } + res = dav1d_data_wrap_user_data(data, (const uint8_t *)pkt, + libdav1d_user_data_free, pkt); + if (res < 0) { + av_free(pkt->opaque); + av_packet_free(&pkt); + dav1d_data_unref(data); + return res; + } pkt = NULL; } else { av_packet_free(&pkt); if (res >= 0) - return AVERROR(EAGAIN); + return AVERROR(EAGAIN); } }