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 ESMTPS id 5C3264E57E for ; Wed, 12 Mar 2025 09:21:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 285A468E67E; Wed, 12 Mar 2025 11:21:10 +0200 (EET) Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C0C7468E5A5 for ; Wed, 12 Mar 2025 11:21:03 +0200 (EET) Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43cf680d351so3787995e9.0 for ; Wed, 12 Mar 2025 02:21:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741771263; x=1742376063; darn=ffmpeg.org; h=thread-index:content-language:mime-version:message-id:date:subject :to:from:from:to:cc:subject:date:message-id:reply-to; bh=C3aJyN+DJcppiALU0mAv+Ib/yLQsXJO8pKNJ+F2ReEs=; b=fDYe6cmz2l/+raqQpLPC2VU9dTJX0S/4Kc31t33pQfP+GbVjvXhCEttnRjXamJPy69 oszL9fFsUgpu1Tng2MsTXJtfM1jp9AlyXji6yMTvZSMqhUxqePDeuS/Si3/fDjjHet3P 4Vl5EhQ7FGs7aq+jzXuqr4nGJ4sFtSPxihnP/sUc4aWHWMiKUDejxd3A9IA6oOYJsGr1 3n41QqBt9r/Z3LFCbeTyklW30iPRU4Qg6syfoEcMFHTC8gtzDPtVuHBALucNi9GLveYT 2LsdU1L1VypRERzU/TdGezMAUi6QsQMWu+s7a19fVI0ggO8Uueb+QNCiCOLjZKfAA2sB l52Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741771263; x=1742376063; h=thread-index:content-language:mime-version:message-id:date:subject :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=C3aJyN+DJcppiALU0mAv+Ib/yLQsXJO8pKNJ+F2ReEs=; b=MLejhoGE1Ksasp4xrgD/pitsDy9S7tFpN1JM3V5HW/MwtXWbeYZK72dxddBe+0QdHs qJjeeD+Pz1NaxxBKYHNXCIjcZTsGQqAlA0TmS1uKEAQykaeDUsakNucrCyO8gPqtsR/6 8FhWm0xFl6nnXMgpOeBzSvzu9zJEpBHxlHv/AQYpl4dXpMMz/i9GAfCxdcXQqTFq61Tb Vy6SSVNaIcgIj/LYJVB9B7hBxmraH/XjTcJdyT34F1+/LY3CVoAUKDZ2S0cOOgU/VKKV q9oSQYty0I7XL2p3gfzum3uLx35NQUVkSJMHmUvzNgeEeuK17j7rO40O+DA59wSc6B0l tCiQ== X-Gm-Message-State: AOJu0YzdrcVlELO3MkZsqbfkDU1d7qhCAwC49/CPJNIpqFaGw7bqnLAy lPNSv1ERjz89jJsxis9dvquHWZXGVh+cwvOP44Fark57RrkgpCG9ONRw8g== X-Gm-Gg: ASbGncvckVJIfhfyid2LgMrQwtWmUQUVICeEzfPmmExNxwLmCjVlsoS1uG0WXXlwy6a bQCH/NAjWSZOSLNHJLdS/V6F1Hcm5TaAbJ6uQahJHGr0F5Gdrv2CAO5cXXT27X+xcLIvkTS1T+i FPDZnsnAliyqRj+ipX0kzZxh8f9Yp0wgVZoYAL9ou6yjPEtl21yMOjCWYCammUSWCvVimaBOlwA NaJzU9RQSgw7BnR7OK8gVjmIxrqaCM6DQT8lEUudjHw/TghRS/5qY4kzPzLR9GsQ/caRn87JPJi htzNjLZngGwOQymmA4YUmxYcVT7uGGBp2vidwVjt7BVyje2sfj4WdA1wbXmWBLnYqtrlaFzMJ1Q GaUsctDuWBZzJNYw0 X-Google-Smtp-Source: AGHT+IFyhg1CFg6rg0kto9R08MsylkryHYB7qotjuNDEEfKrHK6D04VPCeUzHBLdcMfel7gEXwdVDg== X-Received: by 2002:a05:600c:5107:b0:43d:174:2668 with SMTP id 5b1f17b1804b1-43d01caa37fmr63649685e9.0.1741771262581; Wed, 12 Mar 2025 02:21:02 -0700 (PDT) Received: from MK2 (80-108-16-220.cable.dynamic.surfer.at. [80.108.16.220]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d0a74d4bbsm14917585e9.13.2025.03.12.02.21.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Mar 2025 02:21:01 -0700 (PDT) From: To: Date: Wed, 12 Mar 2025 10:21:02 +0100 Message-ID: <000401db9330$133c6500$39b52f00$@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0005_01DB9338.7500F410" X-Mailer: Microsoft Outlook 16.0 Content-Language: en-at Thread-Index: AduTLqq/zDe/A/LnRX+QQp5xMYlyEA== Subject: [FFmpeg-devel] [PATCH v2 FFmpeg 21/20] libavfilter: classify fix category post_processing with very low temperature 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" Archived-At: List-Archive: List-Post: This is a multipart message in MIME format. ------=_NextPart_000_0005_01DB9338.7500F410 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Patch attached. I hope this correctly links to my series. Signed-off-by: MaximilianKaindl ------=_NextPart_000_0005_01DB9338.7500F410 Content-Type: application/octet-stream; name="0021-libavfilter-classify-fix-category-post_processing-wi.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0021-libavfilter-classify-fix-category-post_processing-wi.patch" >From 499de7be409ba7668defac9214a8343344bd21ee Mon Sep 17 00:00:00 2001=0A= From: MaximilianKaindl =0A= Date: Wed, 12 Mar 2025 10:10:58 +0100=0A= Subject: [PATCH v2 FFmpeg 21/20] libavfilter: classify fix category = post_processing=0A= with very low temperature=0A= To: ffmpeg-devel@ffmpeg.org=0A= =0A= Signed-off-by: MaximilianKaindl =0A= ---=0A= libavfilter/avf_dnn_classify.c | 24 ++++++++++++++----------=0A= 1 file changed, 14 insertions(+), 10 deletions(-)=0A= =0A= diff --git a/libavfilter/avf_dnn_classify.c = b/libavfilter/avf_dnn_classify.c=0A= index 7b469e3af0..ade55858ad 100644=0A= --- a/libavfilter/avf_dnn_classify.c=0A= +++ b/libavfilter/avf_dnn_classify.c=0A= @@ -34,6 +34,7 @@=0A= #include "libavutil/opt.h"=0A= #include "libavutil/time.h"=0A= #include "video.h"=0A= +#include =0A= =0A= /*=0A= Labels that are being used to classify the image=0A= @@ -579,7 +580,7 @@ static int = get_category_total_label_count(CategoryClassifcationContext *cat_ctx,=0A= static CategoryContext *get_best_category(CategoriesContext = *categories_ctx, float *probabilities)=0A= {=0A= CategoryContext *best_category =3D NULL;=0A= - float best_probability =3D -1.0f;=0A= + float best_probability =3D FLT_MIN;=0A= int prob_offset =3D 0;=0A= =0A= // Calculate total probability for each category=0A= @@ -592,7 +593,7 @@ static CategoryContext = *get_best_category(CategoriesContext *categories_ctx, flo=0A= category->total_probability +=3D probabilities[prob_offset = + label_idx];=0A= }=0A= =0A= - if (category->total_probability > best_probability) {=0A= + if (category->total_probability > best_probability && = category->total_probability > 0.0f) {=0A= best_probability =3D category->total_probability;=0A= best_category =3D category;=0A= }=0A= @@ -761,7 +762,8 @@ static int post_proc_clxp_categories(AVFrame *frame, = DNNData *output, uint32_t b=0A= av_freep(&ctx_labels);=0A= return AVERROR(ENOMEM);=0A= }=0A= -=0A= +=0A= + int category_count =3D 0;=0A= // Process each context=0A= for (int ctx_idx =3D 0; ctx_idx < cat_class_ctx->num_contexts; = ctx_idx++) {=0A= CategoriesContext *categories_ctx =3D = cat_class_ctx->category_units[ctx_idx];=0A= @@ -773,20 +775,22 @@ static int post_proc_clxp_categories(AVFrame = *frame, DNNData *output, uint32_t b=0A= // Find best category in context=0A= best_category =3D get_best_category(categories_ctx, = probabilities + prob_offset);=0A= if (!best_category || !best_category->name) {=0A= - av_log(filter_ctx, AV_LOG_ERROR, "Invalid best category at = context %d\n", ctx_idx);=0A= + // No category classification found=0A= continue;=0A= }=0A= =0A= // Copy category name instead of assigning pointer=0A= - av_strlcpy(ctx_labels[ctx_idx], best_category->name, = AV_DETECTION_BBOX_LABEL_NAME_MAX_SIZE);=0A= - ctx_probabilities[ctx_idx] =3D best_category->total_probability;=0A= + av_strlcpy(ctx_labels[category_count], best_category->name, = AV_DETECTION_BBOX_LABEL_NAME_MAX_SIZE);=0A= + ctx_probabilities[category_count] =3D = best_category->total_probability;=0A= =0A= prob_offset +=3D categories_ctx->label_count;=0A= + category_count++;=0A= + }=0A= + if(category_count > 0){=0A= + // Fill bbox with best categories=0A= + ret =3D fill_detection_bbox_with_best_labels(ctx_labels, = ctx_probabilities, cat_class_ctx->num_contexts, bbox,=0A= + AV_NUM_DETECTION_BBOX_CLASSIFY, ctx->confidence);=0A= }=0A= -=0A= - // Fill bbox with best labels=0A= - ret =3D fill_detection_bbox_with_best_labels(ctx_labels, = ctx_probabilities, cat_class_ctx->num_contexts, bbox,=0A= - = AV_NUM_DETECTION_BBOX_CLASSIFY, ctx->confidence);=0A= =0A= // Clean up=0A= for (int i =3D 0; i < cat_class_ctx->num_contexts; i++) {=0A= -- =0A= 2.34.1=0A= =0A= ------=_NextPart_000_0005_01DB9338.7500F410 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". ------=_NextPart_000_0005_01DB9338.7500F410--