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 8056A4C114 for ; Wed, 8 Oct 2025 02:58:53 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'7wIShtFVImTKv5X5kfxoDP9wXCK0WizHwyolinuFPlQ=', expected b'HFSzqwiZMaO4n+9qnyGx+QhLvBtqtGsfJ5x27IbmxgM=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759892313; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=7wIShtFVImTKv5X5kfxoDP9wXCK0WizHwyolinuFPlQ=; b=eJ7h3WwNji+gL7hLXhdyQrJNrLZz+3xw+YpLsef4Srh/mNsqDqk5FLawhZr41gKAYQDti /oAEIsyDjvQeT/6ZcC4/8JCbwYnw1QDBjvTodpNqzZDP2JfOA0dUq/6lmnYEpwhHspn/WNu KMhs9zUoWr4BvWL+d3miueGhhjy9YVJiHxxQ2vRPS5+9M4FxhELOn9HS+uzCUZBMBOruuTq ib2du0JaQNmvt2lWjHgNUMedvJLL+bb4fwjzML79lyuRSXYbABiZ6Y1ji/OVW6oIkXEWEov EQ/aBRuAYVIy63HrF0G42VTbkTikvrgvI7OXRm9d1ZSnbLAAw3BcAorAuUXg== Received: from [172.18.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 3340968F0E0; Wed, 8 Oct 2025 05:58:33 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1759892294; b=HXx00izfQDJH5Hw1Xr89XP3sJzZCjspcja/tzfEadsrUBzb5J9sPoC2cyo+HyvmwKRxgy yPhaWL5+bSktfJtoe80qug+vvzu93/OSfqp/AFDWdRagRhYYMhaVGNP0u9zvv/O8nXbWypU 9p/R67j4ZmhYSOxCLTGZdR6pHaychPy/qQl2j6ljZvTtCcVwIEpNV9iIvKMDhW0+iahW/Pm bkUpYx3LWPXXvaPuV9sdJBgyZpoNy7JvK7wALUFHFt+ombDnV2qd6LvctZywQf9QRE3chpy wEQEGDloJ/wDlMBTw07hnK3tR7lL1OYusBUYymjbSmzkrHqERI9Jz8WlociQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1759892294; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=BKNbF4ddMWDb/f5WqzvAKSUeQhy/dQeqYKNZnrfX1nU=; b=saA31lIrFf5S0AFqmzvrO97Q8IlpRhNGx9p0I+2yMZil75ElPvHLxuOEotVsneUEYQDxD ykwuXIgElCa+zYaPGnnm45JtZn6w25Izs3eu/vuvZW4DuIgq26U0jLjIvA3ffrRzEOr+fgj eb6zMKkOgC9gt6xjWkdGY6U5ZAb39UBusWhgtDOTnqODQIYpzeud3mULmtimi8lgtXjY3yp WOtRuboGXzr5QHvjAuqebL1X/gUKDvJ6FRKmBQsT1rHFoxyRkZSyL2Rvf/Aef6VZdi1RqSd stwuuVReP/EHuvDeLKn5dAqBK/+oo5T5Afu4RI+RmuQiU+ijGcbp0encVntw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759892288; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=HFSzqwiZMaO4n+9qnyGx+QhLvBtqtGsfJ5x27IbmxgM=; b=1npHJ6TuC8PKoEqj3/oEhxeUvrkVTigbPeeJmaTEBft+Jv9AzUhoPtX81UeGLQoACpili TLOnE+IT4ABczszKlSHX3ArXJO4j8PCRq3C67M+5gtEaqxWyhuxlaPETxZDrrP3eajxC55x oDrwlNRueVcby/hGo/jibJrX6J+Lt1A0xcodTRt2X5hGon9fEIhunmKnPFabksac+JV1+/t T65eAjNTiCPq7JrMXroK+j9p3Kpiduqpfltc82SeCXp/QYhPWPF6FeipWapLMiW9TdvXzhs rYXmbN8UI7rMLd0C+9XeK9xA3nhaHtaZGzNeZ6frL559leS1UGFAMejAwNWQ== Received: from be50bb5a3685 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 0EC4C68F00D for ; Wed, 8 Oct 2025 05:58:08 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Wed, 08 Oct 2025 02:58:07 -0000 Message-ID: <175989228819.65.10916620850247512406@bf249f23a2c8> Message-ID-Hash: NFGU4T7KR2RXRUJ2JBU5BRS33BEHWURH X-Message-ID-Hash: NFGU4T7KR2RXRUJ2JBU5BRS33BEHWURH X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/Makefile: Remove h263 decoder->mpeg4videodec.o dependency (PR #20665) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: mkver via ffmpeg-devel Cc: mkver Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20665 opened by mkver URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20665 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20665.patch >>From 1f02b0baca4e92ed3e432c476b16b9d8e140be88 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 8 Oct 2025 03:45:20 +0200 Subject: [PATCH 1/2] avcodec/h263dec: Avoid redundant branch Only the MPEG-4 decoder can have partitioned frames here. Signed-off-by: Andreas Rheinhardt --- libavcodec/h263dec.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 3821472e91..bacd258d53 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -215,12 +215,15 @@ static int decode_slice(H263DecContext *const h) return ret; } +#if CONFIG_MPEG4_DECODER if (h->partitioned_frame) { const int qscale = h->c.qscale; - if (CONFIG_MPEG4_DECODER && h->c.codec_id == AV_CODEC_ID_MPEG4) - if ((ret = ff_mpeg4_decode_partitions(h)) < 0) - return ret; + av_assert1(h->c.codec_id == AV_CODEC_ID_MPEG4); + + ret = ff_mpeg4_decode_partitions(h); + if (ret < 0) + return ret; /* restore variables which were modified */ h->c.first_slice_line = 1; @@ -228,6 +231,7 @@ static int decode_slice(H263DecContext *const h) h->c.mb_y = h->c.resync_mb_y; ff_set_qscale(&h->c, qscale); } +#endif for (; h->c.mb_y < h->c.mb_height; h->c.mb_y++) { /* per-row end of slice checks */ -- 2.49.1 >>From e9a2898e0b628f029fb83ca8fffd44d5d4e32bf5 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 8 Oct 2025 04:56:04 +0200 Subject: [PATCH 2/2] avcodec/Makefile: Remove h263 decoder->mpeg4videodec.o dependency Also prefer using #if CONFIG_MPEG4_DECODER checks in order not to rely on DCE. Signed-off-by: Andreas Rheinhardt --- libavcodec/Makefile | 5 +++-- libavcodec/h263dec.c | 10 ++++++++-- libavcodec/ituh263dec.c | 8 ++++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/libavcodec/Makefile b/libavcodec/Makefile index d55e899c14..791fd5d5a4 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -158,7 +158,7 @@ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \ motion_est.o ratecontrol.o OBJS-$(CONFIG_MPEGVIDEOENCDSP) += mpegvideoencdsp.o OBJS-$(CONFIG_MSMPEG4DEC) += msmpeg4dec.o msmpeg4.o msmpeg4data.o \ - msmpeg4_vc1_data.o + msmpeg4_vc1_data.o mpeg4videodec.o OBJS-$(CONFIG_MSMPEG4ENC) += msmpeg4enc.o msmpeg4.o msmpeg4data.o \ msmpeg4_vc1_data.o OBJS-$(CONFIG_MSS34DSP) += mss34dsp.o jpegquanttables.o @@ -576,7 +576,8 @@ OBJS-$(CONFIG_MPEG2_CUVID_DECODER) += cuviddec.o OBJS-$(CONFIG_MPEG2_MEDIACODEC_DECODER) += mediacodecdec.o OBJS-$(CONFIG_MPEG2_VAAPI_ENCODER) += vaapi_encode_mpeg2.o OBJS-$(CONFIG_MPEG2_V4L2M2M_DECODER) += v4l2_m2m_dec.o -OBJS-$(CONFIG_MPEG4_DECODER) += mpeg4videodsp.o xvididct.o +OBJS-$(CONFIG_MPEG4_DECODER) += mpeg4videodec.o mpeg4videodsp.o \ + xvididct.o OBJS-$(CONFIG_MPEG4_ENCODER) += mpeg4videoenc.o OBJS-$(CONFIG_MPEG4_CUVID_DECODER) += cuviddec.o OBJS-$(CONFIG_MPEG4_MEDIACODEC_DECODER) += mediacodecdec.o diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index bacd258d53..697fe7e572 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -201,10 +201,12 @@ static int decode_slice(H263DecContext *const h) ff_set_qscale(&h->c, h->c.qscale); +#if CONFIG_MPEG4_DECODER if (h->c.studio_profile) { if ((ret = ff_mpeg4_decode_studio_slice_header(h)) < 0) return ret; } +#endif if (h->c.avctx->hwaccel) { const uint8_t *start = h->gb.buffer + get_bits_count(&h->gb) / 8; @@ -500,13 +502,15 @@ int ff_h263_decode_frame(AVCodecContext *avctx, AVFrame *pict, avctx->has_b_frames = !h->c.low_delay; - if (CONFIG_MPEG4_DECODER && avctx->codec_id == AV_CODEC_ID_MPEG4) { +#if CONFIG_MPEG4_DECODER + if (avctx->codec_id == AV_CODEC_ID_MPEG4) { if (h->c.pict_type != AV_PICTURE_TYPE_B && h->c.mb_num/2 > get_bits_left(&h->gb)) return AVERROR_INVALIDDATA; ff_mpeg4_workaround_bugs(avctx); if (h->c.studio_profile != (h->c.idsp.idct == NULL)) ff_mpv_idct_init(s); } +#endif /* After H.263 & MPEG-4 header decode we have the height, width, * and other parameters. So then we could init the picture. */ @@ -615,8 +619,10 @@ frame_end: ff_mpv_frame_end(s); - if (CONFIG_MPEG4_DECODER && avctx->codec_id == AV_CODEC_ID_MPEG4) +#if CONFIG_MPEG4_DECODER + if (avctx->codec_id == AV_CODEC_ID_MPEG4) ff_mpeg4_frame_end(avctx, avpkt); +#endif av_assert1(h->c.pict_type == h->c.cur_pic.ptr->f->pict_type); if (h->c.pict_type == AV_PICTURE_TYPE_B || h->c.low_delay) { diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 7a78b95c50..dc8847b53b 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -240,9 +240,11 @@ int ff_h263_resync(H263DecContext *const h) if (show_bits(&h->gb, 16) ==0) { pos = get_bits_count(&h->gb); - if(CONFIG_MPEG4_DECODER && h->c.codec_id==AV_CODEC_ID_MPEG4) +#if CONFIG_MPEG4_DECODER + if (h->c.codec_id == AV_CODEC_ID_MPEG4) ret = ff_mpeg4_decode_video_packet_header(h); else +#endif ret = h263_decode_gob_header(h); if(ret>=0) return pos; @@ -257,9 +259,11 @@ int ff_h263_resync(H263DecContext *const h) GetBitContext bak = h->gb; pos = get_bits_count(&h->gb); - if(CONFIG_MPEG4_DECODER && h->c.codec_id==AV_CODEC_ID_MPEG4) +#if CONFIG_MPEG4_DECODER + if (h->c.codec_id == AV_CODEC_ID_MPEG4) ret = ff_mpeg4_decode_video_packet_header(h); else +#endif ret = h263_decode_gob_header(h); if(ret>=0) return pos; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org