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 7B65047559 for ; Mon, 11 Sep 2023 17:57:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 71AF968C96B; Mon, 11 Sep 2023 20:57:46 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2102.outbound.protection.outlook.com [40.92.91.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C76B68C951 for ; Mon, 11 Sep 2023 20:57:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=USw30GdXWO1yyIzk9SOyJp12+eQcUZDxlo1oAsFr0EOqnm5gNHy4ty5w68gqCCoZ2rxt1QpYdpqBwt+m0VyLszcTptZ+s0o8HY2pb0dw0WpyLQGHRGSim00VJVKO6GbfOf5dvy1Tv2P+9Fina3eCGamvXR2y9p3h6e722734bMVE4aEIaj4x5p1xXaODmqNoybSwvIgkxVbR33GFAkIkSrRECeQFZ9Ku9OeSaSHxudEwO06OzzF/AKSE6YPGL0efUwD9byMOmIXCAg6uQ1N2QRl/CI3qUPks7wMQI5fpzICQm+b1vP8AYnLw0fYdR8pYV4RjHEsHN+r7sPaFiDAa2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mioshu4M9TPvK2Bky6CTmDIOK6+KnsfbPhvUPMQzFz8=; b=PAajEJmwNhxta3ZfF8duPFI7DPzwSAw1kVEIFCFgvNKQOgO9khnA07HrB74sMdEjCOgUnOJenlHWDOH3mUfpF5Asw+RJrKFmLQ6C8CR69YM0MEnI9ngfnsqEDin6K01ojnE41d5suuLfvh0muJReYB/Kril9H/2BQTZOpdQVpZeWlUiIkpUxej/RN+3QMUFFF/qxA0DNaR+h6+s8p8yNvLbKFyzloFt9PaR/Pwmzw0MGhJSj4/ztYBhn0N2QSUnixrxSW8vOTjSTsNvajrAMxgMpDewgaSwOfch2vTayugB0Sw0p/Jc1j8E67Kd59/korEAmX9e9jSdNZXcd/L2u5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mioshu4M9TPvK2Bky6CTmDIOK6+KnsfbPhvUPMQzFz8=; b=bW1MRzCPtGZIa7t6R+U7al8sdgcYkf5tlfgyrrLAS+sg+dVrpOHMo24Ss5wsYI9rAP3FSV8ZxBxWST/i8oVqAs/UegevcSAzwF/8wEdGZtsehnUep+Ei1ksarUoPM30BPt7oBOBvwK7nCmtnCUIPdOye0CAhSzodooLubUaYkaZnPwBDwJxN48szTocKyjTZu5eBU+G/TG3c45tv8+U+R6PzuIP7cPBc53Ic8oKhR8KH1mGwQMhV7CVNbOtGWAslQatUjYjeEY2yu5bb+DDlxHCizCxjt62j/Pbvtrybnl83fRx7J0ZVcIpc6PyeVSQc/weijoink9xsGnDFc2oG+g== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0134.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:375::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.35; Mon, 11 Sep 2023 17:57:36 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6768.029; Mon, 11 Sep 2023 17:57:36 +0000 Message-ID: Date: Mon, 11 Sep 2023 19:58:55 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230906174431.45558-1-jamrial@gmail.com> <20230906174431.45558-8-jamrial@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20230906174431.45558-8-jamrial@gmail.com> X-TMN: [bJcro0R5YM51nyvhYnh5hiVvC5QrOhBF] X-ClientProxiedBy: ZR2P278CA0010.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:50::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <6cf448cb-3831-47ae-00f8-313ba533d55c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0134:EE_ X-MS-Office365-Filtering-Correlation-Id: 83b09e7e-a0ad-428c-0c08-08dbb2f094ff X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 65+fyFLQy8mdoY3TLRURXcThQDeIpOYgqd5qNnIMMa+zMrZZTeWjrLF8zewLwKMdbTVY5CxLF6xaqf1TVjdECif4xCWzqAu9q8iVXSy4JlRkpYcf2QKtLX8OK56Hxy+/ZZy5/vkCxHGirc/7Wzl89RDLT/Dt5hT3FnBIFNH/zW2wGY+27wMtg4Ocb8M/tephP1l0mrq5Rway1CLSxeHaE+OSo5kxwhdeU5sdvINP5jJ8HKZQx3FllWRpuW0hMZGYPbl4m4FyUeOFTA7uDdhr+GCKmh9RjZZHsjnAmFDLx2WB114xtGPi7RWTekFPNONU/xFXHmYmCi4XabGnlBZAJLjMPV/H0n4FyLOi4AkGqVGnNq/Bz4YZA9Q7Pz/zOdmD+LwZ40Km4gishMqWoH79USOTMPl6KR1htIUXO/EIt8cm4QEd7Iop7RpwfNCNuLrJLLDwiLpkZwcAzLl2vA616lEWZuXHe+0PI4F7iuq+9yy2NxY91HNJ6iPHXMbOdNLwiLgtC+PGGncpmwg/hqhyiUVCpYynd8Nw/c322oQA+UTcQBZKfO48+eAgQG2HFqcr X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q29kTjZQRWxXL0NyYXI1KzNZMC9JU29RZlpQcjlyMnMvZmdzMUQ3bFNjZ0lW?= =?utf-8?B?ODJFdnJLcUZwcU1RejJXR3ZIKzN5bW1GSEVXV05SWE9nSUk2N044T1daUFR2?= =?utf-8?B?UVhDTmY5Y1loeU1IQTR1c1IzSFFWby93WnZKaG1xRXBCcGJPZXNNZ1ZlbTNQ?= =?utf-8?B?UDAxcVBpQmp6cGFtRHpFMXl5SFhrb291a0dFcm10TXJIQzBKWnEzVE5hbmU1?= =?utf-8?B?LzJsT29oY0R2S1Z2dTR3NjJqbWgwNWpNT21yczNzTS9DQjR2YTVMd2kybXNa?= =?utf-8?B?UDRLMHVCa3ZJWXNHMFhYLzZEUnVDdUQxdFFjUFcrRzIyYkw5S2l5eDhyM3F1?= =?utf-8?B?Q3QrR2FJTGFpd3N3QW9qU3RIa2w1QW8wNHRuSjFFUmhGa1U4dlI3enFRQWN1?= =?utf-8?B?bys2bFBHZFc5cU1QVnB1SzhKa3c0OGVHeFhmN3pJVUp1QndBbjYzN3N4WXZP?= =?utf-8?B?bm5TelNPQTZWaE4wQ3dpMUFpWDlFTVJ5Mys2ZUpSYWRkV2piS3EzYXZoRE43?= =?utf-8?B?cE4rQ3F5a01kTzJWWjcvUysrR29QbW03VktwWk1sUW9aVzh3VjVDTFBKbldG?= =?utf-8?B?YkRjcVVBZk1tb21TdUVGUE5BN3htdkJwUHQyOE0xWm5oRmF2ZGZ5bU9LQWYz?= =?utf-8?B?QktmSjF5WmZkTTRLUVFoWWc2M05jU0hvUkJPOXlpU09xeHkzbjlWb0VmblJC?= =?utf-8?B?ZGhYS0NKWFBXblgvREJYcE5TaXllK2dKOTAzRVNRb1ZDWGFFZjY4bWtqZzkr?= =?utf-8?B?WlBBSFJXRlVHaWRBVlZYNWhua293Z3VRaUpwM0lJQUk3Qi90K0VrL1QxRE5h?= =?utf-8?B?VGVzNG9NNUpZZ1JQVXhnV2gwR1A2Rm5PY3dObDNyeEJVb1oxME91T1hueUp0?= =?utf-8?B?RUNCa3NYU0FYUzYwdGVZRTdZMmNuZGtHSCtLcEtRdS9hZlFXZHlVKzRVSy9H?= =?utf-8?B?K1F6dXNscFV6eGt0ZmNJeW44UFUvRjFBZWxGM0ZhdXk2aGt3OFV4R0Vhb2sz?= =?utf-8?B?UWVTV1NHY1Z0aDM5dFdFUW1Rcm9XSFQwRytNVUNjcWF1anM4YjlXSUhObTgx?= =?utf-8?B?djQrSE1qMFJZMEFrc1N6d1hXc2IwSG1vSW82ajZTTlpkRG9vR1B1T0N5S0d2?= =?utf-8?B?TytlK2gzZXdBMmVrTHZ3UHhkL1Zoa0VZamczK0lyUlpHaVFDdm56RVVIdyt4?= =?utf-8?B?U1FZWUd0aDZaT0dacEgvSWJrMzArNTRESnNJL3pFVVpmVGpQVHRPTEcwQkZL?= =?utf-8?B?NTNnNTVobEc4c3RYWUhWbkpwSjRVQkZscDhUQmdMbHdmZFFxblJLVGpEQVB3?= =?utf-8?B?TjF0ZnVLNzJCOXZCSU4ySWNZc1RpU202alJKcFNUUmdzNlFKTkNidklLV2pF?= =?utf-8?B?VFlVNWNreGxnVS9kM0dTeUgwNzI1QjIxRGMxekg5L3NQS3NmVFNIM0dUZzg2?= =?utf-8?B?WmNZeVV4anhJREFNZ1JFUEZVTkNFMjdrSS9BOTVsRDBIQzIybzhZdUtaN0pZ?= =?utf-8?B?dU5Jc0poWFlFRERlT0QwRnZTRk8yc0ZRc3NGTml3NDllNVN5TjV3RVJTTkdS?= =?utf-8?B?cmgzeEN3d2llNU81RnFzbU1OTk1tOHh2b0sydnBZV0Q0OVNTeDNtQjh6QW1H?= =?utf-8?B?N2k5NW5XNXdrM1V4bXFibTZuNjhVVTlOZzJKKzVodEJMV05xOERHNVpiMmxF?= =?utf-8?Q?t3n5LGsVCZEG2rwS8zC8?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83b09e7e-a0ad-428c-0c08-08dbb2f094ff X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2023 17:57:36.6836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0134 Subject: Re: [FFmpeg-devel] [PATCH 07/10] avcodec/hevcdec: check for DOVI configuration record 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: James Almer: > Signed-off-by: James Almer > --- > libavcodec/avcodec.h | 2 +- > libavcodec/hevcdec.c | 15 ++++++++++++++- > libavcodec/internal.h | 3 +++ > libavcodec/utils.c | 10 ++++++++++ > 4 files changed, 28 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > index 1f477209b0..b875076ba5 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -1893,7 +1893,7 @@ typedef struct AVCodecContext { > /** > * Additional data associated with the entire coded stream. > * > - * - decoding: unused > + * - decoding: set by user > * - encoding: may be set by libavcodec after avcodec_open2(). > */ > AVPacketSideData *coded_side_data; > diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c > index df40c91ba6..162b832800 100644 > --- a/libavcodec/hevcdec.c > +++ b/libavcodec/hevcdec.c > @@ -3337,8 +3337,15 @@ static int hevc_decode_frame(AVCodecContext *avctx, AVFrame *rframe, > } > > sd = av_packet_get_side_data(avpkt, AV_PKT_DATA_DOVI_CONF, &sd_size); > - if (sd && sd_size > 0) > + if (sd && sd_size > 0) { > + int old = s->dovi_ctx.dv_profile; > + > ff_dovi_update_cfg(&s->dovi_ctx, (AVDOVIDecoderConfigurationRecord *) sd); > + if (old) > + av_log(avctx, AV_LOG_DEBUG, > + "New DOVI configuration record from input packet (profile %d -> %u).\n", > + old, s->dovi_ctx.dv_profile); > + } > > s->ref = NULL; > ret = decode_nal_units(s, avpkt->data, avpkt->size); > @@ -3641,12 +3648,18 @@ static av_cold int hevc_decode_init(AVCodecContext *avctx) > atomic_init(&s->wpp_err, 0); > > if (!avctx->internal->is_copy) { > + const AVPacketSideData *sd; > + > if (avctx->extradata_size > 0 && avctx->extradata) { > ret = hevc_decode_extradata(s, avctx->extradata, avctx->extradata_size, 1); > if (ret < 0) { > return ret; > } > } > + > + sd = ff_get_coded_side_data(avctx, AV_PKT_DATA_DOVI_CONF); > + if (sd && sd->size > 0) > + ff_dovi_update_cfg(&s->dovi_ctx, (AVDOVIDecoderConfigurationRecord *) sd->data); > } > > return 0; > diff --git a/libavcodec/internal.h b/libavcodec/internal.h > index 83e0bc3fb2..517d96fb97 100644 > --- a/libavcodec/internal.h > +++ b/libavcodec/internal.h > @@ -202,4 +202,7 @@ int ff_alloc_timecode_sei(const AVFrame *frame, AVRational rate, size_t prefix_l > */ > int64_t ff_guess_coded_bitrate(AVCodecContext *avctx); > > +AVPacketSideData *ff_get_coded_side_data(const AVCodecContext *avctx, > + enum AVPacketSideDataType type); Why is this not in decode.h? An encoder has little reason to inquire whether side data exists (given that if it exists, it has added it). > + > #endif /* AVCODEC_INTERNAL_H */ > diff --git a/libavcodec/utils.c b/libavcodec/utils.c > index d54e050848..4fbd591bf1 100644 > --- a/libavcodec/utils.c > +++ b/libavcodec/utils.c > @@ -1111,3 +1111,13 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx) > > return bitrate; > } > + > +AVPacketSideData *ff_get_coded_side_data(const AVCodecContext *avctx, > + enum AVPacketSideDataType type) > +{ > + for (int i = 0; i < avctx->nb_coded_side_data; i++) > + if (avctx->coded_side_data[i].type == type) > + return &avctx->coded_side_data[i]; > + > + return NULL; > +} _______________________________________________ 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".