From patchwork Fri Dec 29 17:20:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 45380 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6623:b0:194:e134:edd4 with SMTP id n35csp4670677pzh; Fri, 29 Dec 2023 01:20:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IFj1MY99lG62eK2GdkGUdg5RDyDttSjSWUXXuOBkryWSbtGmEHg3tOj1RDj+VmNkAWTQWqR X-Received: by 2002:a17:906:7c54:b0:a26:ad13:e9d9 with SMTP id g20-20020a1709067c5400b00a26ad13e9d9mr5495854ejp.85.1703841640378; Fri, 29 Dec 2023 01:20:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703841640; cv=none; d=google.com; s=arc-20160816; b=mmDbWr3U6gjGRgPk/WM9Y3+cmCu0AoPI5Z7OeWb56RWvju2A9tRE0zKP3bKJEfgPg5 BhmcahiOoUy66rtBXE/pr7beXY6PdluNDGV7Jk3F/wHBTsY/W5ruJ7OLYAeBZwhNZv8Y f5IMNAIOEWMXpB2xNpitpu/jEwVPAe1dwuOWqojL+nIjO/MfjTdaU3rLwmVoWj8+Fv4g iwP0UgLk+KoM4bsMgM/zio6SSnZD/2T52W3O9hMWV306tNDONaxQtiXnfh5HZKsP3fXE ZRFQ/rIeeqJdBoGrfA9XwWfDcorFqRpkTIftvioiinqUmj2bihilJoVgpjxIs4yzCDPt Zuyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=d0XCIFwxdK1U+HzAqWR/32r9ARtwRhlJDS+hj5hIMnA=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=dmJTCsY8o6buTg/yU7OQ39wtH6sTtQL0VzfcBAn/0GGMERdY+1YoeGOzra6AJWLs5D USWwmmjEQ6zOoIon69lxrLBQlq3cBhXUPigOQdr5nwsih1OjMioV2XNL0On7WPhHWXoV kCocwaGH/d49gQeKfHsDJqICj0p4pqNmKjFAY2NOiboOeH/pAcTWL6vRz3MPSQL8hI6A M4w/JueXObtt0loVi27eCE3LcoLkuyRkOOKRfL+mTxQrwv18K7BtPW6Sbz7OEWqJddhn +o05F48YZlWax2qVsjimH3LhbPYEVmprBj5YCr3qieZCDNlITrXzGaJ1Pac+N3Xo0MZV uWpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=BpE10DAK; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id wj6-20020a170907050600b00a2693a66d02si7350522ejb.251.2023.12.29.01.20.39; Fri, 29 Dec 2023 01:20:40 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=BpE10DAK; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 07ACA68CD06; Fri, 29 Dec 2023 11:20:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-53.mail.qq.com (out203-205-251-53.mail.qq.com [203.205.251.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B3C0468C4DF for ; Fri, 29 Dec 2023 11:20:27 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1703841618; bh=yiwYFnNmGscSMym2YGytOfglJ4hlQpGHet/7Vbilm3E=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=BpE10DAKBoHDIbZ+111in12R1S8ut5/R/GaIFhwSBdhPC+KPt2/D1G0cN2YlbHveR Wl11nVqDWIBu+GAVRkoakIojLvelGWHfLbDIhKfFFZ8UUbYpjGqpA3qts2Br82fxng jwrUo3a5ez8izjykITfRvoB+p+tcs2PoXTIDXc6o= Received: from localhost.localdomain ([113.108.77.68]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 5108CC63; Fri, 29 Dec 2023 17:20:16 +0800 X-QQ-mid: xmsmtpt1703841617tjme8pzzs Message-ID: X-QQ-XMAILINFO: NkHKfw09D6j8Mr3e6EuYzqu22Zhec5siHAo0XZy9pzgdIuwpZ+UW7G2d/Qe/jB 1RUVnzACwKTNZlOxVRahQg5ZlNYfH62E1rI1Fa+ZKc9USwUG1V910XwAAmciryBG2Y8s+0IsKFeg eABDkCa/NeDvKwRFc5mvJ0+Xk90/bmhSZvMQ/a01eugeFgVUi15qunZ8Awk1NRm/IGqohPM5AhC+ IJc34ElAe+byJ/paLZOgjrXgeP6QCsiqmDOH437AG5kPD0NovRiEWAc+DS+/6yL6SKk0KgPWZZLE DC4ms0VYO0asPb+IGqe0zTOlwrnMAnuVByYaz9k64uTwhaqcDRWa8/gHHg9AO9M/Sn1Ug0TZkY1G dlLcQeHEdzN0w2zsevdVdb/F4hPUwmCIjJUWICgbOUy8adtEnzUxv4L7yfmLOzvKlttkDFF0p3nR oeTe9Msh4Im6F3UpvrXzE6KFdiIS5uUEtyoaK9x2h988PxsqlnSnBOVPd8L2yExWVffzM6tOe8Ge RU4VNPWeJESUaq47Cy7msLDCm2aLFbZ60bNjUg0tAPyYnfS70UekCxoCt9fjZIFGHi1D22v1Plzw EEmJQFq8SwEFjhditA+G5kzMl8Nj82ehPr2DXLZH592MpX/KW6IxGjAMlAdDEsQco2nzkif30yZN AAFWJH7T9A30ymEGWw5H0L9W1+DPFzqD513pLAypKSeINZvwuCc60Q5yUhfLu6fvJBN7RdZ+N7fX /BYqeiE4X8xhHSn45o0lRIR2AIN289gJ45qhDgnoBZtYilL7mpDdTgERSgQay8gVihoqWQWpAv2i tijpmDahOTLUBjIVrzWW66tR6nX6HCToo49ypILYC87KBX/7w46s7ar82wUIAolAVdrlh3p/RNF0 6pqxW8aVkd1hVJUJ/yLQ9yZ+QJ299Z573xe0nCphT+PkOl3QLXrlcAzPfMqVoSZb8i+8vUWq9TW7 8fMLRaUeptwWzI4z/fIl+QB11Ir+ad7++3ZI3J6C0hp2E8dWhK1Q== X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 30 Dec 2023 01:20:16 +0800 X-OQ-MSGID: <20231229172016.729510-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231229172016.729510-1-quinkblack@foxmail.com> References: <20231229172016.729510-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/mpegutils: print axis in debug_info2 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: PI6EmB/nuO4P From: Zhao Zhili For example, ./ffmpeg -nostats -threads 1 -debug qp \ -export_side_data +venc_params \ -i reinit-small_420_9-to-small_420_8.h264 \ -frames 2 \ -f null - New frame, type: B 0 64 128 192 0 313131313131313131313131313129 16 292929292929292929292929292929 32 323232323232323232323232323232 48 323232323232323232323232323232 64 323232323232323232323232323232 80 323232323232323232323232323232 96 323232323030303030303030303030 112 303030303030303030303030303030 128 303030303030303030303030303028 144 313131312929292929292929292929 160 292929292929292929292929292929 176 292929292929292929292929292931 192 312831312631313131312730283131 Signed-off-by: Zhao Zhili --- libavcodec/mpegutils.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index a565773c5e..fc3e270631 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -254,12 +254,43 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, AVBPrint buf; char *str = NULL; int n; + int margin_left; + int x_step; av_log(avctx, AV_LOG_DEBUG, "New frame, type: %c\n", av_get_picture_type_char(pict->pict_type)); + + margin_left = 2; + n = mb_width << 4; + while ((n /= 10)) + margin_left++; + + av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED); + av_bprintf(&buf, "%*s", margin_left, " "); + + n = 0; + if (avctx->debug & FF_DEBUG_SKIP) + n++; + if (avctx->debug & FF_DEBUG_QP) + n += 2; + if (avctx->debug & FF_DEBUG_MB_TYPE) + n += 3; + x_step = (mb_width * 16 > 999) ? 8 : 4; + for (x = 0; x < mb_width; x += x_step) + av_bprintf(&buf, "%-*d", n * x_step, x << 4); + n = av_bprint_finalize(&buf, &str); + if (n < 0) { + av_log(avctx, AV_LOG_ERROR, "%s failed, %s\n", __func__, av_err2str(n)); + return; + } + av_log(avctx, AV_LOG_DEBUG, "%s\n", str); + av_freep(&str); + for (y = 0; y < mb_height; y++) { av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED); for (x = 0; x < mb_width; x++) { + if (x == 0) + av_bprintf(&buf, "%*d ", margin_left - 1, y << 4); if (avctx->debug & FF_DEBUG_SKIP) { int count = mbskip_table ? mbskip_table[x + y * mb_stride] : 0; if (count > 9)