From patchwork Sun Mar 19 09:59:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 40721 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:d046:b0:cd:afd7:272c with SMTP id hv6csp998999pzb; Sun, 19 Mar 2023 02:59:19 -0700 (PDT) X-Google-Smtp-Source: AK7set//rDUoMtPOSNRvH/q/BgOfaY1m5lD7kEYd7mjZRL/JQTpjubXCPWNoO/HrEtLUX0KNz6S/ X-Received: by 2002:aa7:c957:0:b0:4fb:9372:f837 with SMTP id h23-20020aa7c957000000b004fb9372f837mr9292612edt.4.1679219959007; Sun, 19 Mar 2023 02:59:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679219958; cv=none; d=google.com; s=arc-20160816; b=I2wL2ZQ7kNKUrtmdG3gXm67uoYz4+tmNbyh/0Vreuvep5CZuIsaJ8aY3GhL8/rpRTl DXwBgPbng2gHModvfi2d+AN1RqtLGjLeJGMyNAoaxXZFaj04j1hvnPqbSyYSUQu1hlmT 7+ig9J3f8WPeE4/4OgVS0xLX8Yy06WudjV4SVOO0QgQCRz5YBCs8BpOhSchkOuFE3VFz UpeB4wilznhAlVAiaYsOnStv7s12srPQV6bcaLnfDeLLL8vX6N4L7aT8EMsjV3Y7wko+ i+au/dLq9DwWkwfxcvPbTtWI2AXYsAEjay/Bej6j8nG9zearG+OtdOx9PLkRRP9ha7LV 5mww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=TbgnZLtt4rFOjWW9I5dVc3/VwKg3v6wtEBDMLtPOU28=; b=tJzF83sY1J1CvEl/H3Zt7+cG3lwq9OfoqbOPT3tX/WM5vOIefRk0dfiwpWmWarsk+n WXksd+aVhMpNyCZXb1Q/K80Zo192r6e9C08nu+a/uzCJp6N32i+6Oo4q+VAWnaO2crvq qdoGPp+RSAOfwuAwst+QqMd6Ig5jaiITltW3oNVzYi8eZ1vifzlfsq6Ne+1r3Apdaew1 QvkBQsrRsLV5jZuKu0YHNT3nSsOGbg+NOsM2OsowN/3Ed/lIND+lxxPSIg+gHTiG3/5B j603AqCg7iQXtIiHSqSvsyNYYOOUDUYxAN6UTuyItrqmrrWOoetQObzqAOdjT7Gzlzl6 TgjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=LCT3JVeg; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y6-20020a50e606000000b004aaa653a74asi7710817edm.596.2023.03.19.02.59.18; Sun, 19 Mar 2023 02:59:18 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=LCT3JVeg; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 068D768C367; Sun, 19 Mar 2023 11:59:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D9DE068C042 for ; Sun, 19 Mar 2023 11:59:08 +0200 (EET) Received: by mail-lf1-f49.google.com with SMTP id q16so680350lfe.10 for ; Sun, 19 Mar 2023 02:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679219948; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=mmKfPCCBnQM0GyMnRhut5tYNFIuW39hcbC06Ehil3Rw=; b=LCT3JVegKOTrv+dL+kaYBrxNlm1f+7egdP0KJ9vPp7ZdVhePBm2MDHB2U4tEFk1atz sk5jlwqmS228ROPP8WRmeKtC4h8wi4BK/QTcM5X/gsDByNf6UYKhBUhkeFFL2CRV+k+k k+v5HizIUzeVYdmm7jZIeRLFg2f2PfSZQt/2jtXXefvKFoiXLWM9ykorpHBHZ4/fNnwV IkuhhzkpnH0RzDRzZSViX3hGuYqvpH8RqOi2oM1jUHT6bESm7wXzGOcrspYnBZZxvel1 T+E4IeESkzGEeio6+etBlZzBmeQI6heZUX92o9NrKsgTOxweMngBfRTKFrtFy5shhe0T nsoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679219948; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mmKfPCCBnQM0GyMnRhut5tYNFIuW39hcbC06Ehil3Rw=; b=XRN8xLIh98uY9bWojFfyy3QFKH4TTvWtQ9c4R0J2aCfbuEYSVBpRROUbGBw6wtXxzH 2XEoAJDnWZnZrnle2qvgFoQ36wEn/SYgW1pFyAXovksRK8sfcjyDPsL5EIqHhbrZL22E P/eYSJMSM7K52TRJ7xomdx/QVo260TxQNh1Sji0+5bSVem2qiy+HxRhXCJc/11P7fENq Fto1yIC1Mnq2yaz1Q4zWeOb5W1H3MjiQWK67yHLheeTaSlQ1FpfBbhVdDco87mAy8dEs APtS1GNhoJEH8nmZTfMJFS7hvfR3FuaVeYQ38K/5bKmehzpPgK0QRMOvwvaOWi8FERcN H8DA== X-Gm-Message-State: AO0yUKXzet1sQj4uepl+tq9FpznylXsby/HDp0b4CMLNQlJON0CB267m 7Ja5dkYjd7PjNMUMWF6U4ImRwzEN6s8= X-Received: by 2002:a05:6512:108e:b0:4db:3846:f908 with SMTP id j14-20020a056512108e00b004db3846f908mr2534481lfg.10.1679219947738; Sun, 19 Mar 2023 02:59:07 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id f5-20020ac25325000000b004db250355b3sm1184771lfh.138.2023.03.19.02.59.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Mar 2023 02:59:07 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 19 Mar 2023 11:59:01 +0200 Message-Id: <20230319095901.47831-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/frame: move counters utilized in loops to their scope 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: psPaASxCvPgn This way we can clean up separate definitions in functions with just a single loop, as well as have no reuse between different loops' counters in functions with multiple. --- libavutil/frame.c | 76 ++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 44 deletions(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index 9545477acc..97ce24a3ae 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -74,9 +74,7 @@ static void free_side_data(AVFrameSideData **ptr_sd) static void wipe_side_data(AVFrame *frame) { - int i; - - for (i = 0; i < frame->nb_side_data; i++) { + for (int i = 0; i < frame->nb_side_data; i++) { free_side_data(&frame->side_data[i]); } frame->nb_side_data = 0; @@ -108,7 +106,7 @@ void av_frame_free(AVFrame **frame) static int get_video_buffer(AVFrame *frame, int align) { const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format); - int ret, i, padded_height, total_size; + int ret, padded_height, total_size; int plane_padding = FFMAX(16 + 16/*STRIDE_ALIGN*/, align); ptrdiff_t linesizes[4]; size_t sizes[4]; @@ -123,7 +121,7 @@ static int get_video_buffer(AVFrame *frame, int align) if (align <= 0) align = 32; /* STRIDE_ALIGN. Should be av_cpu_max_align() */ - for(i=1; i<=align; i+=i) { + for (int i = 1; i <= align; i += i) { ret = av_image_fill_linesizes(frame->linesize, frame->format, FFALIGN(frame->width, i)); if (ret < 0) @@ -132,11 +130,11 @@ static int get_video_buffer(AVFrame *frame, int align) break; } - for (i = 0; i < 4 && frame->linesize[i]; i++) + for (int i = 0; i < 4 && frame->linesize[i]; i++) frame->linesize[i] = FFALIGN(frame->linesize[i], align); } - for (i = 0; i < 4; i++) + for (int i = 0; i < 4; i++) linesizes[i] = frame->linesize[i]; padded_height = FFALIGN(frame->height, 32); @@ -145,7 +143,7 @@ static int get_video_buffer(AVFrame *frame, int align) return ret; total_size = 4*plane_padding; - for (i = 0; i < 4; i++) { + for (int i = 0; i < 4; i++) { if (sizes[i] > INT_MAX - total_size) return AVERROR(EINVAL); total_size += sizes[i]; @@ -161,7 +159,7 @@ static int get_video_buffer(AVFrame *frame, int align) frame->buf[0]->data, frame->linesize)) < 0) goto fail; - for (i = 1; i < 4; i++) { + for (int i = 1; i < 4; i++) { if (frame->data[i]) frame->data[i] += i * plane_padding; } @@ -178,7 +176,7 @@ static int get_audio_buffer(AVFrame *frame, int align) { int planar = av_sample_fmt_is_planar(frame->format); int channels, planes; - int ret, i; + int ret; #if FF_API_OLD_CHANNEL_LAYOUT FF_DISABLE_DEPRECATION_WARNINGS @@ -219,7 +217,7 @@ FF_ENABLE_DEPRECATION_WARNINGS } else frame->extended_data = frame->data; - for (i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) { + for (int i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) { frame->buf[i] = av_buffer_alloc(frame->linesize[0]); if (!frame->buf[i]) { av_frame_unref(frame); @@ -227,7 +225,7 @@ FF_ENABLE_DEPRECATION_WARNINGS } frame->extended_data[i] = frame->data[i] = frame->buf[i]->data; } - for (i = 0; i < planes - AV_NUM_DATA_POINTERS; i++) { + for (int i = 0; i < planes - AV_NUM_DATA_POINTERS; i++) { frame->extended_buf[i] = av_buffer_alloc(frame->linesize[0]); if (!frame->extended_buf[i]) { av_frame_unref(frame); @@ -261,7 +259,7 @@ FF_ENABLE_DEPRECATION_WARNINGS static int frame_copy_props(AVFrame *dst, const AVFrame *src, int force_copy) { - int ret, i; + int ret; dst->key_frame = src->key_frame; dst->pict_type = src->pict_type; @@ -310,7 +308,7 @@ FF_ENABLE_DEPRECATION_WARNINGS av_dict_copy(&dst->metadata, src->metadata, 0); - for (i = 0; i < src->nb_side_data; i++) { + for (int i = 0; i < src->nb_side_data; i++) { const AVFrameSideData *sd_src = src->side_data[i]; AVFrameSideData *sd_dst; if ( sd_src->type == AV_FRAME_DATA_PANSCAN @@ -343,7 +341,7 @@ FF_ENABLE_DEPRECATION_WARNINGS int av_frame_ref(AVFrame *dst, const AVFrame *src) { - int i, ret = 0; + int ret = 0; av_assert1(dst->width == 0 && dst->height == 0); #if FF_API_OLD_CHANNEL_LAYOUT @@ -398,7 +396,7 @@ FF_ENABLE_DEPRECATION_WARNINGS } /* ref the buffers */ - for (i = 0; i < FF_ARRAY_ELEMS(src->buf); i++) { + for (int i = 0; i < FF_ARRAY_ELEMS(src->buf); i++) { if (!src->buf[i]) continue; dst->buf[i] = av_buffer_ref(src->buf[i]); @@ -417,7 +415,7 @@ FF_ENABLE_DEPRECATION_WARNINGS } dst->nb_extended_buf = src->nb_extended_buf; - for (i = 0; i < src->nb_extended_buf; i++) { + for (int i = 0; i < src->nb_extended_buf; i++) { dst->extended_buf[i] = av_buffer_ref(src->extended_buf[i]); if (!dst->extended_buf[i]) { ret = AVERROR(ENOMEM); @@ -477,16 +475,14 @@ AVFrame *av_frame_clone(const AVFrame *src) void av_frame_unref(AVFrame *frame) { - int i; - if (!frame) return; wipe_side_data(frame); - for (i = 0; i < FF_ARRAY_ELEMS(frame->buf); i++) + for (int i = 0; i < FF_ARRAY_ELEMS(frame->buf); i++) av_buffer_unref(&frame->buf[i]); - for (i = 0; i < frame->nb_extended_buf; i++) + for (int i = 0; i < frame->nb_extended_buf; i++) av_buffer_unref(&frame->extended_buf[i]); av_freep(&frame->extended_buf); av_dict_free(&frame->metadata); @@ -523,16 +519,16 @@ FF_ENABLE_DEPRECATION_WARNINGS int av_frame_is_writable(AVFrame *frame) { - int i, ret = 1; + int ret = 1; /* assume non-refcounted frames are not writable */ if (!frame->buf[0]) return 0; - for (i = 0; i < FF_ARRAY_ELEMS(frame->buf); i++) + for (int i = 0; i < FF_ARRAY_ELEMS(frame->buf); i++) if (frame->buf[i]) ret &= !!av_buffer_is_writable(frame->buf[i]); - for (i = 0; i < frame->nb_extended_buf; i++) + for (int i = 0; i < frame->nb_extended_buf; i++) ret &= !!av_buffer_is_writable(frame->extended_buf[i]); return ret; @@ -599,7 +595,7 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src) AVBufferRef *av_frame_get_plane_buffer(AVFrame *frame, int plane) { uint8_t *data; - int planes, i; + int planes; if (frame->nb_samples) { int channels = frame->ch_layout.nb_channels; @@ -622,12 +618,12 @@ FF_ENABLE_DEPRECATION_WARNINGS return NULL; data = frame->extended_data[plane]; - for (i = 0; i < FF_ARRAY_ELEMS(frame->buf) && frame->buf[i]; i++) { + for (int i = 0; i < FF_ARRAY_ELEMS(frame->buf) && frame->buf[i]; i++) { AVBufferRef *buf = frame->buf[i]; if (data >= buf->data && data < buf->data + buf->size) return buf; } - for (i = 0; i < frame->nb_extended_buf; i++) { + for (int i = 0; i < frame->nb_extended_buf; i++) { AVBufferRef *buf = frame->extended_buf[i]; if (data >= buf->data && data < buf->data + buf->size) return buf; @@ -682,9 +678,7 @@ AVFrameSideData *av_frame_new_side_data(AVFrame *frame, AVFrameSideData *av_frame_get_side_data(const AVFrame *frame, enum AVFrameSideDataType type) { - int i; - - for (i = 0; i < frame->nb_side_data; i++) { + for (int i = 0; i < frame->nb_side_data; i++) { if (frame->side_data[i]->type == type) return frame->side_data[i]; } @@ -694,7 +688,7 @@ AVFrameSideData *av_frame_get_side_data(const AVFrame *frame, static int frame_copy_video(AVFrame *dst, const AVFrame *src) { const uint8_t *src_data[4]; - int i, planes; + int planes; if (dst->width < src->width || dst->height < src->height) @@ -704,7 +698,7 @@ static int frame_copy_video(AVFrame *dst, const AVFrame *src) return av_hwframe_transfer_data(dst, src, 0); planes = av_pix_fmt_count_planes(dst->format); - for (i = 0; i < planes; i++) + for (int i = 0; i < planes; i++) if (!dst->data[i] || !src->data[i]) return AVERROR(EINVAL); @@ -721,7 +715,6 @@ static int frame_copy_audio(AVFrame *dst, const AVFrame *src) int planar = av_sample_fmt_is_planar(dst->format); int channels = dst->ch_layout.nb_channels; int planes = planar ? channels : 1; - int i; #if FF_API_OLD_CHANNEL_LAYOUT FF_DISABLE_DEPRECATION_WARNINGS @@ -749,7 +742,7 @@ FF_ENABLE_DEPRECATION_WARNINGS #endif return AVERROR(EINVAL); - for (i = 0; i < planes; i++) + for (int i = 0; i < planes; i++) if (!dst->extended_data[i] || !src->extended_data[i]) return AVERROR(EINVAL); @@ -781,9 +774,7 @@ FF_ENABLE_DEPRECATION_WARNINGS void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type) { - int i; - - for (i = frame->nb_side_data - 1; i >= 0; i--) { + for (int i = frame->nb_side_data - 1; i >= 0; i--) { AVFrameSideData *sd = frame->side_data[i]; if (sd->type == type) { free_side_data(&frame->side_data[i]); @@ -830,9 +821,7 @@ const char *av_frame_side_data_name(enum AVFrameSideDataType type) static int calc_cropping_offsets(size_t offsets[4], const AVFrame *frame, const AVPixFmtDescriptor *desc) { - int i, j; - - for (i = 0; frame->data[i]; i++) { + for (int i = 0; frame->data[i]; i++) { const AVComponentDescriptor *comp = NULL; int shift_x = (i == 1 || i == 2) ? desc->log2_chroma_w : 0; int shift_y = (i == 1 || i == 2) ? desc->log2_chroma_h : 0; @@ -843,7 +832,7 @@ static int calc_cropping_offsets(size_t offsets[4], const AVFrame *frame, } /* find any component descriptor for this plane */ - for (j = 0; j < desc->nb_components; j++) { + for (int j = 0; j < desc->nb_components; j++) { if (desc->comp[j].plane == i) { comp = &desc->comp[j]; break; @@ -863,7 +852,6 @@ int av_frame_apply_cropping(AVFrame *frame, int flags) { const AVPixFmtDescriptor *desc; size_t offsets[4]; - int i; if (!(frame->width > 0 && frame->height > 0)) return AVERROR(EINVAL); @@ -898,7 +886,7 @@ int av_frame_apply_cropping(AVFrame *frame, int flags) int log2_crop_align = frame->crop_left ? ff_ctz(frame->crop_left) : INT_MAX; int min_log2_align = INT_MAX; - for (i = 0; frame->data[i]; i++) { + for (int i = 0; frame->data[i]; i++) { int log2_align = offsets[i] ? ff_ctz(offsets[i]) : INT_MAX; min_log2_align = FFMIN(log2_align, min_log2_align); } @@ -914,7 +902,7 @@ int av_frame_apply_cropping(AVFrame *frame, int flags) } } - for (i = 0; frame->data[i]; i++) + for (int i = 0; frame->data[i]; i++) frame->data[i] += offsets[i]; frame->width -= (frame->crop_left + frame->crop_right);