From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 974DA4F886 for ; Mon, 23 Jun 2025 13:45:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 0E59D68E325; Mon, 23 Jun 2025 16:40:36 +0300 (EEST) Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 8CFC868E30D for ; Mon, 23 Jun 2025 16:40:34 +0300 (EEST) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2350b1b9129so30027635ad.0 for ; Mon, 23 Jun 2025 06:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750686033; x=1751290833; darn=ffmpeg.org; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=5q59zE6SIvxJb24hv1npDGnYl9dh66rsKgvwSV3SZIA=; b=bo+UsxUNuU3Iih8ot97wDGV52BEOSb1NJLjn4AKxWHKo3TbWcKt5f96SEitCnKoh2v SrPducRcMtDdq7fdcYAoNs6DE6VNiw94khEmfmf7uqPEjt2vAb/j4etcUkNffdjVfjxU rHDCenTBf27lcmmayYDb2GZsQnS4BAu6e8ki+4RskYtqUeywuRlHjjWNGRUzmKkbLH3P 33goNp1D4q2pWcLGOmkTDYmmEE66zy/SUjdSZySgQ+FoTQkyOBaaOJnOSIEnOOkFoDnT SiAiD8GvRHUj1Gy2wEozLj0VbiTbgsfYUQvPmkC2mzVV9lrGDmFXvN3X2fdGkOi2J8vv /G8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750686033; x=1751290833; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5q59zE6SIvxJb24hv1npDGnYl9dh66rsKgvwSV3SZIA=; b=IDwpWt4BACL7iZ/2bk0igZN5pktwrEG8hLcw0U8Ii97NvDx3hNTy1d0e9QmIr1D8co uEkMeMBo3qP9rE3FSO3FO5i6KurTzzOIsAOYAv/dKsO7WiMNoq3dqLCeTTYKrv2kP8Hk 2kMQTsnBVbPV7drKFaHGRrXX3rgQdXn7cdANAUpimyxhPRdI5WrmQ3e6JMtdEbBkcoDo oKzNTvzCfg3b2uljhPmqZv138Ln3NkEE0iNm4d1779blUhf8rtwxRC1OmXeZcmgVfLOp PnGb7ni1bjn4iA1qc5sAP/06NTpxbXIfvO9axv+Nc142ArcOSNGv1+/2yjl+LvXizE7I ezqA== X-Gm-Message-State: AOJu0Yyq45qGuqhJ5l0oa0FTntB9wtOxnCoI3wTCJbkpVB8YuEfF3ct5 eK9bAELhMmA84JPUse2eYlMKFsVlk37bnXcOhLPLHkioQxK/C+0xEc1EwC+N7A== X-Gm-Gg: ASbGncvbomVWMerD+IXmaXLaE6vr4mYipeIIyxZlPbjbi7CoRBEO4fKC+BZvAamhkAg PJ39QVRqymdPcaXJlJXABWOFAi5HEtoMt8S9w7LsIV0bNbqwnOyBulDEVbpGWEu9moNu75IYacn e9RC8ImbB+XHg/2ri0qGY13tbz4WcF6wZQgKpMW827VEY0Kt8LdKX+nl6Z7/2YXmi1+IXS0xSF1 PEPzL75E7e2IS41R2sAnEew/VEy392C2EWAqqj2S/qEL9HL0V+pM+xbduw7rv8fEhWapqKW1LFy IUv8JxeLWqZyUDeVBiYf4UM6u5LXXaPGvx6WQibkEr+63XTJy6eCjpG9L2t/+djvIFSqS9YUjbT nI9Zc1s72Rl5Zi3O1 X-Google-Smtp-Source: AGHT+IFhomyNbAfaH+mmHWgmhhUVdNu3q3hshljVt30rHLCC7O6UpShLCXpn+cvPHsicVCpOKduEZA== X-Received: by 2002:a17:903:287:b0:235:ed02:288b with SMTP id d9443c01a7336-237d98f1a1emr148569805ad.30.1750686032630; Mon, 23 Jun 2025 06:40:32 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-237d86db251sm83243575ad.213.2025.06.23.06.40.32 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jun 2025 06:40:32 -0700 (PDT) From: Andreas Rheinhardt X-Google-Original-From: Andreas Rheinhardt Message-Id: <9262fe10d169a10ec0b5b040ded5f24c255d65fe.1750685809.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 23 Jun 2025 13:36:39 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 39/48] avcodec/msmpeg4dec: Move ff_msmpeg4_decode_init() down 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: Andreas Rheinhardt 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: Andreas Rheinhardt Will avoid a forward declaration lateron. Signed-off-by: Andreas Rheinhardt --- libavcodec/msmpeg4dec.c | 79 +++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index 36243e14c9..59ceb7dac6 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -360,45 +360,6 @@ static av_cold void msmpeg4_decode_init_static(void) ff_msmp4_vc1_vlcs_init_once(); } -av_cold int ff_msmpeg4_decode_init(AVCodecContext *avctx) -{ - static AVOnce init_static_once = AV_ONCE_INIT; - H263DecContext *const h = avctx->priv_data; - int ret; - - if ((ret = av_image_check_size(avctx->width, avctx->height, 0, avctx)) < 0) - return ret; - - if (ff_h263_decode_init(avctx) < 0) - return -1; - - // We unquantize inter blocks as we parse them. - h->c.dct_unquantize_inter = NULL; - - ff_msmpeg4_common_init(&h->c); - - switch (h->c.msmpeg4_version) { - case MSMP4_V1: - case MSMP4_V2: - h->decode_mb = msmpeg4v12_decode_mb; - break; - case MSMP4_V3: - case MSMP4_WMV1: - h->decode_mb = msmpeg4v34_decode_mb; - break; - case MSMP4_WMV2: - break; - default: - av_unreachable("List contains all cases using ff_msmpeg4_decode_init()"); - } - - h->c.slice_height = h->c.mb_height; //to avoid 1/0 if the first frame is not a keyframe - - ff_thread_once(&init_static_once, msmpeg4_decode_init_static); - - return 0; -} - int ff_msmpeg4_decode_picture_header(H263DecContext *const h) { MSMP4DecContext *const ms = mpv_to_msmpeg4(h); @@ -870,6 +831,46 @@ void ff_msmpeg4_decode_motion(MSMP4DecContext *const ms, int *mx_ptr, int *my_pt *my_ptr = my; } +av_cold int ff_msmpeg4_decode_init(AVCodecContext *avctx) +{ + static AVOnce init_static_once = AV_ONCE_INIT; + H263DecContext *const h = avctx->priv_data; + int ret; + + ret = av_image_check_size(avctx->width, avctx->height, 0, avctx); + if (ret < 0) + return ret; + + if (ff_h263_decode_init(avctx) < 0) + return -1; + + // We unquantize inter blocks as we parse them. + h->c.dct_unquantize_inter = NULL; + + ff_msmpeg4_common_init(&h->c); + + switch (h->c.msmpeg4_version) { + case MSMP4_V1: + case MSMP4_V2: + h->decode_mb = msmpeg4v12_decode_mb; + break; + case MSMP4_V3: + case MSMP4_WMV1: + h->decode_mb = msmpeg4v34_decode_mb; + break; + case MSMP4_WMV2: + break; + default: + av_unreachable("List contains all cases using ff_msmpeg4_decode_init()"); + } + + h->c.slice_height = h->c.mb_height; //to avoid 1/0 if the first frame is not a keyframe + + ff_thread_once(&init_static_once, msmpeg4_decode_init_static); + + return 0; +} + const FFCodec ff_msmpeg4v1_decoder = { .p.name = "msmpeg4v1", CODEC_LONG_NAME("MPEG-4 part 2 Microsoft variant version 1"), -- ffmpeg-codebot _______________________________________________ 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".