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 C30934036D for ; Mon, 20 Dec 2021 15:04:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A868C68AF80; Mon, 20 Dec 2021 17:04:03 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2012.outbound.protection.outlook.com [40.92.90.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C0E9068AF52 for ; Mon, 20 Dec 2021 17:03:57 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aon0nrtNtMLnTAI2J+Xz6lc5wqNWtVdfIc/hfRJSlfnxM3PxjnBW7wlg9JVzFpfuq5mi+8DRIUjrgaopdFV7U+ouWaNmfgQiW0ZdVWkZffSA47bi2EPk4TEGyeqnmmgICqyIRmD5jgZ6cbNdqrcxFc1xuqaNGjWUPONPDbpvCyMMzyO58vsuq+3DiD3exJNcGbFm32CWzL9d4jwdGzMq7t6pdesZ5CY940wuwEPc7bCJnGBqASikUCM3Kx3k6lQewoCKZt/MbFKW+EUkyWN5lG0B/bEts3WXrHqdSfiY+dcf9JIBeYKwFuoK8af20gukED8D380OJLFn9A0Kzi7yZQ== 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=KCPHHgKlISOB+P1iG67ScAVdohPc1JInG1BVF0o3W/c=; b=TXWXbgjRNl2R/Wvk86tFUUgqSiQubTZwt0EZ2wiYTTagFKTG6oBYAJ+0/SVgBsdNJWErMES+cO71XV5C1Btj8mbsMRpGbZN52mii2WyciwGSxtOpRh4aAdN8Pv2ybmrDC0qAZldlN4HF3M2VJxZAXXAengGkVhkB9Bc+gWf8X7LlreG90a+loLZ4GiXYIkDbTMrU/lFHf0RYZdyuc2bkXtVYy4e5rTBFimnr3jHtxHvosjl/mHXOWw0BrPs2z9J5c/LLmhv8ZIvgPbzEBAkjfzBnzOGbyu3GiD2JMhxl66MVHOnSLctnf162JJn/vZ4FxkcU9EN91B9ZCqaQB4uXOA== 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=KCPHHgKlISOB+P1iG67ScAVdohPc1JInG1BVF0o3W/c=; b=nsrWkTtfLlYSlmf3nwBqf9RYa0FYEXzlLa7M/G1G0g5yWxPycLRtm8KXZupwZHet3wbRyVTCFFFEH1n+Au1tThhqLYy0y3heM+jn1xUrHdK5XkkzthX0q1lJSf6N1ImukF4yvC6IyNnVVS8LYVLttbmDmja9ghQG9CM4epl0zfg9NwMVX8n8/sGAoOcF6gKKQl4OnpDI8is/AS+jLib+Mh/SjQgsWWBkXZLYc6UEMsYUa8fv+lhtrdHM1axlY8gXDmMdNBm2NCqyKQX9561zE6abg6DLhZrDsC3dAxUTdnSVYYoVms6NDoxh4Yeqg/3orvfyro5aFrSqsht9Hhkn9g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR0302MB3191.eurprd03.prod.outlook.com (2603:10a6:209:19::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 15:03:56 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 15:03:56 +0000 Message-ID: Date: Mon, 20 Dec 2021 16:03:54 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [PtJ3lXATWIsopjgk6KriZApv2CjxE7K4] X-ClientProxiedBy: FR0P281CA0069.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::22) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <36ea6a8c-85f3-78f5-df45-cb77dcf7b05d@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5d2ce735-c7d8-4d70-8139-08d9c3c9f19a X-MS-TrafficTypeDiagnostic: AM6PR0302MB3191:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hAjLnCP0SCNYOscrxNAoRMAjyWxU4p8o7Uz2CwPexMbZdKqnBftcORuC2KtDbl6++NzKxlvB9DGENtg37uWSNuZv9wPxpoLb2vFSDJEpSu0TMzi1lJAeFhXkkreJ3tP24fWfCleo+KI+J2p50kx2P3wB1IGd+1ZNbaX4IBezbRqy5RRj8T7G7mRclXvVdJGg+WC79j3YEN5rk94VU4g8NPO0JZsEKOFLoZdP/TPmPXySeMcoC6YhEPArE/cVrt/PuqSFVCxrRgAstWAl4knvcZLyt/r6nHMDvEWDPIonIPi3W242tA5vZYcjnWvQb32qGblTuxLT31/XIemDEI2J9sM4YZeMCnBo45RKB5Mipi9ft7Q8FeRXNXjRND7WIRkVLLDzydfVbzUNSNF1IBBwbvI4PPE7cKfJ+VhTHcn7H7Zl6A4NmRRF92XvYDOZPDJWxX3/dqYHpzMQs+Qff3yoI11nIWFhsMa2B+N0yNfDdRGtDwlnN0vB8PT5wBU78jSguaTa5eXRy8ks/qxVqOeafuUweqZuimbkIZqW3vQGU8WV13TCFsLaaMYrughF98kzgmOIiRmSELR8LUYA1exjaw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUVkVGROSFhoa1ZwN0M1SzRreDM0TXl3N1NranZNTENPZFhUbHQ3Sm4zS0RZ?= =?utf-8?B?Q0YrZlBpT0krUUU0aWRwWkhLSkdWYVhTS1hKMU5vUVZPZCtRdGlhNzZZMjhB?= =?utf-8?B?ODFWUFh5VUlxdXdPalIwRGZ5MDBnOURiV3NBTVk5dlNlUG5EQWE5VmdRMnJt?= =?utf-8?B?NFZJWHlSbFBxbVJubXRLODZWUkFCOHMxTmVSZnV3WE1GV0RzNStGcHlwSGtP?= =?utf-8?B?VVZXeGlmT0d0SmJPRkZqNHN2cVRPWERTNWRXd1NJOFh0UUdOSklnMDBXanRx?= =?utf-8?B?U0kxQ05BeUFTN3Q2S1h4a0M2MGxiN3dNOHdmYTVUWGhiMTdTUkF1RFJmN3NO?= =?utf-8?B?UnV4SkxrRm84MVFlaG9OV2w1K3dmM0g1UUlKNEFhR2lIUGVPajJxY1gxbFZz?= =?utf-8?B?blk0U3NxTkRHUDlqaUpTbDNzaVAySUl1dG4wQmdmME5kS0laRmZadEMzdjJG?= =?utf-8?B?L2M4R0EvQmFCaVFseXhzeFNOdTJHTVlNS0pDOERLQlp3OGR6dGJkRG9lNUNG?= =?utf-8?B?R0xXRFZnK281SUdVTWkrdlZnMnlndkd4TThZZG1xUWhwRE43WEpPQ1hwTHA3?= =?utf-8?B?NTBPYlJXTVRIL09rZlJYL2hlUFMrdkpoekY0VjlpZHZVR2FieG02anVWQVZB?= =?utf-8?B?QS85N2l2bjVzV3BHLzluWmplV0MvSDhVdmg2dDJLUXMyTDh6TlczdzgxOEh6?= =?utf-8?B?eWZLdGZBVEtCMEQ3NXhtN2NYRW5vOEhTSTY2LzJxMFFBY05KVmttM1ZadjIx?= =?utf-8?B?RW5HaHdQNWVnR0tIT3V2cE9ZQWpIRGgvS09CRE1HazArdkg1WWRqY0lqdndJ?= =?utf-8?B?cEhnTjNxL3FHMW1MeG1tVlhlVVY3MDFBaHNraVoxcTdBeW9mYkJKd3A5eHVn?= =?utf-8?B?ZUpvYVdkY2JlVFFGRGRBRHlNZ2cxL2lGeG93LzA0Slk1dEhnc3A0NElza0p0?= =?utf-8?B?Vm9KRjR0NmRrVFhwRS9zdVArS3FCMytyS2xtMFNDQjJUbEF2eDFMUFpsT1Iv?= =?utf-8?B?OVN5bGprY1B6MU1LRlVBTVVBQWFNZHMvbXlhU3ptVXpuMkRZdW1rUkx2SnZx?= =?utf-8?B?UU9TUVBxUmlncUpqRXllV0R4Q1c2SW0rVDVKM0dkdXZkeEZFelByUDQzNjhq?= =?utf-8?B?eUpPUDliUzJZY3lPLzdRWW5WUlpEbzgrWms2NmR5bDZWTisySjIxQ1VDM25B?= =?utf-8?B?SGRKei9zb2VKVGdrVU1relFyY1Y5c2laTmY4cjVGV2libEhLWk5yVkFGMFh6?= =?utf-8?B?S1djcXRaZ04xQlpmS1RocUR1U2t5WUxIRzV6QU1ZYzRjTzViQT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d2ce735-c7d8-4d70-8139-08d9c3c9f19a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2021 15:03:56.2818 (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: AM6PR0302MB3191 Subject: Re: [FFmpeg-devel] [PATCH 02/11] avcodec/raw: Reduce number of avpriv symbols 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: > libavcodec currently exports four avpriv symbols that deal with > PixelFormatTags: avpriv_get_raw_pix_fmt_tags, avpriv_find_pix_fmt, > avpriv_pix_fmt_bps_avi and avpriv_pix_fmt_bps_mov. The latter two are > lists of PixelFormatTags, the former returns such a list and the second > searches a list for a pixel format that matches a given fourcc; only > one of the aforementioned three lists is ever searched. > > Yet for avpriv_pix_fmt_bps_avi, avpriv_pix_fmt_bps_mov and > avpriv_find_pix_fmt the overhead of exporting these functions actually > exceeds the size of said objects (at least for ELF; the following numbers > are for x64 Ubuntu 20.10): > The code size of avpriv_find_pix_fmt is small (GCC 10.2 37B, Clang 11 41B), > yet exporting it adds a 20B string for the name alone to the exporting > as well as to each importing library; there is more: Four bytes in the > exporting libraries .gnu.hash; two bytes each for the exporting as well > as each importing libraries .gnu.version; 24B in the exporting as well > as each importing libraries .dynsym; 16B+24B for an entry in .plt as > well as the accompanying relocation entry in .rela.plt for each > importing library. > > The overhead for the lists is similar: The strings are 23B and the > .plt+.rela.plt pair is replaced by 8B+24B for an entry in .got and > a relocation entry in .rela.dyn. These lists have a size of 80 resp. > 72 bytes. > > Yet for ff_raw_pix_fmt_tags, exporting it is advantageous compared to > duplicating it into libavformat and potentially libavdevice. Therefore > this commit replaces all library uses of the four symbols with a single > function that is exported for shared builds. It has an enum parameter > to choose the desired list besides the parameter for the fourcc. New > lists can be supported with new enum values. > > Unfortunately, avpriv_get_raw_pix_fmt_tags could not be removed, as the > fourcc2pixfmt tool uses the table of raw pix fmts. No other user of this > function remains. > > Signed-off-by: Andreas Rheinhardt > --- > 1. It would make sense to deduplicate avpriv_pix_fmt_bps_(mov|avi) > size-wise if it is preferred to keep the lists accessible to users. > 2. One could handle the fourcc2pixfmt case in avpriv_pix_fmt_find(), > too, if one added another parameter (say count). In this case > avpriv_pix_fmt_find() will return the first pixfmt with the desired > fourcc if count is zero, the second one is count is 1 etc. (and > AV_PIX_FMT_NONE in case there is none any more). This would also make > this function more future-proof. > > libavcodec/raw.c | 40 +++++++++++++++++++++++++++++++++++----- > libavcodec/raw.h | 13 +++++++------ > libavcodec/rawdec.c | 8 ++++---- > libavcodec/utils.c | 11 ----------- > libavdevice/dshow.c | 2 +- > libavformat/avienc.c | 2 +- > libavformat/demux.c | 2 +- > libavformat/movenc.c | 2 +- > 8 files changed, 50 insertions(+), 30 deletions(-) > > diff --git a/libavcodec/raw.c b/libavcodec/raw.c > index 079d5c5d10..5efc1eb465 100644 > --- a/libavcodec/raw.c > +++ b/libavcodec/raw.c > @@ -28,7 +28,7 @@ > #include "raw.h" > #include "libavutil/common.h" > > -const PixelFormatTag ff_raw_pix_fmt_tags[] = { > +static const PixelFormatTag raw_pix_fmt_tags[] = { > { AV_PIX_FMT_YUV420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */ > { AV_PIX_FMT_YUV420P, MKTAG('I', 'Y', 'U', 'V') }, > { AV_PIX_FMT_YUV420P, MKTAG('y', 'v', '1', '2') }, > @@ -299,12 +299,12 @@ const PixelFormatTag ff_raw_pix_fmt_tags[] = { > > const struct PixelFormatTag *avpriv_get_raw_pix_fmt_tags(void) > { > - return ff_raw_pix_fmt_tags; > + return raw_pix_fmt_tags; > } > > unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat fmt) > { > - const PixelFormatTag *tags = ff_raw_pix_fmt_tags; > + const PixelFormatTag *tags = raw_pix_fmt_tags; > while (tags->pix_fmt >= 0) { > if (tags->pix_fmt == fmt) > return tags->fourcc; > @@ -313,7 +313,7 @@ unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat fmt) > return 0; > } > > -const PixelFormatTag avpriv_pix_fmt_bps_avi[] = { > +static const PixelFormatTag pix_fmt_bps_avi[] = { > { AV_PIX_FMT_PAL8, 1 }, > { AV_PIX_FMT_PAL8, 2 }, > { AV_PIX_FMT_PAL8, 4 }, > @@ -326,7 +326,7 @@ const PixelFormatTag avpriv_pix_fmt_bps_avi[] = { > { AV_PIX_FMT_NONE, 0 }, > }; > > -const PixelFormatTag avpriv_pix_fmt_bps_mov[] = { > +static const PixelFormatTag pix_fmt_bps_mov[] = { > { AV_PIX_FMT_PAL8, 1 }, > { AV_PIX_FMT_PAL8, 2 }, > { AV_PIX_FMT_PAL8, 4 }, > @@ -337,3 +337,33 @@ const PixelFormatTag avpriv_pix_fmt_bps_mov[] = { > { AV_PIX_FMT_PAL8, 33 }, > { AV_PIX_FMT_NONE, 0 }, > }; > + > +static enum AVPixelFormat find_pix_fmt(const PixelFormatTag *tags, > + unsigned int fourcc) > +{ > + while (tags->pix_fmt != AV_PIX_FMT_NONE) { > + if (tags->fourcc == fourcc) > + return tags->pix_fmt; > + tags++; > + } > + return AV_PIX_FMT_NONE; > +} > + > +enum AVPixelFormat avpriv_pix_fmt_find(enum PixelFormatTagLists list, > + unsigned fourcc) > +{ > + const PixelFormatTag *tags; > + > + switch (list) { > + case PIX_FMT_LIST_RAW: > + tags = raw_pix_fmt_tags; > + break; > + case PIX_FMT_LIST_AVI: > + tags = pix_fmt_bps_avi; > + break; > + case PIX_FMT_LIST_MOV: > + tags = pix_fmt_bps_mov; > + break; > + } > + return find_pix_fmt(tags, fourcc); > +} > diff --git a/libavcodec/raw.h b/libavcodec/raw.h > index 6a041690b1..9a4ddef8fc 100644 > --- a/libavcodec/raw.h > +++ b/libavcodec/raw.h > @@ -28,20 +28,21 @@ > #define AVCODEC_RAW_H > > #include "libavutil/pixfmt.h" > -#include "internal.h" > > typedef struct PixelFormatTag { > enum AVPixelFormat pix_fmt; > unsigned int fourcc; > } PixelFormatTag; > > -extern const PixelFormatTag ff_raw_pix_fmt_tags[]; // exposed through avpriv_get_raw_pix_fmt_tags() > - > const struct PixelFormatTag *avpriv_get_raw_pix_fmt_tags(void); > > -enum AVPixelFormat avpriv_find_pix_fmt(const PixelFormatTag *tags, unsigned int fourcc); > +enum PixelFormatTagLists { > + PIX_FMT_LIST_RAW, > + PIX_FMT_LIST_AVI, > + PIX_FMT_LIST_MOV, > +}; > > -extern av_export_avcodec const PixelFormatTag avpriv_pix_fmt_bps_avi[]; > -extern av_export_avcodec const PixelFormatTag avpriv_pix_fmt_bps_mov[]; > +enum AVPixelFormat avpriv_pix_fmt_find(enum PixelFormatTagLists list, > + unsigned fourcc); > > #endif /* AVCODEC_RAW_H */ > diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c > index b22e36e984..9724cce13f 100644 > --- a/libavcodec/rawdec.c > +++ b/libavcodec/rawdec.c > @@ -76,15 +76,15 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx) > > if ( avctx->codec_tag == MKTAG('r','a','w',' ') > || avctx->codec_tag == MKTAG('N','O','1','6')) > - avctx->pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_mov, > + avctx->pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_MOV, > avctx->bits_per_coded_sample); > else if (avctx->codec_tag == MKTAG('W', 'R', 'A', 'W')) > - avctx->pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi, > + avctx->pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_AVI, > avctx->bits_per_coded_sample); > else if (avctx->codec_tag && (avctx->codec_tag & 0xFFFFFF) != MKTAG('B','I','T', 0)) > - avctx->pix_fmt = avpriv_find_pix_fmt(ff_raw_pix_fmt_tags, avctx->codec_tag); > + avctx->pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_RAW, avctx->codec_tag); > else if (avctx->pix_fmt == AV_PIX_FMT_NONE && avctx->bits_per_coded_sample) > - avctx->pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi, > + avctx->pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_AVI, > avctx->bits_per_coded_sample); > > desc = av_pix_fmt_desc_get(avctx->pix_fmt); > diff --git a/libavcodec/utils.c b/libavcodec/utils.c > index a91a54b0dc..4d236ff1cd 100644 > --- a/libavcodec/utils.c > +++ b/libavcodec/utils.c > @@ -436,17 +436,6 @@ void ff_color_frame(AVFrame *frame, const int c[4]) > } > } > > -enum AVPixelFormat avpriv_find_pix_fmt(const PixelFormatTag *tags, > - unsigned int fourcc) > -{ > - while (tags->pix_fmt >= 0) { > - if (tags->fourcc == fourcc) > - return tags->pix_fmt; > - tags++; > - } > - return AV_PIX_FMT_NONE; > -} > - > int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){ > return !!(codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM); > } > diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c > index ef78781865..ec1501ef8e 100644 > --- a/libavdevice/dshow.c > +++ b/libavdevice/dshow.c > @@ -51,7 +51,7 @@ static enum AVPixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount) > return AV_PIX_FMT_0RGB32; > } > } > - return avpriv_find_pix_fmt(avpriv_get_raw_pix_fmt_tags(), biCompression); // all others > + return avpriv_pix_fmt_find(PIX_FMT_LIST_RAW, biCompression); // all others > } > > static int > diff --git a/libavformat/avienc.c b/libavformat/avienc.c > index 3fbde0be1e..be2493ce55 100644 > --- a/libavformat/avienc.c > +++ b/libavformat/avienc.c > @@ -448,7 +448,7 @@ static int avi_write_header(AVFormatContext *s) > par->bits_per_coded_sample = 16; > avist->pal_offset = avio_tell(pb) + 40; > ff_put_bmp_header(pb, par, 0, 0, avi->flipped_raw_rgb); > - pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi, > + pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_AVI, > par->bits_per_coded_sample); > if ( !par->codec_tag > && par->codec_id == AV_CODEC_ID_RAWVIDEO > diff --git a/libavformat/demux.c b/libavformat/demux.c > index 745dc8687c..360abd6014 100644 > --- a/libavformat/demux.c > +++ b/libavformat/demux.c > @@ -2795,7 +2795,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) > if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) { > if (avctx->codec_id == AV_CODEC_ID_RAWVIDEO && !avctx->codec_tag && !avctx->bits_per_coded_sample) { > uint32_t tag= avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt); > - if (avpriv_find_pix_fmt(avpriv_get_raw_pix_fmt_tags(), tag) == avctx->pix_fmt) > + if (avpriv_pix_fmt_find(PIX_FMT_LIST_RAW, tag) == avctx->pix_fmt) > avctx->codec_tag= tag; > } > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index 0f912dd012..7216331fa1 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -1636,7 +1636,7 @@ static int mov_get_rawvideo_codec_tag(AVFormatContext *s, MOVTrack *track) > } > } > > - pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_mov, > + pix_fmt = avpriv_pix_fmt_find(PIX_FMT_LIST_MOV, > track->par->bits_per_coded_sample); > if (tag == MKTAG('r','a','w',' ') && > track->par->format != pix_fmt && > Ping for this patchset. (I already applied the trivial first patch.) - 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".