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 01FEF48A73 for ; Fri, 29 Dec 2023 09:20:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F3E0D68CD45; Fri, 29 Dec 2023 11:20:35 +0200 (EET) Received: from out203-205-251-59.mail.qq.com (out203-205-251-59.mail.qq.com [203.205.251.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B707068CB32 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=SQmcksZNgmJwQwbgpzgOXBVlFwJ4RmaaF0ns0mHu6rU=; h=From:To:Cc:Subject:Date; b=L37y4pcOqyYCOEfXvVBuf+SGJ1F4ynVqoNHob7c76I4Pkr6cMBHBD+shVUPeNibCe Fq9jgpgP+BUZodITkSewTeWEXWNX6iZjYHJfDRXekr1QvlYhphGpG8ZbRzyEV6555c PstatT8Ixgrkf1E8DDjPoCObZoELePM+9k5De1GE= 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: xmsmtpt1703841616tnwj3260w Message-ID: X-QQ-XMAILINFO: NUygYfydBsqcPehs4QnCVIb3qm5t1l3eey/tdW9bC0sSEQtzKReV2WNrsX4rhQ tL4XyM0fCZI4mz7bulfiHbtGl2iOVQJwYNpOuOLmnpAPrfFi7ezpMrYpCUUSLlhIuEZSZQ/Za00Z qOmGJWIjcDAj1PsCU3i4nHh6YLyP1z28uaKgMAtmQqAI49OQo07RtprEC890fIPCI/s8KHwrvqz5 kStCi4tHgaGg6v79CTfXltgRVoU4tLNFWwAmd5Um4YKEde12Vqq6e0B3cVmcuzJ568JkJX4sm8Kv nKh6hk8eJ0R76f823gKWoPCE5mZrcEM2KrAxx8lTROjCDimp2uXaOejAT6yq3VJJqAPQ0A7XaOjy XLoYZ4u+8lSC6d6n3Dm9/VJSu85B7/W4UIA1N2WJHPuZt43jPQAo0lJSOB09spUhWnoFIG1yH9ae kKxjKauwGNqeh/UwNVxLIhAu6zgBKOOvfme79ZL8l9wrfaXCJtw8Rc3PKn/3zZudnnhRq3l52w0+ c/onbS/kadqbKHeDAgB7YeCFsnC3ntaa768tIGvCUOHwaRC2uv+0yt9fTFObg3d9+5OYqYq60L78 Ky2KR/qPz8sSYvyiMvIJc5NfYMV3bfG1/JHLFo+RLC04guBxrwsGGA4s8e2sBaEbfA6Zuqig7MEH 0Ztfs1hLZPgTELQAuilG+55EtJG5caEu3I4y/lY1xOCwN2XQLC5gd6WUG2D5tdPeoRiQOFkQnLrM WFzFfZFhlX/oABOYKERVv8XnSRR78T5cxtQQoeZdf0QXcoXlC9WCK81sY+7ykGby1SFSJ6KdTtK0 bGfGd8JrEH2C31zrHhCEXMl6Qch6Pf7RhpbPJBa8RKWxFdBGWU3mOwCTKVSd4FFvaCfe/3sr64ib 3Q+Uz243WlK0pIrKFNh3A8QePieVHE3/U/aOSCQe3o0dZ972z1esq/w6Pu2emXRTJtAwQffSvVkB OIXCk4uOAmabPjojTyfNxIm6FqFjRnVfdZqCi/VLkNzaBa+XsNvQ== X-QQ-XMRINFO: MPJ6Tf5t3I/ycC2BItcBVIA= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 30 Dec 2023 01:20:15 +0800 X-OQ-MSGID: <20231229172016.729510-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/mpegutils: make debug_info2 thread safe 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 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: From: Zhao Zhili --- libavcodec/mpegutils.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index 5e76d7ac66..a565773c5e 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -20,6 +20,7 @@ #include +#include "libavutil/bprint.h" #include "libavutil/common.h" #include "libavutil/emms.h" #include "libavutil/frame.h" @@ -250,31 +251,41 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, if (avctx->debug & (FF_DEBUG_SKIP | FF_DEBUG_QP | FF_DEBUG_MB_TYPE)) { int x,y; + AVBPrint buf; + char *str = NULL; + int n; av_log(avctx, AV_LOG_DEBUG, "New frame, type: %c\n", av_get_picture_type_char(pict->pict_type)); for (y = 0; y < mb_height; y++) { + av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED); for (x = 0; x < mb_width; x++) { if (avctx->debug & FF_DEBUG_SKIP) { int count = mbskip_table ? mbskip_table[x + y * mb_stride] : 0; if (count > 9) count = 9; - av_log(avctx, AV_LOG_DEBUG, "%1d", count); + av_bprintf(&buf, "%1d", count); } if (avctx->debug & FF_DEBUG_QP) { - av_log(avctx, AV_LOG_DEBUG, "%2d", - qscale_table[x + y * mb_stride]); + av_bprintf(&buf, "%2d", qscale_table[x + y * mb_stride]); } if (avctx->debug & FF_DEBUG_MB_TYPE) { int mb_type = mbtype_table[x + y * mb_stride]; - av_log(avctx, AV_LOG_DEBUG, "%c%c%c", + av_bprintf(&buf, "%c%c%c", get_type_mv_char(mb_type), get_segmentation_char(mb_type), get_interlacement_char(mb_type)); } } - av_log(avctx, AV_LOG_DEBUG, "\n"); + + 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); } } } -- 2.25.1 _______________________________________________ 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".