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 88B8F47BAF for ; Tue, 3 Oct 2023 18:46:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1F5268CA72; Tue, 3 Oct 2023 21:46:09 +0300 (EEST) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2755368CA72 for ; Tue, 3 Oct 2023 21:46:03 +0300 (EEST) Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-2788993edaaso871531a91.0 for ; Tue, 03 Oct 2023 11:46:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696358761; x=1696963561; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=wSo7tdOa8KJqgNMHLjIkBp7D7imk/DV5UBVC7MATAxc=; b=LBEFLlAGUBSvp9aMOw5yidRrb/NZQ4YZqDZJ4/VHNgg1qhz4s63DTmH0SYrZowFM37 IbLe2/H3RzdUkfQpapHEBWMqDmTDbL2IV1L2C6OyWrRkwjJBwQP55VTYMKLzxhRNBzPe FmZfBpkQL53Qa8lq8y+S0i0AGWfA32LY5AI3gxLDFfFQBPOdJ/Upd+I3SHmto0/T/RIr Ijh21AFhHhd7lF5QGqZ+Yrj0wO9XKiFQ+h+Uit08AO8KW+hGjtxIhq3HE/E9ljti0/As 4Hl+hrAwywH5PQiDpG9owcUR9Vd4yWdUDCO2mVlih1unMTiMHvIInzPbNCPkebkMnCHT tixg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696358761; x=1696963561; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wSo7tdOa8KJqgNMHLjIkBp7D7imk/DV5UBVC7MATAxc=; b=YSXob2BOyN/RtivylrSXAoteCPRqjOGkqF2RZNht68tjVfo1Gb62B7DWliTEFvIZPC clElRheLreXCv6utmnLLpbHctULa7z2wK3wtNencIH7tHN1zkvY1vQ8rNYhMcBkkoCJb GTJcCMAWZeDLTWpY7Vj5eQ4VqqcgMedcUKnyjCMWJsB5odf/+4vDg7L7sGzTpbfIp26T psi3tXcYLzSMm5IKM5kQNWqAYT6EU2CjxvDPWtegzUwJ3Qtw9qoFev/EgdraoirDFNX3 6sIyqOhfYCbSwwnCFABrW20cXD2JvzIFd0eg1KP9QdESynGxUtDq3YHK3j3XhkkTZDkS I/GQ== X-Gm-Message-State: AOJu0Yz4PwNAgv/wnqalEF6GPmaJigrXCsN2440ItziES1LMNNG2oYI5 kcgYdONLujmPmmuQGvBDxys4w276o2Q= X-Google-Smtp-Source: AGHT+IFsDWN4mm7bSxNGxzJTC+R7rMbTHzccOlxe/7Bxj0BrqRbO7/c6n6oA/a3L7ASHGmMJDKcUgA== X-Received: by 2002:a17:90a:4f04:b0:274:77df:50d1 with SMTP id p4-20020a17090a4f0400b0027477df50d1mr209988pjh.21.1696358760763; Tue, 03 Oct 2023 11:46:00 -0700 (PDT) Received: from [192.168.0.10] (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id a15-20020a17090a70cf00b00276bde3b8cesm8429506pjm.15.2023.10.03.11.45.59 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Oct 2023 11:46:00 -0700 (PDT) Message-ID: <8144112d-046f-46a8-9ee2-dbc26cdb6edf@gmail.com> Date: Tue, 3 Oct 2023 15:46:10 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230927131242.1950-1-jamrial@gmail.com> <20230927131242.1950-10-jamrial@gmail.com> <169633649730.6638.7006599604326857996@lain.khirnov.net> From: James Almer Autocrypt: addr=jamrial@gmail.com; keydata= xsBNBFjZtqABCADLW+vdEoZaJZDsIO6geYFTOcn1unsEHefj9zn+3oTHlDFFzO47mzHsSfbK 9JE2xpOJEVnC8FAF5Sayi/pVwV+mtQUV3n5dgVeVBYF9GUQwOGFCpK8X54RRqhkgknbunOEE 0CtgAJgmpFmmmHgq02GvEspx1h/rh4apqwQR6QX4Favb+x9+i9ytVpwVcBX94vo2toyP7h/K BWfadQmb8ltgE1kshfg+SQs/H5bTV5Z1DuEASf02ZL/1qYB/sdTgWPLv9XMUHHsRFmMY8TMx wJSkP+Af3AiYQPJYz1B1D4tt98T/NoiVdin10zATakPjV8hXaobuRmxgakkUASXudydDABEB AAHNH0phbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT7CwJIEEwEIADwCGwMGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAFiEEd1EujP2UoWlX5pp6FGMBrXN2WeAFAmJoLUUCGQEACgkQ FGMBrXN2WeAFVQf9GtGhniRs1PzNUOgJktCnv6j4BbLieaIPYPEFXKDHOgjqQE2zVMYXnoXl Jam928ii902a8OY06r9ywn/R8ApD1/3NY/v64O71CY9scz5XyH2au8wIZ6HwFy3/f7sqjdGD uctY8Qs7rjT7NkoC5lmgMu2v2k03dGtM9AAf5AK5gU+H0EUw7vmKKiXzUqt5kvBuf4CEwXvH AQT1SMJ52rIlDWB7FQFyZeUbOAK2IgY/KNedfK6nsgd/eQVnlofPd2XoddE7kP6iys7jJefw DD3g3rZyDTq7in5dyk5glaNpWZpbHGBs+9SCYLnfQ8XvWqPFOD+gj0plamKANgOvavKTxM7A TQRY2bagAQgA69YtILj8kYxmqPr/M8+MXT7wVoOWVW9lvSmPquCELaDy/NIS7D06VC5EuE/6 JlJXZMTn37NLlyWhzwOgXuXw5w2tyoQQBuvqGiXJijuXwXH7HKdzrc6rpYtAqt5w05hzNrFS KrS0izG64VpWrfproy3BsL+8TBm9brLhhNPynVRqVukbbGzlATTzNQGZ14TTi2/dL6DkMQnM qn4jX9UEe4GdGQBP50bUJSSmeiIkyNLWA+znuN2PZEz930ZwNrF9GtDVw7mzcmpCZ7spldE2 tutbpy9D1bIqxyqBrYDSezyzL2adR1qgHyOTMCHg2AYNkrIQHrSyJxKTpZ1/hqOp8wARAQAB wsBfBBgBAgAJBQJY2bagAhsMAAoJEBRjAa1zdlnghekH/0Yb0iYJ74oID2f/Fj+AJKS2ekQF P2xOr8lpGzgp/+yWUvPtqbX0A33anBJdYwxaAC0NataX3tfZ+oJkzXqfmqhIHMPYHdZesJA2 Bk9hU/33mDl5s5U66/z0uelWzwKVHoQ2O6or4+qF3HJFSJLCe9uvWJ3zXf9F342Ftj73sfx+ 3xkw/IXsN1RqbYqDlzpoEQ99SIEfY/8Jjwnd3sIPfqkuyeaYfe6GJDqKawdCEP1oRRlbXEAp TJgYz8r3nPhGv9cdHNDCk44ISbsqVuxIEnLqi4fTPZaGupiQhT+srl268TTAp2TQW7+6Ce/b NPQorMquzS/LZoyALpmsYi/miMc= In-Reply-To: <169633649730.6638.7006599604326857996@lain.khirnov.net> Subject: Re: [FFmpeg-devel] [PATCH 09/11] avcodec/decode: check for global side data in AVCodecContext side data 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 10/3/2023 9:34 AM, Anton Khirnov wrote: > Quoting James Almer (2023-09-27 15:12:40) >> avcodec/decode: check for global side data in AVCodecContext side data > > I don't think this makes it clear what this commit actually does. > Make it something like 'propagate global side data to frames'. > >> Signed-off-by: James Almer >> --- >> libavcodec/decode.c | 48 +++++++++++++++++++++++++++++++++++++-------- >> 1 file changed, 40 insertions(+), 8 deletions(-) >> >> diff --git a/libavcodec/decode.c b/libavcodec/decode.c >> index a7196b5740..3b4bb70689 100644 >> --- a/libavcodec/decode.c >> +++ b/libavcodec/decode.c >> @@ -1422,6 +1422,20 @@ static int add_metadata_from_side_data(const AVPacket *avpkt, AVFrame *frame) >> return av_packet_unpack_dictionary(side_metadata, size, frame_md); >> } >> >> +static const struct { >> + enum AVPacketSideDataType packet; >> + enum AVFrameSideDataType frame; >> +} sd_global_map[] = { >> + { AV_PKT_DATA_REPLAYGAIN , AV_FRAME_DATA_REPLAYGAIN }, >> + { AV_PKT_DATA_SPHERICAL, AV_FRAME_DATA_SPHERICAL }, >> + { AV_PKT_DATA_STEREO3D, AV_FRAME_DATA_STEREO3D }, >> + { AV_PKT_DATA_AUDIO_SERVICE_TYPE, AV_FRAME_DATA_AUDIO_SERVICE_TYPE }, >> + { AV_PKT_DATA_MASTERING_DISPLAY_METADATA, AV_FRAME_DATA_MASTERING_DISPLAY_METADATA }, >> + { AV_PKT_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL }, >> + { AV_PKT_DATA_ICC_PROFILE, AV_FRAME_DATA_ICC_PROFILE }, >> + { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, >> +}; >> + >> int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx, >> AVFrame *frame, const AVPacket *pkt) >> { >> @@ -1429,18 +1443,10 @@ int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx, >> enum AVPacketSideDataType packet; >> enum AVFrameSideDataType frame; >> } sd[] = { >> - { AV_PKT_DATA_REPLAYGAIN , AV_FRAME_DATA_REPLAYGAIN }, >> { AV_PKT_DATA_DISPLAYMATRIX, AV_FRAME_DATA_DISPLAYMATRIX }, > > Why are you leaving displaymatrix out? See the code patch 10/11 removes. Display matrix in global side data is apparently not meant to be propagated to frames. If i move this line to the global map, a couple tests change their output due to new side data in frames. If you want that to happen (After all, the CLI is not the only library user), I'd rather remove the skipping code in the CLI first, with the relevant test refs changes, so this patch is not the one to change them. > > Also, what happens if the same side data is present at both global and > packet level? Won't you get two instances in the frame? > I think the correct behaviour would be that packet overrides global. I'm keeping the behavior from before this set intact with this at Andreas' request. In a previous iteration i ensured packet side data would replace global side data in the output frames, but Andreas asked me to not do that, as a decoder could add that same side data type and it should have priority over container level side data (All entries will be added to the frame anyway). _______________________________________________ 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".