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 C250B42665 for ; Wed, 5 Jan 2022 21:25:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 106DE68AD28; Wed, 5 Jan 2022 23:25:35 +0200 (EET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072100.outbound.protection.outlook.com [40.92.72.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1B4FA680588 for ; Wed, 5 Jan 2022 23:25:26 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cfA8cB1WNqqx1nwRVLCNmvzQo3mX0wsTxqlW81wV4+XvnPUggkMLuP1gzFFlyV13hOcat7L5anWWBH2LuFb7trN52HiAJaxG35oAStxL+4VuyIW0m9ulm7FZyMKJ1MHnVNpaiHpSOQN8e0P0PLrUFfewIq4SO0a6+hfjN95tNKKs7eOQ/lhLHiDrAL9yW8vjyvHeYgpB8KLyj+TPUiKz4kJ68wK3TvTI3y7kRINQsKL6Jf8NJm7Ldx1Ab1cG7NgtMwQIS102gUP1uK+BtFkpt7VJzfh/dxFhxEViGYTSoxt79sQRQvFkIOhmsVpMKKeMcF0+3R+5sdLVzqcfOWNtxQ== 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=bKxcI3W2n8SuR1DT/6p/vw2wZZU33es5KGA8NgOypx0=; b=JysOxb1VHXQMZyGp98BV9D9YzGggqX3sm6QA72e5QTzw1gHmextzOA1ad1ab+uZO4GBnlSnwn+Ymld4qmQYeLdapz/DbEsAftZBtPekkEuUyL5QLwnTdbhURtABQHoOAcd0UVNS3pSMnMS3Ppu0M/XBK9Q5CnRfEixXulix5K+DjS5lLponBnXcOLfmzCLZ8Y2aNNkyY+VCzTKSLBwAGT9/7YG4011kINrAQF8Z20yPKQYW7h7Gzh6omdu+GC7D+AkPimafsagb7PtoCRf6ozrv9C66Bdo6p8YA3f2pCJP7olsfLV5N6zT34dhPSVk44Y30kmsP5pd/gwWqT1KNs1Q== 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=bKxcI3W2n8SuR1DT/6p/vw2wZZU33es5KGA8NgOypx0=; b=g1bmu9ZsNrK5HnjjntNZdk4GWS81lxkpvcTPjhQlEEwAJe/eTh1mQ0X+231iy129ik/+8mcnNzOTUyLZ5C4gvulUCAipBK7BcGyfOqTTTqat6sWWmMtyFqtMQ3IFCfVENI8sb0kl53NbWGi4olhQXWwIt/hfbhHCqihWt4YpOfWu6yMcSJjlGdho6JXO7SZYQRxvc1jXgAYkyv3IirHsHhtrsZ0SkwKchAD3wiBp/mab/AEGR17OtkWjgyBH2vyyLeswgmhZtSYRKCnx7Ad0sSnvV4iBkkzbX9/YHI8VvvQ4HO1OEhoDPxUYiwXM/9j1Rj0cM/Br2gFUQoOdXD24bA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR0302MB3398.eurprd03.prod.outlook.com (2603:10a6:209:18::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.16; Wed, 5 Jan 2022 21:25:24 +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.009; Wed, 5 Jan 2022 21:25:24 +0000 Message-ID: Date: Wed, 5 Jan 2022 22:25:23 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [7bir44jIrpJ2eiJwRLB1uopVtAl53edp] X-ClientProxiedBy: AM4PR0302CA0011.eurprd03.prod.outlook.com (2603:10a6:205:2::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 04a8c421-cea6-4a6e-3dc7-08d9d091e2fd X-MS-TrafficTypeDiagnostic: AM6PR0302MB3398:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ocj1QXSB5GljVtxtURebYKN/P2Gj/LL0YgqPVNcPPvEvIV82lnZdU/jbHRPlXn91axV5huZYYpb3dpq0S6XKNe88Fg3wh3GBfQTHlQALkxftZ1Po1DPR9/8sbLmPFXpAoHoiqJoR5I1d0dTYSQxo+RU1qsBuXL84MwrDS19Ymzh+c628UCCtAXQ3mAwrMTh33W+hv92M3Q0kdoVvsjZy31FXW+w6S55kNFW3YbDUrLb8MCZpyi3A9hO2BAjlrGuJ2w60SErh9cdbOacBrFn9P7QqWo+ccdQfSKU7zSd0pIw64HbAmXxHxSmAY77mElQNc14JqdbL8lIH4SnhmwKvzW3UgL/ZMwHtKbMcbtubkyh6niNhqkRlvV2LfRrbUcB74gWQcUXRdbWHgk4QFtB0vuJ6LJtFuc+dN3RjxhNLcimX91nTStLisAKVzlGhwGm+mfPPvnjXsfkFpdg8EJXTPY7MrzJCYdJyYIb3GxmOjZ9NcyFArebakfYV7VnlwJmPE6Fy3QLpVbkuCarnCOZUxiE3Iub3OQv8EGVu0W4Wd0GyFG5bI08NpJKVV9HpTIDKvFLRBG3JAu3VTGpdh2k0yw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ay96c3hHN05lcGJ5VHdqQXdPcldHUmhuTWhDbnNRK1hiUVZxZlNQNzJUY2J4?= =?utf-8?B?Z2s5M0tkNzhVV1U2cytoU3RNUzFGRXhJdy9Ld1JFY3FVSEJrT1V5QisyQkhC?= =?utf-8?B?MXI0YjhqaGVnMEhyM3NqREFIZmJXZGQvWVBDemUrV1FacVJEcU4wbVJUUCtZ?= =?utf-8?B?M2RCK2M0NUN5MThQemJvRjV1elhHK0pxRElrbVc3eXlKSXNWZ2pRZDZkcEU0?= =?utf-8?B?Q2h6NWwxTm14ellrNjJ4M0JsUmY5aXUzL0VGWkpaSGdNOFBEVzM5Z1R2eVpN?= =?utf-8?B?TlJTcndjcWdvcHMySDNldmZTdnFYNldaaTJGUGRnUFhrN3E1cDVmdkxKOHRT?= =?utf-8?B?Uk9LN2ZxRVN2S3FiSUdlWUg5bW1BRW8wNVRkeTRDLzltcDRFSXBHSjNpYUVh?= =?utf-8?B?ZkpRdWRUaFo0L1EzbmhwTTB3aTY1VXJpNlJHb2NVbVBnRE02N1JxRzFLTGt1?= =?utf-8?B?Ymp1Q1ZwYXhwYjVkMWxJdWhsSjRVTXM3dStPSEd2allEUHdtL2J2bWhqaGJ5?= =?utf-8?B?WmJqeVVEdk9nbTVsb0JkNEY2Mk9HVUZzb3lXcmdId0xxS0RTQlh0UjRDclp3?= =?utf-8?B?Z0FrZEozOFJQOG5IMXVlN01CN2lqa0dDZEh0T2xHa0QxQ1lnTTRORTFlN0s3?= =?utf-8?B?WEZyOTBILzlCWExKZkRySm5uYTdMbHUvK3FvM1JkZzUwRzRpeXpmbEYvVW1Z?= =?utf-8?B?NFFPL09PWDVVMHhnM2JtL3lMVkdkZnhFTSt2OWU1VnZjVGxVTHBCbXoxa1dY?= =?utf-8?B?SEtUVVBranV4cC9lL1dmNFZQWWkzRXoxN1FMT3d2VmU3cGtCVEk3WDFMNXFT?= =?utf-8?B?OFIySWRpbmhjZnJ6cXNkdEQ1T0RJbUZjaVllY2VKYmhlMWFQWTRDY3ZKMWJ4?= =?utf-8?B?U2VaVmZkN3MxVU9BV293anhUYWR3WXBseTdsM1FjUHYrOHlOOVNjS3k5cFBt?= =?utf-8?B?VmJqbkswemh6RFlBU1RhUk1mMGZuQVNyWWZXbEh1NGdSWEw2WjhxelViWG1Q?= =?utf-8?B?K041cVpEZU04cTllK2pkTHpHNzJPdW1td2MwL1RYcWxNeW5rWUs3MGJCMktr?= =?utf-8?B?Lzc4eDF6VnRTc2pvMzJKWnZLTWlveDRvNHVsc2xRNldodmNnNEJxbzY0bUhW?= =?utf-8?B?N0k5ZVFzUXp2Ukxmc2c0YmRkTUhNbHprcEJyMGIvazdNL3ZBdHYxY0NjVDFz?= =?utf-8?B?TVV3N3dlU3M0VzFOTldrSU1CVk91anFrd0tKc1QwY0NVT3B4QUVUTFdkUnhY?= =?utf-8?B?THNsUzdTK0VxamsyUGNpUUlaY3BieHZMN2FOQkRqMjFHUWFsQT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04a8c421-cea6-4a6e-3dc7-08d9d091e2fd X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 21:25:24.8905 (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: AM6PR0302MB3398 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/golomb: Factor writing golomb codes out 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: Andreas Rheinhardt: > Most users only want to either read or write golomb codes, not both. > By splitting these headers one avoids having unnecesssary > (get|put)_hits.h inclusions. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/ffv1enc.c | 2 +- > libavcodec/flacenc.c | 2 +- > libavcodec/golomb.h | 132 ------------------------------ > libavcodec/hevc_ps_enc.c | 2 +- > libavcodec/jpeglsenc.c | 2 +- > libavcodec/put_golomb.h | 168 ++++++++++++++++++++++++++++++++++++++ > libavcodec/sonic.c | 1 + > libavcodec/tests/golomb.c | 1 + > 8 files changed, 174 insertions(+), 136 deletions(-) > create mode 100644 libavcodec/put_golomb.h > > diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c > index 69b9065343..d29f62bf56 100644 > --- a/libavcodec/ffv1enc.c > +++ b/libavcodec/ffv1enc.c > @@ -36,8 +36,8 @@ > #include "encode.h" > #include "internal.h" > #include "put_bits.h" > +#include "put_golomb.h" > #include "rangecoder.h" > -#include "golomb.h" > #include "mathops.h" > #include "ffv1.h" > > diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c > index 595928927d..9f6f449323 100644 > --- a/libavcodec/flacenc.c > +++ b/libavcodec/flacenc.c > @@ -30,7 +30,7 @@ > #include "bswapdsp.h" > #include "encode.h" > #include "put_bits.h" > -#include "golomb.h" > +#include "put_golomb.h" > #include "internal.h" > #include "lpc.h" > #include "flac.h" > diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h > index 4d531cf805..8233871137 100644 > --- a/libavcodec/golomb.h > +++ b/libavcodec/golomb.h > @@ -33,7 +33,6 @@ > #include > > #include "get_bits.h" > -#include "put_bits.h" > > #define INVALID_VLC 0x80000000 > > @@ -615,135 +614,4 @@ static inline int get_te(GetBitContext *s, int r, char *file, const char *func, > #define get_te0_golomb(a, r) get_te(a, r, __FILE__, __func__, __LINE__) > > #endif /* TRACE */ > - > -/** > - * write unsigned exp golomb code. 2^16 - 2 at most > - */ > -static inline void set_ue_golomb(PutBitContext *pb, int i) > -{ > - av_assert2(i >= 0); > - av_assert2(i <= 0xFFFE); > - > - if (i < 256) > - put_bits(pb, ff_ue_golomb_len[i], i + 1); > - else { > - int e = av_log2(i + 1); > - put_bits(pb, 2 * e + 1, i + 1); > - } > -} > - > -/** > - * write unsigned exp golomb code. 2^32-2 at most. > - */ > -static inline void set_ue_golomb_long(PutBitContext *pb, uint32_t i) > -{ > - av_assert2(i <= (UINT32_MAX - 1)); > - > - if (i < 256) > - put_bits(pb, ff_ue_golomb_len[i], i + 1); > - else { > - int e = av_log2(i + 1); > - put_bits64(pb, 2 * e + 1, i + 1); > - } > -} > - > -/** > - * write truncated unsigned exp golomb code. > - */ > -static inline void set_te_golomb(PutBitContext *pb, int i, int range) > -{ > - av_assert2(range >= 1); > - av_assert2(i <= range); > - > - if (range == 2) > - put_bits(pb, 1, i ^ 1); > - else > - set_ue_golomb(pb, i); > -} > - > -/** > - * write signed exp golomb code. 16 bits at most. > - */ > -static inline void set_se_golomb(PutBitContext *pb, int i) > -{ > - i = 2 * i - 1; > - if (i < 0) > - i ^= -1; //FIXME check if gcc does the right thing > - set_ue_golomb(pb, i); > -} > - > -/** > - * write unsigned golomb rice code (ffv1). > - */ > -static inline void set_ur_golomb(PutBitContext *pb, int i, int k, int limit, > - int esc_len) > -{ > - int e; > - > - av_assert2(i >= 0); > - > - e = i >> k; > - if (e < limit) > - put_bits(pb, e + k + 1, (1 << k) + av_mod_uintp2(i, k)); > - else > - put_bits(pb, limit + esc_len, i - limit + 1); > -} > - > -/** > - * write unsigned golomb rice code (jpegls). > - */ > -static inline void set_ur_golomb_jpegls(PutBitContext *pb, int i, int k, > - int limit, int esc_len) > -{ > - int e; > - > - av_assert2(i >= 0); > - > - e = (i >> k) + 1; > - if (e < limit) { > - while (e > 31) { > - put_bits(pb, 31, 0); > - e -= 31; > - } > - put_bits(pb, e, 1); > - if (k) > - put_sbits(pb, k, i); > - } else { > - while (limit > 31) { > - put_bits(pb, 31, 0); > - limit -= 31; > - } > - put_bits(pb, limit, 1); > - put_bits(pb, esc_len, i - 1); > - } > -} > - > -/** > - * write signed golomb rice code (ffv1). > - */ > -static inline void set_sr_golomb(PutBitContext *pb, int i, int k, int limit, > - int esc_len) > -{ > - int v; > - > - v = -2 * i - 1; > - v ^= (v >> 31); > - > - set_ur_golomb(pb, v, k, limit, esc_len); > -} > - > -/** > - * write signed golomb rice code (flac). > - */ > -static inline void set_sr_golomb_flac(PutBitContext *pb, int i, int k, > - int limit, int esc_len) > -{ > - int v; > - > - v = -2 * i - 1; > - v ^= (v >> 31); > - > - set_ur_golomb_jpegls(pb, v, k, limit, esc_len); > -} > - > #endif /* AVCODEC_GOLOMB_H */ > diff --git a/libavcodec/hevc_ps_enc.c b/libavcodec/hevc_ps_enc.c > index 47f252dd2c..72641b2ffb 100644 > --- a/libavcodec/hevc_ps_enc.c > +++ b/libavcodec/hevc_ps_enc.c > @@ -18,7 +18,7 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > */ > > -#include "golomb.h" > +#include "put_golomb.h" > #include "hevc_ps.h" > #include "put_bits.h" > > diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c > index beae3bb77f..83b2350a15 100644 > --- a/libavcodec/jpeglsenc.c > +++ b/libavcodec/jpeglsenc.c > @@ -32,7 +32,7 @@ > #include "encode.h" > #include "get_bits.h" > #include "put_bits.h" > -#include "golomb.h" > +#include "put_golomb.h" > #include "internal.h" > #include "mathops.h" > #include "mjpeg.h" > diff --git a/libavcodec/put_golomb.h b/libavcodec/put_golomb.h > new file mode 100644 > index 0000000000..9ca911fc3c > --- /dev/null > +++ b/libavcodec/put_golomb.h > @@ -0,0 +1,168 @@ > +/* > + * exp golomb vlc writing stuff > + * Copyright (c) 2003 Michael Niedermayer > + * Copyright (c) 2004 Alex Beregszaszi > + * > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with FFmpeg; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +/** > + * @file > + * @brief > + * exp golomb vlc writing stuff > + * @author Michael Niedermayer and Alex Beregszaszi > + */ > + > +#ifndef AVCODEC_PUT_GOLOMB_H > +#define AVCODEC_PUT_GOLOMB_H > + > +#include > +#include "put_bits.h" > + > +extern const uint8_t ff_ue_golomb_len[256]; > + > +/** > + * write unsigned exp golomb code. 2^16 - 2 at most > + */ > +static inline void set_ue_golomb(PutBitContext *pb, int i) > +{ > + av_assert2(i >= 0); > + av_assert2(i <= 0xFFFE); > + > + if (i < 256) > + put_bits(pb, ff_ue_golomb_len[i], i + 1); > + else { > + int e = av_log2(i + 1); > + put_bits(pb, 2 * e + 1, i + 1); > + } > +} > + > +/** > + * write unsigned exp golomb code. 2^32-2 at most. > + */ > +static inline void set_ue_golomb_long(PutBitContext *pb, uint32_t i) > +{ > + av_assert2(i <= (UINT32_MAX - 1)); > + > + if (i < 256) > + put_bits(pb, ff_ue_golomb_len[i], i + 1); > + else { > + int e = av_log2(i + 1); > + put_bits64(pb, 2 * e + 1, i + 1); > + } > +} > + > +/** > + * write truncated unsigned exp golomb code. > + */ > +static inline void set_te_golomb(PutBitContext *pb, int i, int range) > +{ > + av_assert2(range >= 1); > + av_assert2(i <= range); > + > + if (range == 2) > + put_bits(pb, 1, i ^ 1); > + else > + set_ue_golomb(pb, i); > +} > + > +/** > + * write signed exp golomb code. 16 bits at most. > + */ > +static inline void set_se_golomb(PutBitContext *pb, int i) > +{ > + i = 2 * i - 1; > + if (i < 0) > + i ^= -1; //FIXME check if gcc does the right thing > + set_ue_golomb(pb, i); > +} > + > +/** > + * write unsigned golomb rice code (ffv1). > + */ > +static inline void set_ur_golomb(PutBitContext *pb, int i, int k, int limit, > + int esc_len) > +{ > + int e; > + > + av_assert2(i >= 0); > + > + e = i >> k; > + if (e < limit) > + put_bits(pb, e + k + 1, (1 << k) + av_mod_uintp2(i, k)); > + else > + put_bits(pb, limit + esc_len, i - limit + 1); > +} > + > +/** > + * write unsigned golomb rice code (jpegls). > + */ > +static inline void set_ur_golomb_jpegls(PutBitContext *pb, int i, int k, > + int limit, int esc_len) > +{ > + int e; > + > + av_assert2(i >= 0); > + > + e = (i >> k) + 1; > + if (e < limit) { > + while (e > 31) { > + put_bits(pb, 31, 0); > + e -= 31; > + } > + put_bits(pb, e, 1); > + if (k) > + put_sbits(pb, k, i); > + } else { > + while (limit > 31) { > + put_bits(pb, 31, 0); > + limit -= 31; > + } > + put_bits(pb, limit, 1); > + put_bits(pb, esc_len, i - 1); > + } > +} > + > +/** > + * write signed golomb rice code (ffv1). > + */ > +static inline void set_sr_golomb(PutBitContext *pb, int i, int k, int limit, > + int esc_len) > +{ > + int v; > + > + v = -2 * i - 1; > + v ^= (v >> 31); > + > + set_ur_golomb(pb, v, k, limit, esc_len); > +} > + > +/** > + * write signed golomb rice code (flac). > + */ > +static inline void set_sr_golomb_flac(PutBitContext *pb, int i, int k, > + int limit, int esc_len) > +{ > + int v; > + > + v = -2 * i - 1; > + v ^= (v >> 31); > + > + set_ur_golomb_jpegls(pb, v, k, limit, esc_len); > +} > + > +#endif /* AVCODEC_PUT_GOLOMB_H */ > diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c > index 63a613f77d..cf1cfb1460 100644 > --- a/libavcodec/sonic.c > +++ b/libavcodec/sonic.c > @@ -23,6 +23,7 @@ > #include "get_bits.h" > #include "golomb.h" > #include "internal.h" > +#include "put_golomb.h" > #include "rangecoder.h" > > > diff --git a/libavcodec/tests/golomb.c b/libavcodec/tests/golomb.c > index 85b8a9390b..061cc013ce 100644 > --- a/libavcodec/tests/golomb.c > +++ b/libavcodec/tests/golomb.c > @@ -27,6 +27,7 @@ > #include "libavcodec/get_bits.h" > #include "libavcodec/golomb.h" > #include "libavcodec/put_bits.h" > +#include "libavcodec/put_golomb.h" > > #define COUNT 8191 > #define SIZE (COUNT * 4) > Will apply tomorrow unless there are objections. - Andreas _______________________________________________ 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".