From patchwork Wed Aug 26 21:38:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 21947 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 0B629449BE7 for ; Thu, 27 Aug 2020 12:39:02 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DF7846883DA; Thu, 27 Aug 2020 12:39:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (unknown [203.205.251.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CA4D06883C9 for ; Thu, 27 Aug 2020 12:38:54 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1598521130; bh=boQALUAWwhTAl+iZ453AMa3iHZCU+or/C0pVw3bp5m8=; h=From:To:Cc:Subject:Date; b=wAknGR9JSQ+x6fPYWhKJ55DAuTcmcDD4fSqUAcxnZ6qMvRAdSKg/KPaFHy0tM+pc5 hqVJp7PTxecegBvjMTZEz124/RoXu20LR3P2tBilAlMJ+f1kEBUU7N0ECFOAPU1eLk TOONwLhDZZXHikRQ7riY1Dag0rqnhLr6FU8EZo0Y= Received: from ZHILIZHAO-MB1.tencent.com ([59.37.125.52]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 9ABAB257; Thu, 27 Aug 2020 17:38:43 +0800 X-QQ-mid: xmsmtpt1598521123tum666sii Message-ID: X-QQ-XMAILINFO: MvUTgeJYwP2ppcotLIlQA90dZ/JqNdDhJ8CUiiK8C9vwhEuhw8YN8YZB2QUzJT bUuoRuLBLNdON7DziodCoulMeygd4tvpfCeYlVzTvVPbbKduqMHMyGKXBRGdtMSEUvp+4t8Hca7B fCmXl/tUFXU1KS8MElL1PjXXmD63Lv6TlYjvJ1Ghr8jCjin/Za2eNl+oGT7k+l7SrKAJpzvVOTWW w7I74SJh2ToLu0AozQfyYOwQxq4HPevCWcubdzfJP0M7qGf2euclGfx37+syckQmUs7OOePpnMFH x3q64JkKj1hsbyqFnNvmqFP3W+EJRvzKUqQ+4jm7yKHr+dZuFB41/jusQshVBbOicl7Pn3VbYnBe Ikoz8rdIB0vRcNpngzuo/2EROEy7e3/4llWXkMGm70r8Jj5tm+wvR4jrsdqZPKn0SJ48F8mtL19d MuVntvvCj2XPlEWS8VEOx94/OftpLNJEsdW/ya+NcVg/fvW8Vf3p8/m2cyWYuOypPcje1NoYt6Cc 3tpNS2yizAkvvs11W/DG8Jk0yWAUK/B7HwQSfmKl5hLgMC2i8HCODEooDfXmgc7cc8Hg/3KuT2Rv LOKejHR6S3bGjSRtWAW3PBNWheDCie3w2mem9gasTWEOdRTdDmVp+Kk1mzaJAXL2Wylxmm8cFwjJ kB8tn8QSt73+f+CKbtTJiN7od3F88sFuyJCiMX6D88z1IrGd1UwBX7/uvGgPYqGjPaDFQNlYCZz3 yU0Y4EVlJyOJM= From: quinkblack@foxmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 27 Aug 2020 05:38:44 +0800 X-OQ-MSGID: <20200826213845.3400-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/videotoolboxenc: fix align issue X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" From: Zhao Zhili bool a53_cc is accessed as int: src/libavutil/opt.c:129:9: runtime error: store to misaligned address 0x7fbf454121a3 for type 'int', which requires 4 byte alignment --- libavcodec/videotoolboxenc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c index e89cfaeed8..988782f10d 100644 --- a/libavcodec/videotoolboxenc.c +++ b/libavcodec/videotoolboxenc.c @@ -226,7 +226,9 @@ typedef struct VTEncContext { bool flushing; bool has_b_frames; bool warned_color_range; - bool a53_cc; + + /* can't be bool type since AVOption will access it as int */ + int a53_cc; } VTEncContext; static int vtenc_populate_extradata(AVCodecContext *avctx, From patchwork Wed Aug 26 21:38:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 21948 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 2B329449BE7 for ; Thu, 27 Aug 2020 12:39:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1541F689E2F; Thu, 27 Aug 2020 12:39:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-221-146.mail.qq.com [203.205.221.146]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 02FAA6883C9 for ; Thu, 27 Aug 2020 12:38:55 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1598521130; bh=DHH6pgxqOhxCc+Lnrgh1mDpF3W5RMajmqvcQl0XR8j8=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=GRyP9k6G5zIOpSmPcDjkZKodJ9gT0etGuNT3cYIA7KJI4a7TYY6Hu7NGIOTq9TWsN MJCvAemcIBoDfNlrRnFsEMTBkSHaqcdwAykFKQ1fHIVIPZKoNBH30F9kdkoGdwROgH NcIrJiNCDtUZ8YL6LNDYrtw3N8IgfAs+JWlB6F5A= Received: from ZHILIZHAO-MB1.tencent.com ([59.37.125.52]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 9ABAB257; Thu, 27 Aug 2020 17:38:43 +0800 X-QQ-mid: xmsmtpt1598521129t2f4kvnzc Message-ID: X-QQ-XMAILINFO: OOfuAEK1AWX7ApoRYoCSswUhEd6YutXB8YykOjqvKLGfCFdq5FZrbvVCbikFER jVIdQGBBYAzsMbEIHcb2QQLUNCAN5g3qRsEDKar06Qh+U5GUbuJhQb++km9Yt6RL0LTbgCrz0If8 TE0CBQptC7tno5e7zhqQ0qLppjPAhLTSvAxI40MMIXJDZO2GbiuSBKCNFVJxFcDfd0FSdo2kQO7S fqOZzT0OxvE/9Z4eWpUeVpJyICPI7LlahS7EXbs6f/eSdS55Py8O8Np0JkGNgobuK/1yBUcN+h9J 8xvQOl+vL4afKWp4pD40HfKXEF89DzCUQIH793GCYXVsAXu7ioA1kkc5urkmlRl1BFFsV3ryFBRr RAb5vlC1gw/2Zrk0gVdYynb2uj/BxKZfADVLYn4ny46d83IyB+IqCVExhmdCWW+AFGA72ebTy4Rz 2Qn9Qk5MgNKBI19ijWyjiVQCxtjEee7C+4NsIKMnTWa+ao/rW4+c8u0tIxBKVeqRD62QqwHpc1qa 3S14tayljMmFd9N0QwxigLxG+cO3InvIx3zNHuqAvNWpPZPxX1KuAMLmzCGY3T+hrx+e9uirdwQY jOQ6vz5Ttj58F+7DmxFEO7Kln2nC48Ue4xWdioOaakQFSvXz5w0RvilFjcwnsCGpvFXNAlVUrALg s4vxZJ5WIFmrK4pvdqH8mQJTN4xFpDKyjSgWKVdbngYt1qztTRxsp8V18392cizbgzPl/d/IC3Da NwB9aqC5RoASPfNLNSbStECw== From: quinkblack@foxmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 27 Aug 2020 05:38:45 +0800 X-OQ-MSGID: <20200826213845.3400-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200826213845.3400-1-quinkblack@foxmail.com> References: <20200826213845.3400-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" From: Zhao Zhili The lock is used in clear_frame_queue(). --- libavcodec/videotoolboxenc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c index 988782f10d..758db9641f 100644 --- a/libavcodec/videotoolboxenc.c +++ b/libavcodec/videotoolboxenc.c @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext *avctx) { VTEncContext *vtctx = avctx->priv_data; - pthread_cond_destroy(&vtctx->cv_sample_sent); - pthread_mutex_destroy(&vtctx->lock); - - if(!vtctx->session) return 0; + if(!vtctx->session) { + pthread_cond_destroy(&vtctx->cv_sample_sent); + pthread_mutex_destroy(&vtctx->lock); + return 0; + } VTCompressionSessionCompleteFrames(vtctx->session, kCMTimeIndefinite); clear_frame_queue(vtctx); + pthread_cond_destroy(&vtctx->cv_sample_sent); + pthread_mutex_destroy(&vtctx->lock); CFRelease(vtctx->session); vtctx->session = NULL;