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 4D4A0410CF for ; Fri, 15 Jul 2022 05:09:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2FA1868B98D; Fri, 15 Jul 2022 08:09:10 +0300 (EEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3129D68B72C for ; Fri, 15 Jul 2022 08:09:03 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657861748; x=1689397748; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=QF8Gk0dKVcDKKIaLSLTJ3GrZLqhaCt2gaxPtGbQ74nk=; b=ZGU7xE5uuUPr3tf0+fB637OSQw2pDUw5KB/8cRCSCkl4SE/QfGcgyNuc OP/IkbC5xCjYqQAj7VxYrpLXX6rGjcxOaWzQR0UP5DYFkEh4KNq7LdjCF AcsVSXp7Ex46QlcTY51dmlgZ+YGs9DwmSC2kpGPWxTlESnYWTk3/PBgkQ Tr6vF9qbbjKgj3QC/f5G8B7dYEwXa/i4f3f/qASkmFKWbtRuBCpZTnW70 3X7jodwA1mCBbF9effbzQB56Rckuo95KUDZEjxitKgmdWdIHkHeXN889q geYWdOBMqrmNID2L9Y06liAJ6WKe1bHlu7i+9nw6CgbVaBkjtrbG7l2ct w==; X-IronPort-AV: E=McAfee;i="6400,9594,10408"; a="265491137" X-IronPort-AV: E=Sophos;i="5.92,272,1650956400"; d="scan'208";a="265491137" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2022 22:09:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,272,1650956400"; d="scan'208";a="842387763" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga006.fm.intel.com with ESMTP; 14 Jul 2022 22:09:01 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 14 Jul 2022 22:09:00 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 14 Jul 2022 22:09:00 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.46) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 14 Jul 2022 22:09:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FnfBz+Zsd1I4B8ZSSpNYCS3D1hceaUyOH/6LceF5+08zpNrQWLIth4a/dJl0BANLpU8uBUVYiL0LZX9qOl77UnaHuxL9dgD3PRfbQwPCep7O4ZTruELocuRNFWH3MXIpqubBFt9KoZCAQKB7iVeau27FKgJT9lG6vASoEcQ6DHxda7MNwtVv0Bdu+vC4ygpuRPR5UZbaBPJnXiAIoC0skhgN6aEShqofeRMFGNlshI6OuFOnu7WXjraiEcVM2p5fLjQGR5ZnL+PjPp0ynKw/5ibvp1xjQ2q7eUMZG1OXQIfWJ2xpoN8KHLOM1OH2cEJwn+qKjWW5JmstUttAqIHf4A== 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=QF8Gk0dKVcDKKIaLSLTJ3GrZLqhaCt2gaxPtGbQ74nk=; b=iz8E7qvcUCh5iT8sxNT/bq2XRvw/VEKgiM8eK5WmCeA3dGqZYIBW6gwrHuRAJudo9bfm64KSNgeizEkPUltz36H9HUnvblNpCUIokpbI9oujYRN17Asdl1MjFml2948pVhFx1uwPSmnVysgFd/r55NOuDEsI9wHIp/hh76OpRyaokytqf8bYttgN8vQuOcmpNrJ5em7giOkPwXSHDC6Z/x+c0l6OepjPjVmkGRUtaPlD3waeS9lF7PUOik9Gl2HJV/Y6eSQunt0VqJtbuGtmqpZxmhxpwBz9ttOX0ti51azY/dPH6J8RJlp0Y7Nxr/cmmngVqj1golFIQSHRYzozXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB5030.namprd11.prod.outlook.com (2603:10b6:510:41::5) by BN6PR11MB1956.namprd11.prod.outlook.com (2603:10b6:404:104::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.13; Fri, 15 Jul 2022 05:08:58 +0000 Received: from PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::6d60:80e:2509:55b0]) by PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::6d60:80e:2509:55b0%5]) with mapi id 15.20.5438.013; Fri, 15 Jul 2022 05:08:58 +0000 From: "Wang, Fei W" To: "ffmpeg-devel@ffmpeg.org" , "Xiang, Haihao" Thread-Topic: [FFmpeg-devel] [PATCH v2 2/4] lavc/hevcdec: do not let missing ref frames invovled in dpb process Thread-Index: AQHYf45B9wEawDR/g0moQRy3MYExG619bDQAgAGmqIA= Date: Fri, 15 Jul 2022 05:08:58 +0000 Message-ID: <9ae22840fa6ae0901b71a8605ecf81580c7b9211.camel@intel.com> References: <20220614012302.2808428-1-fei.w.wang@intel.com> <20220614012302.2808428-2-fei.w.wang@intel.com> <92f4c3784b0807dacfc1a1225ac4c5d7cb9316b1.camel@intel.com> In-Reply-To: <92f4c3784b0807dacfc1a1225ac4c5d7cb9316b1.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 831f6b6e-4d11-4a05-b7dc-08da6620200c x-ms-traffictypediagnostic: BN6PR11MB1956:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RFoW2FLs5Grev44M2LuDGzm6JOg+0G3kB/U/5fS+yFv3jE6EgzhAAEn5HWYofhb6M5ez3UtMhFKuV28LCILzGw/oZ36uVPu538d+T3FhU2JorKpqmib9OAYsoqdCdDHG8XNfq5xN101BbRWIT+r5FHDbqrK52ZZOpCwmy5MNDncdLkphBjUtR6Ib8+t3S+9PD5xdJSvWqagO7FAhiZQr/6laP3obom2+/4joFoAe16VkyDg3ToEPiUEyI15mOG1UohB08vWq/Jb7LSE/hut6ZmCMga+TUuFTvEMl6kbhMq148WygJT5gS2D7m/lJwfoULYLgnpphRMQ2To8RhkDtyp0cKg2IvdRP/1bC2TQsNvzHywIlm0XYI+uPM6MvXMvihZBZrv/t6jOLfOOobQQU4Bdjaverm4LQtw6AUSJQb9ae5okz7h7E5ah0TCtmiM9nTOdVkREwq5ExzeZ7TJdzPE6YHhz4UXXSPxmNZzvD1QhTkzhaROyyE0MyAGDs77Z6mLCYLMA3EHLU7GxBnasnkz4ljxcwr2Y/XPGhmkIUZOKiPywbni/7iMp4JOXs6KtwuM76Tb0/ZkTMCAYLAeLiAU5BBqaVeYjORBDQUUkTefrwLu3J0fHG90M7ork0+DSXtKNYUtbMBWvhvsjW61CYWa1Th21nxpcu6ipVZbF9NacmabxMtbb457ugcn3gotU52SkXV1MDvTU3ipIS0d/AHfTMqSkw9BAK+4i/z+jQax7fTDy8Niz53RTP2FFlSpcNKqxVqzc64Tf1BatnHnk4kD6O6jG8D7xjir4C8IuoviExAg/6X02X5AgMzjlf/AGF x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5030.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(376002)(396003)(346002)(136003)(366004)(64756008)(66556008)(4326008)(8676002)(5660300002)(122000001)(66446008)(66476007)(26005)(38100700002)(82960400001)(91956017)(38070700005)(8936002)(2906002)(36756003)(76116006)(2616005)(110136005)(107886003)(316002)(6636002)(83380400001)(86362001)(41300700001)(186003)(6486002)(66946007)(6512007)(6506007)(478600001)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R2FFZmoxa05FL2ExQXM2QWZxbFR0eXJJeWtjZjlzWFJiN1NubjZSNG9IWFBn?= =?utf-8?B?amJJd1BSRFFWbnBOTE9EUnVOdzZUS0dONEprYTJWREZuNjJRRSs3TkJEMyt1?= =?utf-8?B?Z01kZEx1S01OUllsNU04dUd5c1dRTUNkMnpURXc1WjVMQ3dvME9NUlhDNHhG?= =?utf-8?B?YU1mSld2aFlieVYvY2c4OHEvTUdFUVlEMU9YMThIbGttMXM4THZ3dklaN2FJ?= =?utf-8?B?a1ZpeldPUC96dUg1MElaUEo0eVhlbVVqMlFBb0pHQUdVZ1RJamRLd3RNUlBD?= =?utf-8?B?SWttWEYyMW5ndnR1RGdORHd5algrWlo3RUlOQzRZS2lLR0dnVG5DYncrbjFQ?= =?utf-8?B?ZGpxWVI2aDZpNWcwd2c1a2dTQytBZWxPTFJHMnZ4OGZxOUROUHRJRmNiM3Bu?= =?utf-8?B?UDA3RmY3ZFd5OHMreFlRVEYrcm5PMzZWZnVFcXBqUzlhelNVM2Vqa3pxSHBh?= =?utf-8?B?bmxrN2ZuMlZ4N013ZHBWZnpiN1FrNE1iZlZySnBCWG5HOHdWZkh2SnlYeDV6?= =?utf-8?B?dm03ZTlmZ0t1eTFPalR3dXFNMFNsaTFyU0JxRCtoM1RxQmYvRG43VC9Uc2tH?= =?utf-8?B?Tis0cmZYZGhMQjBXQmFpb29hYjBBN09uUGZzR25ZZ1ZPZURIVTdOSnp1a2U4?= =?utf-8?B?VmIzRnR2WTFwQXZ2SGNEUHQ1RERIM3RCQlNlRHowWFVlMForbUJMd3RPeVd1?= =?utf-8?B?VXA3TzY5ZFNKRjg4MjRJeFk5OVpEcXlBdWsrNWFQRi8xanpEYjE0OHBhWEph?= =?utf-8?B?UlMyWktpaTMxZk5QZVJVRXhkTTNvNEJyc2dzcWlrRmpzRHo5Z3phQ2lkcTV0?= =?utf-8?B?SFlWMEsyUU83WHhwVDdRSUNyOHdBMHVNQ0wrUVlTblJCZVg3OHV5SHF0RkZ3?= =?utf-8?B?Ykk2SGRGc1E2VE1PWEZpRkV0WkRwRXFwaDdXSmpvR2Z5YURjWEJ5bWRrb0dH?= =?utf-8?B?RE1kSk85ZHk5dm55L1NqREZPV2lvMm54VTBrWUxxT0dNajd6TFVBUmdoL1E3?= =?utf-8?B?bUt5TGNIWFp5YjJseFlYanh6ZGR4NlJBUDdNek9BdEc3NlhacmxLak5IKzIz?= =?utf-8?B?SjJFa0Q0VUhOb21UajZDSlFkUnZHd3ZqM25FczBQbEdEYThKeXVtcEN1eEU1?= =?utf-8?B?dm5STmxMaTBsRm1NTVlNckYyb0oza3czNXZxTFE4TldJL2JVWXE1NDBmenFn?= =?utf-8?B?NlhqSFA2TkJLUTNhbW9zaGJKTEN1clk4RTdXRTAxKzFsQjRiTTdnVWlaVU1R?= =?utf-8?B?L3ZHbGhZTmdpODBXbXJjZkZ5T054L0F3VnlkWmsrTm9Ib3dZWTdOV04yNkhC?= =?utf-8?B?TlVDSm9LUVYvckRNZ1cvbmV5R0RrVTBXZXovU201RDBoKzN6Tm9CUDBPc3ps?= =?utf-8?B?eGxlUklNZDZOOTh4ZFJpcVdNZGRYdytML2lxOEFTR21URGkrZVlQS1BTbjZn?= =?utf-8?B?Tjc5QUtsdWJVMGsyYTBHdTVLUVd6MlNmNzlaMjhlMnRVaUM3ZGR3bVNUbmMv?= =?utf-8?B?ZXg5cE5ndTRNMXZsclMwWkcxeUVsSlpRMFV6cmdMSFc5VGpLdEN2eHY0SUNr?= =?utf-8?B?SGxRaWVWaWU3bXAvTDBvRVgvcTJGS0V0OGdMSW8vM1QrNGI2TGJqS1JrM21j?= =?utf-8?B?V3p6dXJPTE5FUGpIK3oxRXA5OWttNWZOd3YxN3hMbjRMc1VRQVlVbW9BbXY5?= =?utf-8?B?NnJ0RVV1c3JGMDJJTWdkVHZzRjh4OExaMmdsZ241WE0vMUNwSnFPNXM1c2xB?= =?utf-8?B?UFUrNHFhdE4yWExKS2tVTkZiZTY3eGNjUUdSQ0hjTWM2Z3pTY3ozQ083ZWVQ?= =?utf-8?B?cjVoa2gzRTVXY1MvSW9lU0p0cFRXNFpERlhBTm5HQStPekh2cEtraldXcitM?= =?utf-8?B?cU1WL3UzMXpZZFVBN3ZRSXpWM0NrbkxsWWZ3LzJRTC80TWpoQXN1SXhJQlE4?= =?utf-8?B?M3ExK3ZBT1lpd3J6ODNoSEhuRDN0UXBxN2hYVm4zbFlmamZIVUI1UFpPRWdP?= =?utf-8?B?bFNIU0FhQ1BFRUFiSFlNelpKb1Z2U0RTalNhN1BTbVRTbllncHZtV01EU2xG?= =?utf-8?B?ZzlYSFRPWVpyeFByNldiQnloNEhoTTJrbTIyejlZM3E1aEkyNGZaVnQ2VFdl?= =?utf-8?B?QmpwOUF4WGxCbHNDbWNkTzA3Rk96cHQrYWJjOFJmVkVDZmpkSDdFQXZwdGRS?= =?utf-8?B?SkE9PQ==?= Content-ID: <5F12E8B4869B6547865C0B05E6E95D1D@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5030.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 831f6b6e-4d11-4a05-b7dc-08da6620200c X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2022 05:08:58.8725 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9T6Ji9bUcncLev/wUs9rte0VVFf18enxSsUb953oFwqpGaZO0RJYU3oJIOTamIOydGPjRTLnv4sx5KsxgePu1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1956 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2 2/4] lavc/hevcdec: do not let missing ref frames invovled in dpb process 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 Cc: "Xu, Guangxin" 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: On Thu, 2022-07-14 at 03:56 +0000, Xiang, Haihao wrote: > On Tue, 2022-06-14 at 09:23 +0800, Fei Wang wrote: > > From: Xu Guangxin > > > > We will generate a new frame for a missed reference. The frame can > > only > > be used for reference. We assign an invalid decode sequence to it, > > so > > it will not be involved in any dpb process. > > > > Tested-by: Fei Wang > > Signed-off-by: Xu Guangxin > > --- > > libavcodec/hevc_refs.c | 14 +++++++++++++- > > libavcodec/hevcdec.c | 4 ++-- > > libavcodec/hevcdec.h | 3 +++ > > 3 files changed, 18 insertions(+), 3 deletions(-) > > > > diff --git a/libavcodec/hevc_refs.c b/libavcodec/hevc_refs.c > > index 3f8fe1ef18..89053fd1a2 100644 > > --- a/libavcodec/hevc_refs.c > > +++ b/libavcodec/hevc_refs.c > > @@ -172,6 +172,16 @@ int ff_hevc_set_new_ref(HEVCContext *s, > > AVFrame **frame, > > int poc) > > return 0; > > } > > > > +static void unref_missing_refs(HEVCContext *s) > > +{ > > + for (int i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { > > + HEVCFrame *frame = &s->DPB[i]; > > + if (frame->sequence == HEVC_DECODE_SEQUENCE_INVALID) { > > + ff_hevc_unref_frame(s, frame, ~0); > > + } > > + } > > +} > > + > > int ff_hevc_output_frame(HEVCContext *s, AVFrame *out, int flush) > > { > > if (IS_IRAP(s) && s->no_rasl_output_flag == 1) { > > @@ -418,7 +428,7 @@ static HEVCFrame > > *generate_missing_ref(HEVCContext *s, int > > poc) > > } > > > > frame->poc = poc; > > - frame->sequence = s->seq_decode; > > + frame->sequence = HEVC_DECODE_SEQUENCE_INVALID; > > frame->flags = 0; > > > > if (s->threads_type == FF_THREAD_FRAME) > > @@ -462,6 +472,8 @@ int ff_hevc_frame_rps(HEVCContext *s) > > return 0; > > } > > > > + unref_missing_refs(s); > > + > > /* clear the reference flags on all frames except the current > > one */ > > for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { > > HEVCFrame *frame = &s->DPB[i]; > > diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c > > index f782ea6394..99785aa5d1 100644 > > --- a/libavcodec/hevcdec.c > > +++ b/libavcodec/hevcdec.c > > @@ -569,7 +569,7 @@ static int hls_slice_header(HEVCContext *s) > > } > > > > if ((IS_IDR(s) || IS_BLA(s)) && sh->first_slice_in_pic_flag) { > > - s->seq_decode = (s->seq_decode + 1) & 0xff; > > + s->seq_decode = (s->seq_decode + 1) & > > HEVC_DECODE_SEQUENCE_MASK; > > s->max_ra = INT_MAX; > > if (IS_IDR(s)) > > ff_hevc_clear_refs(s); > > @@ -614,7 +614,7 @@ static int hls_slice_header(HEVCContext *s) > > return pix_fmt; > > s->avctx->pix_fmt = pix_fmt; > > > > - s->seq_decode = (s->seq_decode + 1) & 0xff; > > + s->seq_decode = (s->seq_decode + 1) & > > HEVC_DECODE_SEQUENCE_MASK; > > I see 0xff is used in other places, could you replace it with > HEVC_DECODE_SEQUENCE_MASK too ? Fixed in V3. Thanks Fei > > Thanks > Haihao > > > > s->max_ra = INT_MAX; > > } > > > > diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h > > index de861b88b3..9c8bcefb48 100644 > > --- a/libavcodec/hevcdec.h > > +++ b/libavcodec/hevcdec.h > > @@ -390,6 +390,9 @@ typedef struct DBParams { > > #define HEVC_FRAME_FLAG_LONG_REF (1 << 2) > > #define HEVC_FRAME_FLAG_BUMPING (1 << 3) > > > > +#define HEVC_DECODE_SEQUENCE_MASK 0xff > > +#define HEVC_DECODE_SEQUENCE_INVALID (HEVC_DECODE_SEQUENCE_MASK + > > 1) > > + > > typedef struct HEVCFrame { > > AVFrame *frame; > > AVFrame *frame_grain; _______________________________________________ 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".