From patchwork Thu Sep 1 17:17:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Xiao X-Patchwork-Id: 37598 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp426861pzh; Thu, 1 Sep 2022 10:17:34 -0700 (PDT) X-Google-Smtp-Source: AA6agR5ceHrT6sdT+Pz4DAfy/H6KUkgFVO+yoVIDeaEi0oiXc+lwbIYnwgXcRejbfsOt7uiEVO/3 X-Received: by 2002:a17:907:2716:b0:73d:cdf9:b08a with SMTP id w22-20020a170907271600b0073dcdf9b08amr23597127ejk.463.1662052653889; Thu, 01 Sep 2022 10:17:33 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sh11-20020a1709076e8b00b0073da90f1996si9436598ejc.683.2022.09.01.10.17.32; Thu, 01 Sep 2022 10:17:33 -0700 (PDT) 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=@amd.com header.s=selector1 header.b=aJo8kVIQ; arc=fail (body hash mismatch); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1139F68BA94; Thu, 1 Sep 2022 20:17:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2079.outbound.protection.outlook.com [40.107.237.79]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C93F68B83F for ; Thu, 1 Sep 2022 20:17:22 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gpQgll/YROhQ5ilIoR45NlMfd3ZRHMaXUPJ+ZVnDCMbTKeICCzdVy1AvvFUye7gvDwEWt0cnqFo4s549XAWQybWgz5vdUGK6ri9T2nzuqM9Lbw74VrmYsi46uL94lGlRtMeSQtTKnaFAXvryuIGWOgiErp69531lIt5oDdlij/ZEqB0dBbaN/SOau56q+ZOS/7YpIfoc8Va+4LvmCEaEphx2Gq1ablWngxnipCfWOMXWBlzr+5YUjO1DNHcdRFvpoVVV0JpVTcqPZliFVPzvzCYiaufEanvxLZFCD4v37jvjXahkHiJIgp94qsctoyciAqDZEKzrprI9PftOcBwSBg== 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=Cxussp6TOHaLk3EJIOSSa+MvF1QOsmfF5YVLQK0Y2h4=; b=QYAttsECrZZqDz3kiudraa1mt9VDLFJiVWVIYFwxDN+d4GMXoVnGAH2DhzQdZTNyEaHq31O8CHZQuYvU4HPHEPS1HU2nHR9U+eIKr3HLlzQCoV7BKJKMP8v004H3I96qOhNbHC8/QshL4Fl5SLoCyMmW6A7knL5WFXsrvzCsPpBzYHFB5jPJdqkID42Iw4tPbl0z7VpvYZzBJ+tEdnwFtihsqG0Y8dK6ZjeMeUhdrXhC62Mz8hYcriGYyW4LiDjVE195ZBIaW2/Hw+oUVnICZJFVlAqX6D1TRTwAClbsxIWu8E75fZUdRshQo8tLQXLeqKYaiVkB/FbpqH6jn44ztg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=ffmpeg.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Cxussp6TOHaLk3EJIOSSa+MvF1QOsmfF5YVLQK0Y2h4=; b=aJo8kVIQ7B0cUTnBopJrBod+gOoywoKlwp5bztocOHV2RXlturhM7U6QEH1HO9y27hOYj/BZNfecSso7GsjBpFcjhsBGeYy5m5l0qes1HdN6GqRS31uP7nf1OVzmdabDN9XxLmd3VWYLN2lhppl0xh4kpIgIMWXny2IaUKatn3E= Received: from DM6PR12CA0004.namprd12.prod.outlook.com (2603:10b6:5:1c0::17) by BN9PR12MB5148.namprd12.prod.outlook.com (2603:10b6:408:119::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Thu, 1 Sep 2022 17:17:17 +0000 Received: from DM6NAM11FT071.eop-nam11.prod.protection.outlook.com (2603:10b6:5:1c0:cafe::5) by DM6PR12CA0004.outlook.office365.com (2603:10b6:5:1c0::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend Transport; Thu, 1 Sep 2022 17:17:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT071.mail.protection.outlook.com (10.13.173.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5588.10 via Frontend Transport; Thu, 1 Sep 2022 17:17:16 +0000 Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 1 Sep 2022 12:17:16 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 1 Sep 2022 10:17:15 -0700 Received: from MSDN-L10-STEVXI9.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend Transport; Thu, 1 Sep 2022 12:17:15 -0500 From: Steven Xiao To: Date: Thu, 1 Sep 2022 13:17:10 -0400 Message-ID: <20220901171711.597-1-steven.xiao@amd.com> X-Mailer: git-send-email 2.35.1.windows.2 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 33b7722e-dd23-4293-edb2-08da8c3dd1ed X-MS-TrafficTypeDiagnostic: BN9PR12MB5148:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pCmXFzd+v3ZqCpv3vhsfJ3d2Guqb/cdQ9VgVlDOr5bdxItDOzK5Agce/gEdSYCsh8yUw2mz/ybiLoYVfUkvxjc4p+oHepQVja8o2t4nsx2SipokYDaUx2qE9tcyzUBNhGqu6GVV/rLVbMXFPLJFcdCzIU4X0Es+zCIJRcDxrsAO0Du9Oi12Ct6VXF1fCck+Jz4DFkzVxiWz6L0XDP5tGlYkQvTH1Op7UvfMPkXbYaDORvA6m4OS/pxTFwRhxR3eTTLucUl18YwfOEY1qgrX7C/Uh0XYjP5S0hlKzbhSWPWC3Y+fGHG8Of5Ngd8tuy2Mz70jqSN6cNgWRIRZD4FVm3YSM1R1CfM84bV2pzgnnzIeJ7/4ZEXBokMvvsepWQA4IvfCwefX5h83UWmrNT0d/VOFsDeOJoeZElusi4iPJZAc9w5Te3AgepRcJbtWfDFrhDbnmB+lZyl9xyCffZBSDtAqFiH3maWYejICvgXDiPR3ChBcQhx62Qq9imAudv9HGKI5xBC3yk5V8MKe/pFMEhcI2HcGdlUTUKjWw+4va3da4I4cqCDbDjHD1hB2NLzpv3y1QogHre1RS+F7eiQgGIxLTUysKQkud9z8KEs3K26WEucEDeMMb/lXMPXHL7oUl9XBfBM1WnvW47w6BaQA79fFMuskvVPljYsd2js4Dfu3Jk0rJRzMkXHbFUOlZ+BYCwjvmhvrEreYKYCBlbP2Ye6uke+8dSAGq7ZKbqCgBRjgMCPD4AXEOaSDiB3x+qB9yqsrBk+FQkXc4Vr7qH3cfHhfIeiGxXjHEGX2OmsiKQWGZZwuhHEC4eRLS7OmNgror X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230016)(4636009)(346002)(136003)(39860400002)(376002)(396003)(36840700001)(40470700004)(46966006)(47076005)(26005)(1076003)(186003)(2616005)(336012)(44832011)(426003)(8936002)(7696005)(5660300002)(40480700001)(6666004)(41300700001)(36756003)(86362001)(478600001)(36860700001)(83380400001)(81166007)(356005)(316002)(6916009)(82310400005)(82740400003)(40460700003)(2906002)(70586007)(70206006)(4326008)(8676002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2022 17:17:16.8177 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33b7722e-dd23-4293-edb2-08da8c3dd1ed X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT071.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5148 Subject: [FFmpeg-devel] [PATCH 1/2] first submit source code 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: Steven Xiao Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sWZBMy9CzEkV --- ffmpeg/libavcodec/avcodec.h | 8 ++++++++ ffmpeg/libavcodec/codec_par.c | 8 ++++++++ ffmpeg/libavcodec/decode.c | 9 +++++++++ ffmpeg/libavformat/matroskadec.c | 17 +++++++++++++---- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/ffmpeg/libavcodec/avcodec.h b/ffmpeg/libavcodec/avcodec.h index 65c8535..593cd35 100644 --- a/ffmpeg/libavcodec/avcodec.h +++ b/ffmpeg/libavcodec/avcodec.h @@ -585,6 +585,14 @@ typedef struct AVCodecContext { */ int coded_width, coded_height; + /** + * The dimensions of the crop, usually from container. + */ + int crop_top; + int crop_left; + int crop_bottom; + int crop_right; + /** * the number of pictures in a group of pictures, or 0 for intra_only * - encoding: Set by user. diff --git a/ffmpeg/libavcodec/codec_par.c b/ffmpeg/libavcodec/codec_par.c index abda649..f74964a 100644 --- a/ffmpeg/libavcodec/codec_par.c +++ b/ffmpeg/libavcodec/codec_par.c @@ -118,6 +118,10 @@ int avcodec_parameters_from_context(AVCodecParameters *par, par->format = codec->pix_fmt; par->width = codec->width; par->height = codec->height; + par->crop_top = codec->crop_top; + par->crop_left = codec->crop_left; + par->crop_bottom = codec->crop_bottom; + par->crop_right = codec->crop_right; par->field_order = codec->field_order; par->color_range = codec->color_range; par->color_primaries = codec->color_primaries; @@ -199,6 +203,10 @@ int avcodec_parameters_to_context(AVCodecContext *codec, codec->pix_fmt = par->format; codec->width = par->width; codec->height = par->height; + codec->crop_top = par->crop_top; + codec->crop_left = par->crop_left; + codec->crop_bottom = par->crop_bottom; + codec->crop_right = par->crop_right; codec->field_order = par->field_order; codec->color_range = par->color_range; codec->color_primaries = par->color_primaries; diff --git a/ffmpeg/libavcodec/decode.c b/ffmpeg/libavcodec/decode.c index 7537398..f31805c 100644 --- a/ffmpeg/libavcodec/decode.c +++ b/ffmpeg/libavcodec/decode.c @@ -324,6 +324,15 @@ static inline int decode_simple_internal(AVCodecContext *avctx, AVFrame *frame, emms_c(); actual_got_frame = got_frame; + if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) { + if (avctx->crop_top != 0 || avctx->crop_left != 0 || avctx->crop_right != 0 || avctx->crop_bottom != 0){ + frame->crop_top = avctx->crop_top; + frame->crop_left = avctx->crop_left; + frame->crop_right = avctx->crop_right; + frame->crop_bottom = avctx->crop_bottom; + } + } + if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) { if (frame->flags & AV_FRAME_FLAG_DISCARD) got_frame = 0; diff --git a/ffmpeg/libavformat/matroskadec.c b/ffmpeg/libavformat/matroskadec.c index ad7ee39..e41f037 100644 --- a/ffmpeg/libavformat/matroskadec.c +++ b/ffmpeg/libavformat/matroskadec.c @@ -208,6 +208,10 @@ typedef struct MatroskaTrackVideo { uint64_t pixel_width; uint64_t pixel_height; EbmlBin color_space; + uint64_t pixel_cropb; + uint64_t pixel_cropt; + uint64_t pixel_cropl; + uint64_t pixel_cropr; uint64_t display_unit; uint64_t interlaced; uint64_t field_order; @@ -515,10 +519,10 @@ static EbmlSyntax matroska_track_video[] = { { MATROSKA_ID_VIDEOALPHAMODE, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, alpha_mode), { .u = 0 } }, { MATROSKA_ID_VIDEOCOLOR, EBML_NEST, 0, sizeof(MatroskaTrackVideoColor), offsetof(MatroskaTrackVideo, color), { .n = matroska_track_video_color } }, { MATROSKA_ID_VIDEOPROJECTION, EBML_NEST, 0, 0, offsetof(MatroskaTrackVideo, projection), { .n = matroska_track_video_projection } }, - { MATROSKA_ID_VIDEOPIXELCROPB, EBML_NONE }, - { MATROSKA_ID_VIDEOPIXELCROPT, EBML_NONE }, - { MATROSKA_ID_VIDEOPIXELCROPL, EBML_NONE }, - { MATROSKA_ID_VIDEOPIXELCROPR, EBML_NONE }, + { MATROSKA_ID_VIDEOPIXELCROPB, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, pixel_cropb), {.u = 0 } }, + { MATROSKA_ID_VIDEOPIXELCROPT, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, pixel_cropt), {.u = 0 } }, + { MATROSKA_ID_VIDEOPIXELCROPL, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, pixel_cropl), {.u = 0 } }, + { MATROSKA_ID_VIDEOPIXELCROPR, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, pixel_cropr), {.u = 0 } }, { MATROSKA_ID_VIDEODISPLAYUNIT, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, display_unit), { .u= MATROSKA_VIDEO_DISPLAYUNIT_PIXELS } }, { MATROSKA_ID_VIDEOFLAGINTERLACED, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, interlaced), { .u = MATROSKA_VIDEO_INTERLACE_FLAG_UNDETERMINED } }, { MATROSKA_ID_VIDEOFIELDORDER, EBML_UINT, 0, 0, offsetof(MatroskaTrackVideo, field_order), { .u = MATROSKA_VIDEO_FIELDORDER_UNDETERMINED } }, @@ -2877,6 +2881,11 @@ static int matroska_parse_tracks(AVFormatContext *s) st->codecpar->width = track->video.pixel_width; st->codecpar->height = track->video.pixel_height; + st->codecpar->crop_top = track->video.pixel_cropt; + st->codecpar->crop_left = track->video.pixel_cropl; + st->codecpar->crop_bottom= track->video.pixel_cropb; + st->codecpar->crop_right = track->video.pixel_cropr; + if (track->video.interlaced == MATROSKA_VIDEO_INTERLACE_FLAG_INTERLACED) st->codecpar->field_order = mkv_field_order(matroska, track->video.field_order); else if (track->video.interlaced == MATROSKA_VIDEO_INTERLACE_FLAG_PROGRESSIVE) From patchwork Thu Sep 1 17:17:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Xiao X-Patchwork-Id: 37599 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp426985pzh; Thu, 1 Sep 2022 10:17:43 -0700 (PDT) X-Google-Smtp-Source: AA6agR4/GMUPFpJIkhX3gOTg6fbqGWTtvPnn5eurEfmZBHDKavb+tp69LmnqL/KLZ0Oa6ny24Uqt X-Received: by 2002:a05:6402:449a:b0:442:c81c:b938 with SMTP id er26-20020a056402449a00b00442c81cb938mr29758354edb.289.1662052663173; Thu, 01 Sep 2022 10:17:43 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dd13-20020a1709069b8d00b0073c1d6b30fbsi15140955ejc.355.2022.09.01.10.17.42; Thu, 01 Sep 2022 10:17:43 -0700 (PDT) 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=@amd.com header.s=selector1 header.b=CBKnhmSt; arc=fail (body hash mismatch); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D75E68BAB7; Thu, 1 Sep 2022 20:17:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2079.outbound.protection.outlook.com [40.107.243.79]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 54C8B68B83F for ; Thu, 1 Sep 2022 20:17:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AupjTh2H8TXvh1iFMiKzAx4OTP839vvk+VpOh6VIi4UEOlxBGdJNhztK3Ny1576GoN418R4IYMtEHBZAGV5nPxXe6tJE5UGfRI/gb+NPJJ/rFTQ1yiVjRpwVnuttKFemxT2+XYEwr7cIPOAVKX4TJSW9YR+YqyupHuQ+MUB7ZwZeTds3KSixXb4YOkmZRwuK4DLVPZ/N4T7+vJ54rrb2IDz9S3eeY/0rQy2b7y1LWbCTIqDRg/OGWkWfDLPZlliAhPx3ShZf489mgwmEsU3fK+i5fHjRre9e5BJY+1HIFQ7w/hA5dNr7kofLD1vyGwJqEXBEgzsiyVJEr8fSq4R4SQ== 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=/Oje5TmerY3VNW7ET7TfWBB3ov/XhInfDbkH/a+ovo0=; b=KHb11zftLblxYTV2Xr9qL34hi+DBvzg9hWA/tEP+pEkiG+xmIkGzro86ch1E+vNhka0tUpyT6ljHuZaE8hbqr9HMdUxPUDU0LPYw1ay+FwlROBrhWkTQNAFZu1Uv+xC+9NUrTre4nD9KUxeJypOu1oYJRX6gsy+5gmQnXyYs9xTndBZYIQMWOrAXOMda+yyTMmlyHx/IVugWox8MYXF/uNJWLw2KD0FwIrkUra6qBCxuWAQR6bEox4XH5DbVIoeVAT/xtus0DjlYvetuihAKoqizCzAqAjhqbVs+D1FvLxDHW5nMGMI7g+3goCebzBufV7k4xgQIXBft9ZTYFgtU8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=ffmpeg.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/Oje5TmerY3VNW7ET7TfWBB3ov/XhInfDbkH/a+ovo0=; b=CBKnhmSt7aDnB8dVxkRk/j7/4348VwFhUPb1CRLDxYb7jxYE7fQ97ub6K7WoPOoRVMri9mlzPGQyK2tkGDqAthnFIpr8PKrRFpbgk/nFHDuIf+PS/UKUunHV3Jks7BojjuQ50NST4fg0Wpb3+jMx46K4uchS6bnHFIElotEF/Y8= Received: from MW4PR04CA0113.namprd04.prod.outlook.com (2603:10b6:303:83::28) by SA0PR12MB4527.namprd12.prod.outlook.com (2603:10b6:806:73::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Thu, 1 Sep 2022 17:17:26 +0000 Received: from CO1NAM11FT090.eop-nam11.prod.protection.outlook.com (2603:10b6:303:83:cafe::29) by MW4PR04CA0113.outlook.office365.com (2603:10b6:303:83::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend Transport; Thu, 1 Sep 2022 17:17:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1NAM11FT090.mail.protection.outlook.com (10.13.175.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5588.10 via Frontend Transport; Thu, 1 Sep 2022 17:17:25 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 1 Sep 2022 12:17:25 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 1 Sep 2022 12:17:25 -0500 Received: from MSDN-L10-STEVXI9.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.28 via Frontend Transport; Thu, 1 Sep 2022 12:17:25 -0500 From: Steven Xiao To: Date: Thu, 1 Sep 2022 13:17:11 -0400 Message-ID: <20220901171711.597-2-steven.xiao@amd.com> X-Mailer: git-send-email 2.35.1.windows.2 In-Reply-To: <20220901171711.597-1-steven.xiao@amd.com> References: <20220901171711.597-1-steven.xiao@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 937ff9be-68c7-45a8-6c59-08da8c3dd76d X-MS-TrafficTypeDiagnostic: SA0PR12MB4527:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vj2GG4F/SPDYd4cQ3rJLbYqgw1zam/D4GLufjlGx1hrJ6P/ST1jGv+LlStGcpa/x5gKs+KIJjf9UYCElerbeuVoRPDiYH0kHVxWQKPyrZ115LbgOtJxXxYX/0A43KKOaY0km2uScekODNFaAuQpN5E+zG+TyQNj7+diOc8lHFzrKGGijbKK18k0z85/kG/s3nuS5vQCUjosKoxXJmbRPU6zOmxEQFZIJxUGaLaFOd/qmpQsLwiHeelZRkEE8ZqT5eH45AEtF6HNdjj+dHMw42qMeFJwK5akpdW5ELStrJY7X5i5ibtIsG3z70jUR2m4njIeAM7Gz+yYldVdzgPNSlOzbeola7tetT7aqHmbqQb1f3Gq1lY5/69u41icHKa0cFCLu9pK/y0vK0S6sYYaqPmGstTr+vpHE+2qaWK+j/RawIUi2esgAfkTNQm5dW2o4O7l4eNd/RhU205bMgQ5bpUuPk7tb+/JGbIR91wedXcCwlYryCAED1hVqJ232OB9nKP4KBYWQzbyZthgIwOmR2lK+0zGBB0jK0sCzOcNjYJrngd+3I3bgywRXnkWw+xwWORtljo3BPHCAaLO0g9QVMKpuCKzeq7E1KBcthCBNS1HiIzjeV159ph/ut5vrZUnHAjwBlObJee70oeqlzQTObefqqkxQQ9i7fiaM45Xk6zwVumGKDc/H0KohjUbcV63MHR4g6YHb6IrXfu+FdM7PlW5kSMvW9xSTx/7fOnRPA80m7rGeBsKQ/O0t7efP8bZUBzzvBcz1MfrGeJr8gCURNhCVzNQgwk1guo1XjIx+cb0axzJtYeTHg8e/sj7kBbJ5 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB03.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230016)(4636009)(136003)(396003)(39860400002)(346002)(376002)(40470700004)(36840700001)(46966006)(40460700003)(82740400003)(36860700001)(356005)(70206006)(81166007)(70586007)(8676002)(4326008)(6916009)(82310400005)(316002)(2906002)(40480700001)(4744005)(44832011)(8936002)(5660300002)(7696005)(336012)(26005)(426003)(47076005)(1076003)(186003)(2616005)(6666004)(41300700001)(478600001)(86362001)(36756003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2022 17:17:25.9637 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 937ff9be-68c7-45a8-6c59-08da8c3dd76d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT090.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4527 Subject: [FFmpeg-devel] [PATCH 2/2] update codec-par to add crop fields 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: Steven Xiao Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /6jBcfUBKCQg --- ffmpeg/libavcodec/codec_par.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ffmpeg/libavcodec/codec_par.h b/ffmpeg/libavcodec/codec_par.h index 7660791..6671f18 100644 --- a/ffmpeg/libavcodec/codec_par.h +++ b/ffmpeg/libavcodec/codec_par.h @@ -127,6 +127,14 @@ typedef struct AVCodecParameters { int width; int height; + /** + * The dimensions of the crop, usually from container. + */ + int crop_top; + int crop_left; + int crop_bottom; + int crop_right; + /** * Video only. The aspect ratio (width / height) which a single pixel * should have when displayed.