From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 68535456A0 for ; Mon, 20 Mar 2023 22:08:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9BD7268C563; Tue, 21 Mar 2023 00:08:10 +0200 (EET) 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 198B468C518 for ; Tue, 21 Mar 2023 00:08:04 +0200 (EET) Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-17aa62d0a4aso14543721fac.4 for ; Mon, 20 Mar 2023 15:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679350082; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=YyeK5oMaCMrzdjPzTjbp8r0HBeB4m67j9BOZYqQXJYg=; b=M2KQPcPDqYx8IHiP5HDdN8Hh+uhf1e9KhUUO6v7LhOvpcCZZZNfmetPWxpn3IxczA4 JOQ9KiNdkJFl6e+2mOR2BvpAgbBGS0jl15XplaOp+X6DX0eWFwlrSpvkjZAgmNeLy68z qfmoUEvcAnz3lpn5jvQ8i5AP5oLwLimvVtMqd8q6Id3YgPMbKFCY4m4bdP1WPTouhMxM D8I2AEeCQqn4VuxSo2sxtJr+mSkiWzcrq849I4C6NwMlmQT9FussVOHuhqdwmzXVE5Ze dfKYD1tbFYPvJP/jdhrXZ/8mhOy/+9n2SUwlGs+mAVb0B71YkI1Ls6dbTNHnwV37QHKt ePkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679350082; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YyeK5oMaCMrzdjPzTjbp8r0HBeB4m67j9BOZYqQXJYg=; b=ouvw0kZVJondnQryMPofV2S/VsH2Kq0WspWkchODa6OWcm33FFLaNnVoioAH+0rGvG 9jeU2h4HnWJGKGXwgcrTwYRyFH+atQ/0OTPa6kL5awJ4TnGEFYYpDttstcbQPAN8qmh0 r3uBEyqVv4GJOyRpHs4D0n/5s/taU3CM0qAsfV6zdQrzpBupNJVYhUV6ffINj+2wKgsV LCjG9QqS2odNsfyrUX3qQF9Nvppr4WNE5kwRV7wB1MIpnYvIsPkZpi6VkUtuWErI05LY N0zJ1vYr7hpXJn+QafvaV1CIqeao13S5WsGnlMl/fr8CZ4alWJEX66fVwePShibZZNkZ nPyg== X-Gm-Message-State: AO0yUKVMUd2qYGg3m2mt4R5urX39FZVmLjsWGpu2VID9L/BvMfaOlac0 eed7BHg5MxVDZVZH2NadkgYd4+lgJUU= X-Google-Smtp-Source: AK7set8nWhcRwyt1DXVkiUEYrleQSjaJ5j8fwDH8NO1PYR1XiQ3mudfuizV1uwaQSO7VdjG9Mn8TeQ== X-Received: by 2002:a05:6870:4687:b0:177:c383:faec with SMTP id a7-20020a056870468700b00177c383faecmr5431639oap.21.1679350082160; Mon, 20 Mar 2023 15:08:02 -0700 (PDT) Received: from [192.168.0.14] (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id b4-20020a056871030400b001762ce27f9asm3694741oag.23.2023.03.20.15.08.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Mar 2023 15:08:01 -0700 (PDT) Message-ID: Date: Mon, 20 Mar 2023 19:07:59 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 To: ffmpeg-devel@ffmpeg.org References: <20230319194240.15001-1-michael@niedermayer.cc> Content-Language: en-US From: James Almer In-Reply-To: <20230319194240.15001-1-michael@niedermayer.cc> Subject: Re: [FFmpeg-devel] [PATCH v2 1/3] avcodec/snowenc: AV_CODEC_CAP_ENCODER_RECON_FRAME support 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 3/19/2023 4:42 PM, Michael Niedermayer wrote: > Signed-off-by: Michael Niedermayer > --- > libavcodec/snowenc.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c > index 658684c575..5fb5906ed8 100644 > --- a/libavcodec/snowenc.c > +++ b/libavcodec/snowenc.c > @@ -26,6 +26,7 @@ > #include "avcodec.h" > #include "codec_internal.h" > #include "encode.h" > +#include "internal.h" //For AVCodecInternal.recon_frame > #include "me_cmp.h" > #include "packet_internal.h" > #include "snow_dwt.h" > @@ -1576,6 +1577,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, > { > SnowContext *s = avctx->priv_data; > RangeCoder * const c= &s->c; > + AVCodecInternal *avci = avctx->internal; > AVFrame *pic; > const int width= s->avctx->width; > const int height= s->avctx->height; > @@ -1877,6 +1879,10 @@ redo_frame: > s->encoding_error, > (s->avctx->flags&AV_CODEC_FLAG_PSNR) ? SNOW_MAX_PLANES : 0, > s->current_picture->pict_type); > + if (s->avctx->flags & AV_CODEC_FLAG_RECON_FRAME) { > + av_frame_unref(avci->recon_frame); > + av_frame_ref(avci->recon_frame, s->current_picture); > + } > > pkt->size = ff_rac_terminate(c, 0); > if (s->current_picture->key_frame) > @@ -1934,7 +1940,9 @@ const FFCodec ff_snow_encoder = { > CODEC_LONG_NAME("Snow"), > .p.type = AVMEDIA_TYPE_VIDEO, > .p.id = AV_CODEC_ID_SNOW, > - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, > + .p.capabilities = AV_CODEC_CAP_DR1 | > + AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE | > + AV_CODEC_CAP_ENCODER_RECON_FRAME, > .priv_data_size = sizeof(SnowContext), > .init = encode_init, > FF_CODEC_ENCODE_CB(encode_frame), Testing with the tool from https://git.khirnov.net/libav.git/commit/?h=recon&id=d78e17840347abfe10b2bc7e789c60665de56e1f (Which i hope will be upstreamed eventually) i get $ tools/enc_recon_frame_test input.y4m snow flags=+bitexact 10 Checksum mismatch in frame ts=0, plane 0 I don't know if this really matters for snow (is it mean to be bitexact?), but it seems the very first frame returned by the reconstructed frame API is not the same as the one output by the snow decoder. The rest seem to match, though. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".