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 852B64073C for ; Sun, 30 Jan 2022 06:30:29 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EFDDF68B1CE; Sun, 30 Jan 2022 08:28:35 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2062.outbound.protection.outlook.com [40.92.90.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0EDAC68B1B9 for ; Sun, 30 Jan 2022 08:28:34 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WNyJBBYpNd+BlGYXFpMc3YV77AuHZKyDVezdG+1YB32ANggUBYI94h/i91W5t7mmqtaMAQnodddx/XWLWhmD374PmhmMbEKWBN/f9HTvgPxZCzIg0a1HEzJ4me8CnK7cqTdi6qHNMvIMMWL2Xt+KbgFpqQGbw/XeEEQhrQW2zr2BigG/fPx4bZaqfXLt33riVX3j1zTKhri0YTQBh6GE6d/bS/bw8noyJtjPAvIGY+bVlVMO2Lw5ymj9FRHpU2mWGhINxzYCIlVb1ohJ/sBypv4ejhlIcTykkyLpr6oq/nSpaeOrrIVxWAWtzUpkyuCLOuY3YBcmjxUaIyfypeD9ag== 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=1tdVZM6r+Je3BRQZ0mJWjP6Kwl8HJStZbrdGeRRhjQs=; b=ROCOWauxjWQKqCxjYUSVdhVebCr8y4X674zqSkBeJQnOUX2VlOFPZGJ8Vg3sxvNYHxuxCbGZwkpWwTcWGuW/blrfw4TpwAAHB2l/BH5I8xvRWRH6Zf5JvZdWlsxMx8qqrHEAtjgADu3JQS00E31plumJH1agEN6xq2CG6q+sYgE3XmYtz9gCVzhboLIGikbQmLV+VU+qMMyZW0EGqYXpxskZjvbPYiifDhB2QxTnD98gK6BfqOmWKrl4V/7Dz1s7gzDuEuQzuwJprheSBIX584uYsPqXSpOTBpWeoys6NS7KZHqG8nH/4WssRcan0gFjqKg5sTMDfWhnbB5gcPHBVA== 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=1tdVZM6r+Je3BRQZ0mJWjP6Kwl8HJStZbrdGeRRhjQs=; b=YO8R1ByMg1JglIIasm+G8vxOgUNw0ugXcNx+iixVoEpSmcmzqjArQYdiePUH/eD1YQ7LSrGgNo7OU+A9++MG6nu+twtJ6H4OQ/OtGWefTIYaTW3aZ04l1ShDfE5vQAGk9vzkbEwPRRWmNJcqbJTR6Ttx0CbnPUxeikmPZqukPjPMiXRZ3h7NIDTMbLZaL3amzay1roeB48+MxIVvV0eGbNUGmPRzMkkJygzGKYdCW0wxcoptCIiaTCXaX8wxfSAExXYF3cMkhRilROFRzEMPmrn/XOamrpDtRVrernLdVH7hKsaOoypUN+O1PoK+Wp4eJYyzND7tBToUCOOzOaoURg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by PAXPR03MB7666.eurprd03.prod.outlook.com (2603:10a6:102:202::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan 2022 06:28:34 +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.4930.021; Sun, 30 Jan 2022 06:28:34 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jan 2022 07:27:23 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [iGrGDF4FUEFHG5QbROxfB6JnRToOS77n] X-ClientProxiedBy: AM6PR10CA0044.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::21) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220130062749.936489-14-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57e00dac-2543-4396-ef0d-08d9e3b9bd8e X-MS-TrafficTypeDiagnostic: PAXPR03MB7666:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D0XLna9zwHWuUw0SPcpPcefiAqFaJzhgyFUzvFrc5k/47oh7N8M9aQJYMlbPlslnR9Ja9QDeYWCa6ZESxCIAeijxFTLWX3BkRHArk8S3vrVOOmv6SjkZyFPGuX4xvQf4SMFmZRhryOk2ZVMrJ0JhIWt4agAH+VnlQjNQO7IwRKgoXMOigdChaJk/HFcdUNvfILuLqsyVIcAmMJevPzMMHQaXMCbY/UAyyLRjXfQ1o/aTs9NlftmTX8a9PxyZfygvLIeYHHnfvhuyD+9H6bc9powU3yCuBO9jjd3W03uiYccdQ8tdUoKyOPjZfFXnlhp7C980YIxiAWPtpg/5x2io2pDBmUsGPYDD8AW8L3xuNPVXGbb6v5C9iMhG6gQ/QFoXVO3s0j5IiuCoz7tQNr88xHG+J8dL+NrAAcTVB6Fhk+G8LKpGAMvqsLMSmwUmXFH50Q+n91PSudBpI8XJpytjF5W+EDguQNJ3Z1tjEQIYrb/LF9m21drEQHtZOLqkipwS0sna8X6LUGvNZwVJ5oLWYzlR4m1uoaTPWWTo2oyLssWYZGAJIsFKtKaWbxToepMN X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fBoQmMwmUFQt98wK+gVbZUHvS17XfmFqNBGaOPpzIadcBqsFVzxgCCwsaCl3?= =?us-ascii?Q?cO+bMCc07OYA7Yf07QV7VSqlJUtMjtORAGPIsyyfpInbQhY3Q84aJg8dyGig?= =?us-ascii?Q?fSPBCh80Z3zuTyvpNPCdU59lzk8OSt+rWdS9jUl/5iCQS25nhVHwFGti7AtR?= =?us-ascii?Q?WZuIs7qdblUt0z9959t1g9AvfsEDjULB+j+/GYdMwS9IXAcD8p0oekDKB7XQ?= =?us-ascii?Q?/NshJUUoXJ7cqQ19Y0l5Jdb+v8sEdYwEqAwetbKIvvq+aato3DJtZqzyL0yD?= =?us-ascii?Q?qKAOkJS6oVCzab5Yrp0K7f+ev8CQLU0rWqe790Tj1RQq1R95qsWmv7sfadH8?= =?us-ascii?Q?o68XoNLKfQPJ3Bi0MXad8H6foEfLulXa6q8u6t92LvW7X1g+ak45f6KnTQYC?= =?us-ascii?Q?WtjODr+lGCd0Vnron+XSXapMaXjWFYLdMCE4f8S9amr5O8j1sbPWZiUtoQUl?= =?us-ascii?Q?Z9zGr3LqtYMyildXv6HFVdt4wniv8Zgl6ST4wfb6rs0Ve4bQfmojDwpOlxk3?= =?us-ascii?Q?nmkLIOUo6PidGrpX1PloSZAfh9lpwDLGeLwKc5rxRP5k3tuWp2XyaGucmf0l?= =?us-ascii?Q?yFKT7NmJYsbf2RMwqMobfOEBB9Nv3GNfHgPwv2yFcfQqYYZ+WSKqLjYrvK00?= =?us-ascii?Q?UXSTBD+TjRc62ODExXrOjgttMqH3ezcZAVbf0D5bGTheiY1y4JEwkiRroDv1?= =?us-ascii?Q?+DJKg4Ch6nO7A7qVDuHdQkLeuQc5j+rKXUBf2yB5ap30VIMooXZHbYl6+V7E?= =?us-ascii?Q?ZTfpPbGECDt0/OmKJ/AxL4ytrEWOpYYC1Uo9SPVAr8i/km097khIiuU691D8?= =?us-ascii?Q?nqkOWzG912X8SR2BZwmKSpShka7dsEz/uuQJioCvKmUDt60fqKfxsojghCiY?= =?us-ascii?Q?taATbJfUXBW9CZOIlQDxkvIdr/n2PjlUCekNNht39iuR1Y56tJRAbkcLAYyu?= =?us-ascii?Q?VGDi9nooiF9F7jq+xbby1A=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57e00dac-2543-4396-ef0d-08d9e3b9bd8e X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2022 06:28:33.9290 (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: PAXPR03MB7666 Subject: [FFmpeg-devel] [PATCH 15/41] avcodec/speedhqenc: Add SpeedHQEncContext and move slice_start to it 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: Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.h | 3 --- libavcodec/speedhqenc.c | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 18d2d0902f..8f65f53c2a 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -421,9 +421,6 @@ typedef struct MpegEncContext { int inter_intra_pred; int mspel; - /* SpeedHQ specific */ - int slice_start; - /* decompression specific */ GetBitContext gb; diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 806eae7cf1..ba3b1d9393 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -55,6 +55,12 @@ static uint32_t speedhq_chr_dc_uni[512]; static uint8_t uni_speedhq_ac_vlc_len[64 * 64 * 2]; +typedef struct SpeedHQEncContext { + MpegEncContext m; + + int slice_start; +} SpeedHQEncContext; + static av_cold void speedhq_init_static_data(void) { ff_rl_init(&ff_rl_speedhq, speedhq_static_rl_table_store); @@ -124,24 +130,27 @@ av_cold int ff_speedhq_encode_init(MpegEncContext *s) void ff_speedhq_encode_picture_header(MpegEncContext *s) { + SpeedHQEncContext *ctx = (SpeedHQEncContext*)s; + put_bits_le(&s->pb, 8, 100 - s->qscale * 2); /* FIXME why doubled */ put_bits_le(&s->pb, 24, 4); /* no second field */ + ctx->slice_start = 4; /* length of first slice, will be filled out later */ - s->slice_start = 4; put_bits_le(&s->pb, 24, 0); } void ff_speedhq_end_slice(MpegEncContext *s) { + SpeedHQEncContext *ctx = (SpeedHQEncContext*)s; int slice_len; flush_put_bits_le(&s->pb); - slice_len = s->pb.buf_ptr - (s->pb.buf + s->slice_start); - AV_WL24(s->pb.buf + s->slice_start, slice_len); + slice_len = put_bytes_output(&s->pb) - ctx->slice_start; + AV_WL24(s->pb.buf + ctx->slice_start, slice_len); /* length of next slice, will be filled out later */ - s->slice_start = s->pb.buf_ptr - s->pb.buf; + ctx->slice_start = put_bytes_output(&s->pb); put_bits_le(&s->pb, 24, 0); } @@ -274,7 +283,7 @@ const AVCodec ff_speedhq_encoder = { .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_SPEEDHQ, .priv_class = &ff_mpv_enc_class, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(SpeedHQEncContext), .init = ff_mpv_encode_init, .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, -- 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".