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 7F19C4AAC6 for ; Sun, 12 May 2024 16:15:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8063E68D688; Sun, 12 May 2024 19:15:48 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2042.outbound.protection.outlook.com [40.92.90.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 026B168D667 for ; Sun, 12 May 2024 19:15:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EHcq5a1d3zq84X2Zr4st2meApBSRDJEVk8zInZzg8z9UCaoklEN5BMpYmn9HGPY29+sMumMhzdMHaL4ifWz+lE3ykjqOmfKiMokv5UZTX8A9FgofpYIG3qpxT3Qy927BC1YMM/dvaExNh56mm/JuwsJsonPPTUk2vQ46NE4M8JLzVHQiAt09cL+Yy6mp7KqL4/F6TI8jooary8ZRbGqjDuGfmrp8rk5QHoVvD+8tCKVyLBXBd4A9CoBDwtZJRESyvoAsP8FVNQ4rpqXkhvtKlmtWIxay9J2/MrILrrZlRPmQO9pitHA0MmcEkAxmLwTnJM0gEQs3pvfJPY1/shfNOQ== 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=Hpl3fvoNGuVUMaDT1rrNO0awIs6R17GBXY4wYH19J2Y=; b=S5L0MbLbNiCqxEti6uWcxiAAfjmTzCe/ZFh7AnsRH3wnq3ZIqz+0OnI4RBd9J90pIwLzjOrFV461gy9ZfD9SZxlXjNoUesAmZOwixMREindeJGR9nf+eBK2I0+fb6QkDD0y0NES23A3Y2eA9Z9aSTJguNcelOPvSk7Szd8cafMIf90+itH9FI16cRCNEbRtaA9TF5m4ziAxf09o4kdpl4thpmXeTKxMh02T3BLDUQdPAuKpo6ECOUEokDnP6CVRGKLYGz7pvG22czuwgB7rN4BeyerEXt6fGxPqfPZm7DvZt7TIqRxQsH74vY1W0n8whc9xVYu1wYd8af1b3ikWoEg== 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=Hpl3fvoNGuVUMaDT1rrNO0awIs6R17GBXY4wYH19J2Y=; b=nVnjB6uHaO/dskOvKL73Uhe58ux9uUWm4WeD6IqwSOzcQOO/HID7hY3io/nGXyggkYLFf3eK7Jzn5KJnVQEu7oUC/mZsodLhV+RV7tl5nr/yVGTeHRq2fGFguoCXfFyaTbqkmFnPRiP3SSe7f/YpGNANZ1+2/YAM5vBh8UpPtK4ga6U7sRXoiy3vd+w9xbxOjjwu+lZt8+4tvDzBcZ9AQhrDu+qwDSYyjzUJKucck11uvFXOiYefEpFdAyBdysLrB80qaGxoLu+48CAPd3lIZhUpFxy4MwtFmbpDY8lfYd0DyvvBjHcGd5W2IbPoWwxL7/ed3hGxI5WToiYNoJ88pg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PR3P250MB0099.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:172::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Sun, 12 May 2024 16:15:39 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.7544.052; Sun, 12 May 2024 16:15:39 +0000 Message-ID: Date: Sun, 12 May 2024 18:15:36 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240511194656.1576-1-jamrial@gmail.com> <20240512160657.2733-2-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240512160657.2733-2-jamrial@gmail.com> X-TMN: [kEgdHLmAbUt0Nf91SPLmc4/l/cMb2H8MifrE9CUPDz8=] X-ClientProxiedBy: ZR0P278CA0145.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::15) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <19db7bcd-f43b-468a-ab68-9a2fafe777e4@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PR3P250MB0099:EE_ X-MS-Office365-Filtering-Correlation-Id: e5870696-66bd-47c3-4abc-08dc729ec363 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: Qhsa8ueM/l4V44XHudZZETKYMu3FQDBJCm5THzzjk8LFVwaZV6pbVHXd4EtW+MSHIU4JGqXEhlXd5B3fr7AV4C3ljAekTeXccLB8zdLLamD8kB/Bx0ytlUBF5WNsuhViy5RiTAutKt5YkR3YOmwCFHrY6A/WRdRvJ2RqCyFfcFMVELf807dWs00DeOuzIqDl5wUeTZDAkvVyB45EYIju5hhx9ZkGCkDk54o019cutuLY9t67IXlqLccjrJnwv8OvZsoz5f7KC1fbfi+q8MqLKo/N1OUDmTwTtTeiaqlSisRlOYeVZA7zkIVn5yDLRZQhP7TKuisVeu6lS+GqACHEeJALxjhRHQR8PNeG9SqxzEe/0x4QNN/CJVARKbE+KNN3jB7j9IcLgTflJghaFJJ3DP0CNxQ/kTIsZj58yRAhekYKUKRkPL56/Hh9DI8tmSxGcDA098HMSAt+GaO6zWJKXokJtI0OrDM5Ughx22vVeLVWXXDJqKmTDOnr7WrG/ZCGHsUWCiWeH4aDXLKKo4AvDATfytCclzqEVTz/WIWs+I10I4JZFpbYxVIgVLglY2UT X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzQ5VysrNlVOMnZGcjVQSy9kOS9xSkFDOVc0bjBYR2tDeG5kTktFcGptMTZv?= =?utf-8?B?alNzZHdxajhad2RRVEhGVHY0SkNzM0d1d25HQU8wU2JscjVpSFVnUWl4WjI3?= =?utf-8?B?LzJ6ODhWU2NsZlFhVHgyQjJnbVBneElaOFVpWGkvOUV2MEcxNHFTWGY3eTRN?= =?utf-8?B?Z3lyajRWbzF1WnArUkgzdDRyRDM2L1RLUHBDZ0gxMmlyNHZMRmhkemdWKy9L?= =?utf-8?B?NFJ1R21xT05TUmF6TWxFZ0ZJWUxuZUhRV0RxN0c4WW9pL2dUMUlIUkhsWnRv?= =?utf-8?B?K0FOM0N4Y0xpSDY4S3NXY0dtRXRRYjZSWXNMWDlvNFcyZ1UvQVZvamVZWEIw?= =?utf-8?B?ZWViTjFsengvMzQ1VkUvQnpWeS91VEFKZnJ1YXIxRUtIWExmTTU2bXRRYjNG?= =?utf-8?B?aklEdEdvajIzVktrSkxPeDVYVm50TUpGdFZuZjc0YzJkN2VxQnRtZWFVY05z?= =?utf-8?B?d2ZMZUROQml3b3FNVkV0Q09sc3BWZzZ2UEZ5NjVCRzVDVUg2NVJGOXVjTmJY?= =?utf-8?B?cUhlTjVrelBBNkpySnhES3QzZkJ2NmdYS28zSkVZbEpFZ0xXdUJyczBVUlBB?= =?utf-8?B?TXMwVUQzcVdKZ2NLM21JRk52MitXWmwrRGx3a1BVbEZwRDFRVjRBTERDS1Fi?= =?utf-8?B?TGYxMEhFNG03b3daYUJsazFkMjMrMmRRUjdUZW52eGtRT2RxOWc0d2FadnpO?= =?utf-8?B?ZVBwR2ZqbEkzSEJVaE5LSndFaE1vSHV4djN6RW93bzN6YXJxT0dXZ0UzTlRW?= =?utf-8?B?N0NpNm8rMHdTTWxnbEtvSkwxdHRWNERmMHFQREp0b3FIYTVuVVVnaDBpQk54?= =?utf-8?B?alVWRU42QTFLTk1UWml1RkFHSzk1RGFxQldUUExqeURKL04zb244aXNPdzN4?= =?utf-8?B?ZnlOd2s5YUYxYi9RYWV4OFBzbUl3dytPZ3FwM2FvdnI4VTlnanM0bVhCQXFa?= =?utf-8?B?VGVBYlVQbUd2dzZtNkp0TFd3Y2V2dUkwY2Y1cWtsN2JuQjZLYkVzdVJZaXJ6?= =?utf-8?B?MVY0cm15UVpKSUM0QWZSVkZhYmFHbVAxS3MrOWRwTGJ5MzAyVHJxaXZWRHI5?= =?utf-8?B?N1NldlZtRytWaUFlR1Q5bXpGczZTZzBYR0dQdWlPbHp0WjFSWTZtbnZPazhr?= =?utf-8?B?NjJUT21yQjdGd0tsVDIwbG5UVE01K2xpcFVibHFaV21lZXhZVjloZFpHbGxD?= =?utf-8?B?dHplOWpEaEx2aEp1dmhKbngwRWM5bFBUOTBCTzlQYS9WM1IvUTdYUU9IZUFp?= =?utf-8?B?QTdlUWdBNEM5WDRFNXdlWDAyamlwWmZVNlRNcURid3E5dGpWVjRVS0VrRlcw?= =?utf-8?B?WUpWNzJPYjlSS0VCendSand3QkR6SEd4Y2FmQUI3bGhIRzV0eUl1RHBISE1R?= =?utf-8?B?Z0Yzc213RkZ3a0pJUnRkR3lZWUE3blVoZEhrL0xTOVlIVGJGU1BDeENScWJv?= =?utf-8?B?NmZRZUJkV1k4TTczbVpEZExnNUsrbzdXd0VNQkZ0VW1GNjNUYUJhTmpnc0Fa?= =?utf-8?B?SUcxNThTbzhLVG9KbG5jVXU5UmE3UE4yaDIrbkI4b1VBSEJGUHJKZkN3VS9W?= =?utf-8?B?akhnRGRaUG1mdXJNU1ljdVhnemR1dDNWbGpjUUpwa3M4TEtpeWxKcjBaZ2ZK?= =?utf-8?B?ZG5WZWZQLzRYR0Rrb2dMT0NSb2I0ajNQOUdOcDMxL1ZpTlcyOVRjUDFWSGw4?= =?utf-8?B?NjIwMUQ5Wm9wb2RIM1VONmlWQUh5dllWN25yWmxBWXFDbWI0WDRScldRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5870696-66bd-47c3-4abc-08dc729ec363 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2024 16:15:39.0545 (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: PR3P250MB0099 Subject: Re: [FFmpeg-devel] [PATCH 4/8] avcodec/flacdsp: split off wasted bit handling into dsp 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 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/flacdec.c | 8 ++------ > libavcodec/flacdsp.c | 20 ++++++++++++++++++++ > libavcodec/flacdsp.h | 3 +++ > 3 files changed, 25 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c > index 91bbdc657d..6e6a2896b4 100644 > --- a/libavcodec/flacdec.c > +++ b/libavcodec/flacdec.c > @@ -602,13 +602,9 @@ static inline int decode_subframe(FLACContext *s, int channel) > > if (wasted) { > if (wasted+bps == 33) { > - int i; > - for (i = 0; i < s->blocksize; i++) > - s->decoded_33bps[i] = (uint64_t)decoded[i] << wasted; > + s->dsp.wasted33(s->decoded_33bps, decoded, wasted, s->blocksize); > } else if (wasted < 32) { > - int i; > - for (i = 0; i < s->blocksize; i++) > - decoded[i] = (unsigned)decoded[i] << wasted; > + s->dsp.wasted32(decoded, wasted, s->blocksize); > } > } > > diff --git a/libavcodec/flacdsp.c b/libavcodec/flacdsp.c > index 71b4ac44aa..610831348a 100644 > --- a/libavcodec/flacdsp.c > +++ b/libavcodec/flacdsp.c > @@ -84,11 +84,31 @@ static void flac_lpc_32_c(int32_t *decoded, const int coeffs[32], > > } > > +static void flac_wasted_32_c(int32_t *decoded, int wasted, int len) > +{ > + int i; > + > + for (i = 0; i < len; i++) > + decoded[i] = (unsigned)decoded[i] << wasted; > +} > + > +static void flac_wasted_33_c(int64_t *decoded, const int32_t *residual, > + int wasted, int len) > +{ > + int i; > + > + for (i = 0; i < len; i++) for (int i = 0 > + decoded[i] = (uint64_t)residual[i] << wasted; > +} > + > av_cold void ff_flacdsp_init(FLACDSPContext *c, enum AVSampleFormat fmt, int channels) > { > c->lpc16 = flac_lpc_16_c; > c->lpc32 = flac_lpc_32_c; > > + c->wasted32 = flac_wasted_32_c; > + c->wasted33 = flac_wasted_33_c; > + > switch (fmt) { > case AV_SAMPLE_FMT_S32: > c->decorrelate[0] = flac_decorrelate_indep_c_32; > diff --git a/libavcodec/flacdsp.h b/libavcodec/flacdsp.h > index 15149c026e..5a59c0c864 100644 > --- a/libavcodec/flacdsp.h > +++ b/libavcodec/flacdsp.h > @@ -30,6 +30,9 @@ typedef struct FLACDSPContext { > int qlevel, int len); > void (*lpc32)(int32_t *samples, const int coeffs[32], int order, > int qlevel, int len); > + void (*wasted32)(int32_t *decoded, int wasted, int len); > + void (*wasted33)(int64_t *decoded, const int32_t *residual, > + int wasted, int len); > void (*lpc16_encode)(int32_t *res, const int32_t *smp, int len, int order, > const int32_t coefs[32], int shift); > void (*lpc32_encode)(int32_t *res, const int32_t *smp, int len, int order, _______________________________________________ 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".