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 D0200429B1 for ; Mon, 10 Jan 2022 17:52:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AAA2E68AF0C; Mon, 10 Jan 2022 19:52:11 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2075.outbound.protection.outlook.com [40.92.89.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 824C068AE72 for ; Mon, 10 Jan 2022 19:52:05 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oOGVJCpHSJ7m+OlJhXBmk9AY5ne2GPumoH+OUaxRUb8u16uf0uZeLmO0yOayM3p+rB7QFh7fkVeKAgW+JQfT1itL7+/z7dKm6MkcNExcolGxlCnYe/y2osXOIlPAjK4zfnWZRe/yq8ZJqC8jW/FQ/UT0Dmxm3ZHpOUv9/kpZAO1cq7cXFSCwA40xkAqmTszCw6dmlx6fNtwOJS/U9ibySE5lsMXrCKx8MFQcB/ZYFWulOaZdA70QWL13n9saF+abxbGvaEKHP8cRamvQFkrMzHot1g7YqMu9G+Ntx8L7OSWM1ocD7q3RCh7iTSwfqStbkZa3jAiDNb+WjQb85RYOQQ== 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=1R1HelvG0YNVtbF8aeon3EwZUbm6m6RmrmtOB1Il/cY=; b=eC+KXFXO1fjNPDO+I/HN9NudIIPJwOLPjSfUlSd0hiYqJWicP+4QvuJeoxp/7YFYaVhrwQy5yaRfHwK7xBb5+ksJNSnnUmW1GzE8M7JytXKF4WAsqikGSI+cmP5ZYF8pHpKN2Sx0nlZW+WXleUpP/bpUuvOg/MGMEFMUeFtU4R8wtfjOBnBvfsueVhsFer4uJpRXQEuG7BJH0LcLo72ldMGJLZtGmAQhxKumN4ZPBGrAO1hdxM/eJgYIpXFUa+dNypaccgDYawnN5psTYevcaslW0mG7+mPx/UaQU45Zp+3RuTxqkDhrNVqo3Hhk/qMtOtEh5XhB9ZlC0VJT/IvAtQ== 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=1R1HelvG0YNVtbF8aeon3EwZUbm6m6RmrmtOB1Il/cY=; b=g76tTKo2Qr+dKu/P3e7MqTWNUZfq5IjuUh6Yte6rv2ZxxLkKslmupAGEHfZQqQb1UyG/ABOYKbh0+1tMPC2sYJdWzQ82fPEXuFvGmx8sG9Og8f40BXpbei/U1kWAjCXePHgPmzcTIMXtley3FzL7lw5lMPJMP0+0oN8vVCLrOexkO0iGw+FLhwqX/W9+BN1M6OCJzBgxW0222PCuWWtcSL9UvfE5sBETQDkAuYKxZSatPNcxkWsCOvqgaiLt7nDT5iRG1oAU0SpvPYubng7XdhiaSrrOTiofzfNlmViImQdw6A1G+XhRHq8FJQ55EcPSF1XPBKOxZiqGpICygCoSOA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4213.eurprd03.prod.outlook.com (2603:10a6:20b:1::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Mon, 10 Jan 2022 17:51:56 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%9]) with mapi id 15.20.4867.012; Mon, 10 Jan 2022 17:51:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 10 Jan 2022 18:51:44 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [f8fdgiHlVsHmnOwhyYb3y1s65PHefvPt] X-ClientProxiedBy: AM0PR10CA0047.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::27) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220110175146.610875-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3878b763-de4a-4772-849e-08d9d461e46c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JIV/ib0urkAhnptyhWUNm5W7Hs1+x4EKeHFsJ219WkY1svdJfdYmg9+vyWgKl5fl/HzvxLCUQmoIfPcFv89PV+AJhPjCGdrSkBgiwxU9/aLdAgt+J1PH2QYg7Db3VaAI4hp0INVjDvz8kxcCFxqBer8pd09EfplufdM9dAw/+tFi/zhDkusCPWzzAlipKZSQIeUaFqaZqwB5f7ps7TJ2OwsMriLYivXfDK2TBadMZiKHgPuE/8/56T073814SOhJAo7ZgdwTAiaHCn77BmvLBHqs+304hOQDdTkrB3Ii3i4k7afO8yEQrnlbhSgyY+C0LT1YGci0YukgeVzGWQyeomE2AQSfugBLP0/m+01FAMENaM1CgKDDMtROkqfWU+FkR53n0EHtX7NkvBd/CGPxaS7Nk/Pxt/IK/NFxWeb3F2VzUQ8mdgMvUJVaTK364u/rOcgtl69t3D2RixQ/GAYDmss0EA3AHMri/JOqFMzpu5t4MK/r5Hm5G7I+oRQsxnJB/N2VBSV2mD5BaGWdXCDL2voESiGXleJdx1Eyn7kukAhPMbWghTVee2HCI1a+Kzv2zlSK6P2N/1DMIzEkQo5dbHkcb7dZ4M1F36GPzIsjt4JHfFcvchaGP7wV4P36pQLi1ok6Q+RlcV72rpePiVZtstAIgs7x8DCL4REJ9+nD4Td7Ti3lMUP8gBLECpERSGXrKZkb4INY8Nlj2FN7XZLI/xmJw7sSkwZCRr3NH+rFvBQ8= X-MS-TrafficTypeDiagnostic: AM6PR03MB4213:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EDPWboE3ZB/926ISuBvaOKlwss0lxct3JG1jjWsnvFeQKMOeBztGOOadR88FWR5vONG7PpkeuXbZb/j8HjelWbG7kayf5s9S6y3/h/pkefYDSEwNF415zDH7uXcesayaTFe/e67sFYQbpyGyw0oruI0msaeDzYaxS52ycUB2FoAnyOq7+Tk5DAtgwrYazEcVeTIUvmISMkCnGJEjfFGSFp/vXseAT+t+vdMV+udkBKcnZtGV2UaIXgBFqRltA3oaBYZFgJXutEP71IQUgQqatzqAH9tOR3V4mhQcXxxUMXOpxM0o0bRP3+NXP2iM7rrDUrDvYx+x8sJqiBEs0Dmlqi3aDflC37JwrvrFPdVnll+StOmAqQGaR9z2hmCMZsCcw0MwGfWdPIN6Vq4WIHE0lOIn3gCxFg9Foyy5SD3m1WVkzXbgnRteSVvbqCKU8sumd3zWFL8qhZPNzX823h2d9QqX1Otd2PSET+BPBFX5+2XVIiN+niWpjT8UsT6tm93/+lgrHR9hUBM4JaIcxoy7NKt4BCiwKSayechCu382HLhlNrDWJCegjY6gLZCt/qnKre0jv8tHE0MHZHj7VfjqEQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?L4MN6woxYC7PRThpQT5SEW6fBKmnngEXtue0RFYMjcnie1IF52jVlBY8rshc?= =?us-ascii?Q?TLxOnQvTMjnDCiRyF57rwBaoIko1aJQL9NKw+ukeo08g2ckwKeY5JS8XABlz?= =?us-ascii?Q?skoHUFr6cLLfqOtAnqK+hWCT6yHsUnDxDS/QwelaOI1EWi2Nsb1MYP9nnD1W?= =?us-ascii?Q?Jz4coWstFGWP0T5kc0q4wo8g8CDlbo9WAQhfDhKER6ctNQaAVkT2Smg1cOkz?= =?us-ascii?Q?3ajIzhKo6eTiTZBgKgLMHVXRzlXLVfLKckBHRvLvcLli9RUllqdxaDhKi9qY?= =?us-ascii?Q?y+2suG0WBMP7z1ViJQXvyZzRoDqNMVyFS4GYcns91dZ74nRG96FW78n0x9tT?= =?us-ascii?Q?nWoMqlWuSXAoEPaYgEysCmUi7PxZhgf/0Uv0lRtIO9yE7XTzNTAonkxOJm0I?= =?us-ascii?Q?UhDQDQXAMfOm2BjLZb17A9F6gUkvtcYE4eIlDnAUYn9yRw0xVev+nSBWpIEj?= =?us-ascii?Q?oF98t5uNRy8/qqLg8JCfs49D4/kMsKE0FkFUCnzxPp14WEw9zUWPqEKIqAd2?= =?us-ascii?Q?3dtVwSRCyoQEn4jmFl+ibN+n0U9UNI5F3z8GdmsdZADGUgpzMMdYFVRFxCp6?= =?us-ascii?Q?6X/bbsXsvq+GssEZ6eDLF2K2j2wsJv9LImLglwENxiB8/6Lw0N2VZm1K+m0U?= =?us-ascii?Q?KuDijpUf/oeABbjhkmPei6mlY3SUvlpzQli63o/Iqt2VVyi2VF6O8hOtux+5?= =?us-ascii?Q?BJg0n+PxXVfMQMKzjUpfJ7A1+4aRyEc1+FdC8PMM1bbXAt8E4AzXJMypxOi/?= =?us-ascii?Q?DtY8zIrmIN2l9SkMudvEgug7WhJiSCJdc2rUVFB8Qbkc3Vba/8tiNqdCfH6G?= =?us-ascii?Q?lkYPDb4WOn5lq/1zFLZD9hK+8FehniP8RyocpXwqjmFQWDQT/0JxMxVCYDst?= =?us-ascii?Q?4dGQYuzlfQYVtMG3JXsyobgkyLZiU7tWf1ohsnhrptk+KdN1Hk+PvtNh1rHE?= =?us-ascii?Q?7oUGfbDKjM1lFGqikvserg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3878b763-de4a-4772-849e-08d9d461e46c X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 17:51:56.1524 (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: AM6PR03MB4213 Subject: [FFmpeg-devel] [PATCH 4/6] avcodec/h264pred: Don't compile > 8 bit versions of VP7/8 functions 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 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: VP7 and VP8 are eight bit only. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264pred.c | 36 ++++++++++++++++++++++++++++------ libavcodec/h264pred_template.c | 34 ++++++-------------------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c index bd0d4a3d06..731cf48ea6 100644 --- a/libavcodec/h264pred.c +++ b/libavcodec/h264pred.c @@ -53,6 +53,30 @@ #include "h264pred_template.c" #undef BIT_DEPTH +static void pred4x4_127_dc_c(uint8_t *src, const uint8_t *topright, + ptrdiff_t _stride) +{ + int stride = _stride; + const uint32_t a = 0x7F7F7F7FU; + + AV_WN32A(src + 0 * stride, a); + AV_WN32A(src + 1 * stride, a); + AV_WN32A(src + 2 * stride, a); + AV_WN32A(src + 3 * stride, a); +} + +static void pred4x4_129_dc_c(uint8_t *src, const uint8_t *topright, + ptrdiff_t _stride) +{ + int stride = _stride; + const uint32_t a = 0x81818181U; + + AV_WN32A(src + 0 * stride, a); + AV_WN32A(src + 1 * stride, a); + AV_WN32A(src + 2 * stride, a); + AV_WN32A(src + 3 * stride, a); +} + static void pred4x4_vertical_vp8_c(uint8_t *src, const uint8_t *topright, ptrdiff_t stride) { @@ -447,8 +471,8 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id, h->pred4x4[TOP_DC_PRED ]= FUNCC(pred4x4_top_dc , depth);\ } else {\ h->pred4x4[TM_VP8_PRED ]= FUNCD(pred4x4_tm_vp8);\ - h->pred4x4[DC_127_PRED ]= FUNCC(pred4x4_127_dc , depth);\ - h->pred4x4[DC_129_PRED ]= FUNCC(pred4x4_129_dc , depth);\ + h->pred4x4[DC_127_PRED ]= FUNCD(pred4x4_127_dc);\ + h->pred4x4[DC_129_PRED ]= FUNCD(pred4x4_129_dc);\ h->pred4x4[VERT_VP8_PRED ]= FUNCC(pred4x4_vertical , depth);\ h->pred4x4[HOR_VP8_PRED ]= FUNCC(pred4x4_horizontal , depth);\ }\ @@ -524,8 +548,8 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id, h->pred8x8[LEFT_DC_PRED8x8]= FUNCD(pred8x8_left_dc_rv40);\ h->pred8x8[TOP_DC_PRED8x8 ]= FUNCD(pred8x8_top_dc_rv40);\ if (codec_id == AV_CODEC_ID_VP7 || codec_id == AV_CODEC_ID_VP8) {\ - h->pred8x8[DC_127_PRED8x8]= FUNCC(pred8x8_127_dc , depth);\ - h->pred8x8[DC_129_PRED8x8]= FUNCC(pred8x8_129_dc , depth);\ + h->pred8x8[DC_127_PRED8x8]= FUNCC(pred8x8_127_dc, 8);\ + h->pred8x8[DC_129_PRED8x8]= FUNCC(pred8x8_129_dc, 8);\ }\ }\ if (chroma_format_idc <= 1) {\ @@ -547,8 +571,8 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id, case AV_CODEC_ID_VP7:\ case AV_CODEC_ID_VP8:\ h->pred16x16[PLANE_PRED8x8 ]= FUNCD(pred16x16_tm_vp8);\ - h->pred16x16[DC_127_PRED8x8]= FUNCC(pred16x16_127_dc , depth);\ - h->pred16x16[DC_129_PRED8x8]= FUNCC(pred16x16_129_dc , depth);\ + h->pred16x16[DC_127_PRED8x8]= FUNCC(pred16x16_127_dc, 8);\ + h->pred16x16[DC_129_PRED8x8]= FUNCC(pred16x16_129_dc, 8);\ break;\ default:\ h->pred16x16[PLANE_PRED8x8 ]= FUNCC(pred16x16_plane , depth);\ diff --git a/libavcodec/h264pred_template.c b/libavcodec/h264pred_template.c index 2b30fff70f..b5bc942a5e 100644 --- a/libavcodec/h264pred_template.c +++ b/libavcodec/h264pred_template.c @@ -111,32 +111,6 @@ static void FUNCC(pred4x4_128_dc)(uint8_t *_src, const uint8_t *topright, AV_WN4PA(src+3*stride, a); } -static void FUNCC(pred4x4_127_dc)(uint8_t *_src, const uint8_t *topright, - ptrdiff_t _stride) -{ - pixel *src = (pixel*)_src; - int stride = _stride>>(sizeof(pixel)-1); - const pixel4 a = PIXEL_SPLAT_X4((1<<(BIT_DEPTH-1))-1); - - AV_WN4PA(src+0*stride, a); - AV_WN4PA(src+1*stride, a); - AV_WN4PA(src+2*stride, a); - AV_WN4PA(src+3*stride, a); -} - -static void FUNCC(pred4x4_129_dc)(uint8_t *_src, const uint8_t *topright, - ptrdiff_t _stride) -{ - pixel *src = (pixel*)_src; - int stride = _stride>>(sizeof(pixel)-1); - const pixel4 a = PIXEL_SPLAT_X4((1<<(BIT_DEPTH-1))+1); - - AV_WN4PA(src+0*stride, a); - AV_WN4PA(src+1*stride, a); - AV_WN4PA(src+2*stride, a); - AV_WN4PA(src+3*stride, a); -} - #define LOAD_TOP_RIGHT_EDGE\ const unsigned av_unused t4 = topright[0];\ @@ -427,9 +401,11 @@ static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\ PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\ } -PRED16x16_X(127, (1<<(BIT_DEPTH-1))-1) PRED16x16_X(128, (1<<(BIT_DEPTH-1))+0) +#if BIT_DEPTH == 8 +PRED16x16_X(127, (1<<(BIT_DEPTH-1))-1) PRED16x16_X(129, (1<<(BIT_DEPTH-1))+1) +#endif static inline void FUNCC(pred16x16_plane_compat)(uint8_t *_src, ptrdiff_t _stride, @@ -551,9 +527,11 @@ static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\ }\ } -PRED8x8_X(127, (1<<(BIT_DEPTH-1))-1) PRED8x8_X(128, (1<<(BIT_DEPTH-1))+0) +#if BIT_DEPTH == 8 +PRED8x8_X(127, (1<<(BIT_DEPTH-1))-1) PRED8x8_X(129, (1<<(BIT_DEPTH-1))+1) +#endif static void FUNCC(pred8x16_128_dc)(uint8_t *_src, ptrdiff_t stride) { -- 2.32.0 _______________________________________________ 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".