From patchwork Thu Feb 3 01:06:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34082 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp2043290iov; Wed, 2 Feb 2022 17:07:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJyR/Cm18SrxM4EkwjkO473ePx3qHBzwxHvZ5D2Hq2Wp5goWlPH9YzPVZfG89OTxCdYrq6Gr X-Received: by 2002:a05:6402:1395:: with SMTP id b21mr32891825edv.305.1643850436274; Wed, 02 Feb 2022 17:07:16 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hb32si11800450ejc.467.2022.02.02.17.07.16; Wed, 02 Feb 2022 17:07:16 -0800 (PST) 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=@outlook.com header.s=selector1 header.b=DtkEKAWO; 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=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6F8B668B116; Thu, 3 Feb 2022 03:06:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074078.outbound.protection.outlook.com [40.92.74.78]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B336F68AEC7 for ; Thu, 3 Feb 2022 03:06:52 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=btTjCDaqb0tGo2P8rf9F9cyghdwQiIRGjEgsEX2mGbzF2Nswdu/D6zEvCaWh5yc8zhGXV2CyCW658eO1T2V/BYYg7ppvSP7M9GyrfaP1jq9l0UPQFhsm3dawHMI7bw+elLTf4z0/lEJgqvWaoQq8nLoYqkBwVra3x4b+rPa1q1bAxi19GrZAm7MtbZ3YHU4vergOggOyCp6oyD0Vq+lK1ZmLl8DPoMUqEdLGFi9rzn7RfR85HRgOi00256QGQd/xCuFDmjqYulbd5SUaORfaxhoCzeN9mLga26J1mwlCO5N3108ID/t/zMQsW4qMjecB5xgUF9Dh6JXHoVDxHEUB/Q== 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=1uA96x3tkHqlp5ZHRBHFCEixUOM/5YTqBqMiRQ76VtA=; b=e2gsQ5g1l4hDE+O/D1Ci5ThJZ711P53RZiqdQUSURJbB9cQasvgbb/I1qjgvK1QgTzWOjKREaPHpXxwmz4FjNsLEmU/qpLzm6zQ5EGpgqRLHIA5YRhm4oJkJIN0V2O4bcozXmIu9ih7KGXhRJB+2wb9EfJ4sleYUrSv1ondKy6WiEi2F+hD4HenNuZLSXAn5Lb0mDtFswg7pWTrObK70PJsUVhqwbrHhK2gWXsRcdQ2X6wxbSJeZ+hiwMhy2elecYEtQegIjSF/THYPhMRuArbHn1bdqjEaKmNm6gvhaGiT/txX52KG5WX22Od8fCVcVAFbJDRs8LMK1G4jnOg43oQ== 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=1uA96x3tkHqlp5ZHRBHFCEixUOM/5YTqBqMiRQ76VtA=; b=DtkEKAWO1bC22BiUDmrrTXAv1Kpdkn3dok7PLeAfUyOaSqRXT9UPc6fbnpRmi41NGEl6LESNKmCzxmORDpuj9E8RvJ2G/T4ATLFeCGzVt5vSH8oamotz+1oZ//bKjb+KFYYTQznAxDwW+VKNu0W2Htltc8C97FcOeT5Gcclk0b+cJ+iVKXEV1dFt7EMK4tqXaJe+2IF35j5JWCQ+XLC1fzMklnVU5Q0hCkXmftKchQtdl6yu4IQ3hy91pnFYV2Zxcr5wWpL97TICAW0vZ+VQWqGGzZROShIFLi8D7OWdWQr00M7Pw5LkSAA06NJDBLeU2Ry9Gl58pB/GJ9gifw+pfw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR0302MB3203.eurprd03.prod.outlook.com (2603:10a6:208:11::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Thu, 3 Feb 2022 01:06:43 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4951.011; Thu, 3 Feb 2022 01:06:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Feb 2022 02:06:26 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [5UdhADEIIT6EdgfvNiUg5W3AoIUe/Syu] X-ClientProxiedBy: AS8PR04CA0125.eurprd04.prod.outlook.com (2603:10a6:20b:127::10) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220203010631.1929837-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e862b7a5-d203-47c8-bd61-08d9e6b170f6 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEs6bi2B2Md8122fePlSqn4e0AppNUzC/imJ8aiRvLq1amk79hBsKAur7ZJpx4A5kbLxUvWOnPqr1D2p8qbaI6ea93zfrrSfQ/T09mPlCLFAgOANNnTnOcWqhGk3VxnDABvb8P4/AY+Ghhv5AAOJhvmZPXaxaM9OoVahaAmzEq4HhDCcS2nhcqhCsD9KY649Jg96dyky374jL1E1vm/713qt2xXwKmrqztEweoVuFW8M9dx+FoXPOUm3zZuWhXB1r2MtLZ2B6Mbz3uyxL7bqFesRqjlQ62IvwAaR4qPaSbXZs0kfh69NTSArp+GNqdfBXbJnWkSV8H4SESyzES+Kuop/hvrURmWGqmzbNP6etWft0AtEQH1Is71LLib6r0mYUMOVImviGLgdS/qDyf2JgqQrGygPRH3Rtacl0cAAgZumTR2QDosiQdM2yy+T4pfMOGQK/i6Nx17eyQrYCoknb6mex4cE1dvkSzqSP569Arp21YgYsZcgl9selZKbXFHpfa+c/Im6Tu+q13Erc5CkzWbXO4AvF2eljx3ZdMfrircTMFkXGdbkZuGYdq+PazHp4WZgwTgZT4oq2E1i/T/WcOIOwCcrMR/dti4lGWSBBsddYWMz3N47ujmJSyDYaOqpfNoFARpp6te6QKqiIR1R2wWK6L/MeQcQHDhK9mfKaSsoj5yFkyp9OOiyIN2NtfNcsHwJ3P4a1XPnVnQ/ytYWZEUPUavmN83FU0lgOHPlR3b69Se//ypl0uRFn3gWiei5cJBJEysL7Wt4+sDUZgTBYDMw X-MS-TrafficTypeDiagnostic: AM0PR0302MB3203:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MwM1SuG0GVaSXq4uedLTOxSfww2zi34TlDMSkWdmKrOeKfecup9p8ZCoeO81HNbkHb+M5vWLBZG1wxwS7M69T3ZpAB+UMfrOd2I6ISUTrLxjc8/JL8KHCPUbRZFg5Um8fWYTt/eBob6nDOyODI2HEvP7KXRWxomFBRlS20bmlIJvUW4vLqgKS9CFqJF72G6cT2+4xOu8jL3f0NOFyKnB6qWgqM0jdwor72T2jc3EwR5IaQwucd8lqIETQQp9HgTpJI20kW18tgi6sm4Gm4JNLFAo/Pa5J9+MOotWOxRo0ehUQlroSon7IVoC/i/yG7zbz433mt8eV1i2YYvme7MTs3N/Fd8pDjBEAZIMYPdEGLEFam3ynH8+DTpozC7j8Gh0MtH9nMF3lFteqBmDsW7miTy+/xo59QJiLU6U1hPa/K1khTEMc7wKvNk7go6tdqndtJ28o44OTSLYGeaAOpEgf4faQeoNuDJ7it+wfMKGwc3+NDz0hTz1WXlYWOErnjKYs6GsAAzqDlRjN20iAGxy+zIGpz5bm3zw7IRdkjJn5EMSHtcWgObbC2KOUueFztqA0zYhxeGISr8JiJd6fvrviA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f4G/JR7dOT0uz1X8ag+TX/1AtrdJrosnm9v5AT6y1m6+iZQPl3GcADq6eAlTFYaLSRmc0qc98am+JHE+v5WnN68TVJLIZW51QpcW/Geuz7XbPZCJJjseMa3ZN90KnUlJTBYygGaAlmtSh2OjNiS0ZChnbQYg60U5PZG/3YvSkOGLNfyAF1xy3SKsyVypM15k14z5CS/6FDHz8VMqExYw/C6o3U0LN1X3dz13ffE7ahO1bePw3eY5id/ZpsCWpgT/j6raeWfZNlMTrVMlTdT5cddflhft/9zTF0hE6uow1eqm8v565nnblUx8+Kwx9HY8dPct42VCaJV1MZi79YjySZjtHGKWdGFEf0MVB4l9CSPnBGiwWWIhOKCQK3L5jlX/5Fk/RL1qxC8VaLSrFHtK1YVLRjiAE3dHQ8V3UITQsnHQSgHqDvp/8rWjZ883nWFgFvYe3e9JLGwlcvPmdBwgETgJK75m5sV2Vlsi+YNFQFCkHefGux6CRcTcfNDjKuj1gTW8CuYdHP1xtbk5KndIpsZEymsngUlFYbbXo4Cj1/YmRP6C/wA1aM1Qe/lUm02OITmhdGhy49k+Fpea9yAuFJc1HixzFP0Yuuj1NjBd22iEp06derHPEFy3il/34nZg4JwGYUE2uAMIrvXuGMgz+rIKLTArcBQqn9Wa4mdbe1fGf0hN14WYUEZ4V/kBBOYRfDyJbx168710OAJQUOtsWPNe0o44PU5OTo6i/5C1mImSBaZTCso+ycqOJbSW3O7EpU32GgbvP8ucxkkJIr54GiKPQ/2RG8vNgFJvlenRZUkSgQaj14DgVWPdlpDiRTc7YxMZSt5kpAAYU/7IrBB+/b4aQpLVULVqo333STu1xqjGIzgS8vdYU+7SPYwzsOUq1jQIeWadcnKwP3gttAJHLTPiqiPtV92esXMuIJiutht0usU6E24ljgnpRaPwdcA8t++CKrBUx3vLAjPH9jiOBQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e862b7a5-d203-47c8-bd61-08d9e6b170f6 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2022 01:06:43.0498 (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: AM0PR0302MB3203 Subject: [FFmpeg-devel] [PATCH 75/80] avcodec/mpegvideo: Move h263_long_vectors to H263DecContext 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gDI9lvima32Z Signed-off-by: Andreas Rheinhardt --- libavcodec/flvdec.c | 2 +- libavcodec/h263dec.h | 1 + libavcodec/intelh263dec.c | 2 +- libavcodec/ituh263dec.c | 9 ++++++--- libavcodec/mpegvideo.h | 1 - libavcodec/rv10.c | 2 +- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libavcodec/flvdec.c b/libavcodec/flvdec.c index 3c14f2c54c..8ff4c03100 100644 --- a/libavcodec/flvdec.c +++ b/libavcodec/flvdec.c @@ -92,7 +92,7 @@ int ff_flv_decode_picture_header(H263DecContext *h) s->h263_plus = 0; - s->h263_long_vectors = 0; + h->long_vectors = 0; /* PEI */ if (skip_1stop_8data_bits(&s->gb) < 0) diff --git a/libavcodec/h263dec.h b/libavcodec/h263dec.h index 13e097358f..9c4c26242c 100644 --- a/libavcodec/h263dec.h +++ b/libavcodec/h263dec.h @@ -44,6 +44,7 @@ typedef struct H263DecContext { MPVMainDecContext m; int (*decode_mb)(MPVDecContext *s, int16_t block[12][64]); // used to avoid a switch + int long_vectors; ///< use horrible H.263v1 long vector mode } H263DecContext; int ff_h263_decode_motion(MPVDecContext *s, int pred, int f_code); diff --git a/libavcodec/intelh263dec.c b/libavcodec/intelh263dec.c index deed9152ea..f621c9686c 100644 --- a/libavcodec/intelh263dec.c +++ b/libavcodec/intelh263dec.c @@ -62,7 +62,7 @@ int ff_intel_h263_decode_picture_header(H263DecContext *h) s->pict_type = AV_PICTURE_TYPE_I + get_bits1(&s->gb); - s->h263_long_vectors = get_bits1(&s->gb); + h->long_vectors = get_bits1(&s->gb); if (get_bits1(&s->gb) != 0) { av_log(s->avctx, AV_LOG_ERROR, "SAC not supported\n"); diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 9e92ed94ce..299a668290 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -82,7 +82,7 @@ void ff_h263_show_pict_info(H263DecContext *h) s->gb.size_in_bits, 1-s->no_rounding, s->obmc ? " AP" : "", s->umvplus ? " UMV" : "", - s->h263_long_vectors ? " LONG" : "", + h->long_vectors ? " LONG" : "", s->h263_plus ? " +" : "", s->h263_aic ? " AIC" : "", s->alt_inter_vlc ? " AIV" : "", @@ -272,6 +272,9 @@ int ff_h263_resync(MPVMainDecContext *m) int ff_h263_decode_motion(MPVDecContext *s, int pred, int f_code) { + /* The following is only allowed because no h263dec-based + * decoder uses slice-threading. */ + const H263DecContext *const h = (H263DecContext*)s; int code, val, sign, shift; code = get_vlc2(&s->gb, ff_h263_mv_vlc.table, H263_MV_VLC_BITS, 2); @@ -293,7 +296,7 @@ int ff_h263_decode_motion(MPVDecContext *s, int pred, int f_code) val += pred; /* modulo decoding */ - if (!s->h263_long_vectors) { + if (!h->long_vectors) { val = sign_extend(val, 5 + f_code); } else { /* horrible H.263 long vector mode */ @@ -1150,7 +1153,7 @@ int ff_h263_decode_picture_header(H263DecContext *h) s->pict_type = AV_PICTURE_TYPE_I + get_bits1(&s->gb); - s->h263_long_vectors = get_bits1(&s->gb); + h->long_vectors = get_bits1(&s->gb); if (get_bits1(&s->gb) != 0) { av_log(s->avctx, AV_LOG_ERROR, "H.263 SAC not supported\n"); diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index d0e4e8e9ff..0e26bed7fd 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -177,7 +177,6 @@ typedef struct MPVContext { /* motion compensation */ int unrestricted_mv; ///< mv can point outside of the coded picture - int h263_long_vectors; ///< use horrible H.263v1 long vector mode BlockDSPContext bdsp; FDCTDSPContext fdsp; diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 1fbd99a965..e1379b634c 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -390,7 +390,7 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx) rv->orig_height = s->height = avctx->coded_height; - s->h263_long_vectors = ((uint8_t *) avctx->extradata)[3] & 1; + h->long_vectors = avctx->extradata[3] & 1; rv->sub_id = AV_RB32((uint8_t *) avctx->extradata + 4); major_ver = RV_GET_MAJOR_VER(rv->sub_id);