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 AC8AF4EE6F for ; Tue, 17 Feb 2026 23:50:50 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'echZXyRcJUMtqo7kAzxqnhGUNIRPeX+gkEq4ktnKnEo=', expected b'g15yWVBUEW/gttJIHio4NiMJoBRAwVl6uH+NgpG0Szc=')) 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=1771372190; 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=echZXyRcJUMtqo7kAzxqnhGUNIRPeX+gkEq4ktnKnEo=; b=T6lOMPdg8KFxmpNxAJVL41qqAdJ0fa6RhHfW1A9iaQzfA5bMo7dW7TdJzHfKCTtqJnBY2 LAv6i5CFGCBfIk84yrLkwoDHGv+dm9mdE7wiEHot6Ecx/dlK8Yf/xQ5sgirp8aZ1PAFkqEs lKy5UpJ088RoZBtxRcUEvYoaoTqeP9xhA1qQnda5hFOKmmma1mSAvBOv7yBf+eO8a8hRyNx wezIncjbiBDMV0QrD2g7u5rs+zT3sZcMUtH9xzdYyD7c5GpJ07svtxKxpC+ii2AloiHe9iQ 0kvC/aoeZRbOw4YylsUlD09DbO8wOwom0LG+K69kVtcwi5KabchJ8CIRD7jw== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id BD286691210; Wed, 18 Feb 2026 01:49:50 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1771372174; b=pS76YC75DGZQgollVwh/rk3noZZt/S9CY5D6l8tcnHGbee++BWgrq56xVE/ggqjUfPBfw vjO/s3o4VY8ZxZoB2C/WdPWTo2xuJT+lZl/gLYU6wGqUWNu1nTBclfZP0HSVjB0EvC6D8Uu RkdRtWpDV6mNx9y/poxXqeHOXzrwgM1bpMw5FV/96jvXouFwrU/F1568owavQu2b0E0R8MR HU1IFtBPEAfC3z13dc8s9pu2kLE6yFP4oha0VuRccJJKOjyWt1IaE6dzfgVLqF2mUxeeyv/ t2/v6DKvdvf3E6oDAOUQBQF6dUcEDYJ8C2n+Rv632pjKSDfdzQu7DHBkp5ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1771372174; 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=THzVWVkPCHeMWAmD74Nwj++J36QRtnFB+2MjceWsltY=; b=CdXw1Q15oQnVJE8EIx1qVDfCFULhkC+hdEVpeDFNHSJM9/5m6cGbGIFe/q2cDMJI3EJnb LViMvdzSQyUyhpp7lpCN/rRHrebbl0yV7p7ymg6dcm4KTLE+Gr5Fw9b1YkBElgPiVuT7cRy 0WKe+19fXon0XO/KlJL+T/l7RiMc5hC2y0MZE5sA8KDupkcUaSTAXojK5x7Sw8A61sY4Gnh B9NimdLFCQzqYQxEgGd8/8SPkm0mnVU6dJW3R4pFFpFt05h363styOSyiphw9aXy7LVMy5D 1w4in7vIKCefdTXoYH0nTqVPJEIDHld59vwb3NvRhgK3+zNr6A52/aWna7Yw== 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=1771372166; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=g15yWVBUEW/gttJIHio4NiMJoBRAwVl6uH+NgpG0Szc=; b=gtpr/+o9mblOiJuXfjjcbRb5b1W9ePE5NY38Mxz080rQm/gqK8Sf/b82JnJn312vWKTxf NODUIYQz2WgZ3jTOJ340IZ1ukRJUY4Aw1ldOqUnYAD3TrPxdipfo1PcGa0/MYDDMB7jsWpw jC/YUm4WLwpTpKEyyN3T9e3Xe5+G+xD+tTNVD/pmUAurHsimIcqnKMgsLJwc1vQadiR5CRf FU9RX/Aq91qaii+VNsz9Az+klK5o2YAYlEIeEAiUmqaTV3hLAQBrWnFsaFipDeMs5rKKLMO TPLY+64Yuq0p3CY9a64/lgqa8dfOTztVJLd5s2XRrrgvnqYzJkCpGpahkwdg== Received: from c8d966988b92 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 5CF7D691195 for ; Wed, 18 Feb 2026 01:49:26 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 17 Feb 2026 23:49:26 -0000 Message-ID: <177137216661.25.16069620993230191060@29965ddac10e> Message-ID-Hash: S3W7T22WBT3T7T6FBLRJQE6AL7L6YZGG X-Message-ID-Hash: S3W7T22WBT3T7T6FBLRJQE6AL7L6YZGG X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation 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 X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] Add proper fall-through annotations in switch statements (PR #21779) 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: Marvin Scholz via ffmpeg-devel Cc: Marvin Scholz Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21779 opened by Marvin Scholz (ePirat) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21779 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21779.patch This adds proper fallthrough attribute annotations in switch statements instead of various flavours of comments. It also adds quite a few missing ones in trivial cases. >>From c9cd45f0fc05149cc5a84fc83d91b93b1f77b006 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 19:58:23 +0100 Subject: [PATCH 01/89] avutil: add av_fallthrough --- libavutil/attributes.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavutil/attributes.h b/libavutil/attributes.h index 9e0222a691..9fdd8bf2f5 100644 --- a/libavutil/attributes.h +++ b/libavutil/attributes.h @@ -54,6 +54,12 @@ # define AV_HAS_STD_ATTRIBUTE(x) 0 #endif +#if AV_HAS_ATTRIBUTE(fallthrough) +# define av_fallthrough __attribute__((fallthrough)) +#else +# define av_fallthrough +#endif + #ifndef av_always_inline #if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__) # define av_always_inline __attribute__((always_inline)) inline -- 2.52.0 >>From 049c62d69955872a17b914b337105620db67d97b Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 20:36:31 +0100 Subject: [PATCH 02/89] fftools: replace fall-through comments --- fftools/cmdutils.c | 2 +- fftools/ffmpeg_filter.c | 2 ++ fftools/textformat/tf_ini.c | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 9a365c228d..2c11c81d48 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -1267,7 +1267,7 @@ unsigned stream_specifier_match(const StreamSpecifier *ss, break; } } - // fall-through + av_fallthrough; case STREAM_LIST_GROUP_IDX: if (ss->stream_list == STREAM_LIST_GROUP_IDX && ss->list_id >= 0 && ss->list_id < s->nb_stream_groups) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 765b65d0ec..d3b8b3be7d 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -27,6 +27,7 @@ #include "libavfilter/buffersink.h" #include "libavfilter/buffersrc.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/bprint.h" @@ -2569,6 +2570,7 @@ static void video_sync_process(OutputFilterPriv *ofp, AVFrame *frame, delta0 = 0; ofp->next_pts = llrint(sync_ipts); } + av_fallthrough; case VSYNC_CFR: // FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c if (frame_drop_threshold && delta < frame_drop_threshold && fps->frame_number) { diff --git a/fftools/textformat/tf_ini.c b/fftools/textformat/tf_ini.c index 8959785295..d3c69483e4 100644 --- a/fftools/textformat/tf_ini.c +++ b/fftools/textformat/tf_ini.c @@ -26,6 +26,7 @@ #include "avtextformat.h" +#include "libavutil/attributes.h" #include "libavutil/bprint.h" #include "libavutil/opt.h" #include "tf_internal.h" @@ -74,7 +75,7 @@ static char *ini_escape_str(AVBPrint *dst, const char *src) case '=': case ':': av_bprint_chars(dst, '\\', 1); - /* fallthrough */ + av_fallthrough; default: if ((unsigned char)c < 32) av_bprintf(dst, "\\x00%02x", (unsigned char)c); -- 2.52.0 >>From 49e9556bdea5e25a885d4a5264c4f8c8965abaed Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 20:49:43 +0100 Subject: [PATCH 03/89] avcodec: replace fall-through comments --- libavcodec/av1dec.c | 4 ++-- libavcodec/bsf/dts2pts.c | 3 ++- libavcodec/cbs_av1.c | 4 ++-- libavcodec/dovi_rpuenc.c | 4 ++-- libavcodec/dpx.c | 3 ++- libavcodec/dxv.c | 5 +++-- libavcodec/exif.c | 5 +++-- libavcodec/g2meet.c | 3 ++- libavcodec/h264_parser.c | 2 +- libavcodec/hevc/hevcdec.c | 2 +- libavcodec/indeo3.c | 5 +++-- libavcodec/indeo5.c | 3 ++- libavcodec/leaddec.c | 3 ++- libavcodec/libsvtav1.c | 3 ++- libavcodec/mpegvideo_enc.c | 5 +++-- libavcodec/msmpeg4.c | 3 ++- libavcodec/pngdec.c | 3 ++- libavcodec/sgidec.c | 3 ++- libavcodec/sunrastenc.c | 3 ++- libavcodec/v4l2_buffers.c | 3 ++- libavcodec/vaapi_mpeg2.c | 3 ++- libavcodec/vaapi_vc1.c | 5 +++-- libavcodec/vdpau_mpeg4.c | 3 ++- libavcodec/vdpau_vc1.c | 3 ++- libavcodec/videotoolbox.c | 3 ++- libavcodec/vp3.c | 1 + libavcodec/vp8.c | 5 +++-- libavcodec/vulkan_decode.c | 3 ++- libavcodec/vulkan_dpx.c | 3 ++- 29 files changed, 61 insertions(+), 37 deletions(-) diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index 1dffc7c1b9..16e458b0d6 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -1332,7 +1332,7 @@ static int av1_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame) case AV1_OBU_REDUNDANT_FRAME_HEADER: if (s->raw_frame_header) break; - // fall-through + av_fallthrough; case AV1_OBU_FRAME: case AV1_OBU_FRAME_HEADER: if (!s->raw_seq) { @@ -1388,7 +1388,7 @@ static int av1_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame) } if (unit->type != AV1_OBU_FRAME) break; - // fall-through + av_fallthrough; case AV1_OBU_TILE_GROUP: if (!s->raw_frame_header) { av_log(avctx, AV_LOG_ERROR, "Missing Frame Header.\n"); diff --git a/libavcodec/bsf/dts2pts.c b/libavcodec/bsf/dts2pts.c index 122661a5df..ff03508c18 100644 --- a/libavcodec/bsf/dts2pts.c +++ b/libavcodec/bsf/dts2pts.c @@ -25,6 +25,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/fifo.h" #include "libavutil/mem.h" @@ -262,7 +263,7 @@ static int h264_filter(AVBSFContext *ctx) h264->poc.prev_frame_num_offset = 0; h264->poc.prev_poc_msb = h264->poc.prev_poc_lsb = 0; - // fall-through + av_fallthrough; case H264_NAL_SLICE: { const H264RawSlice *slice = unit->content; const H264RawSliceHeader *header = &slice->header; diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c index d05352c738..deb73c8ebb 100644 --- a/libavcodec/cbs_av1.c +++ b/libavcodec/cbs_av1.c @@ -938,7 +938,7 @@ static int cbs_av1_read_unit(CodedBitstreamContext *ctx, unit->data_ref); if (err < 0) return err; - // fall-through + av_fallthrough; case AV1_OBU_TILE_GROUP: { AV1RawTileGroup *tile_group = obu->header.obu_type == AV1_OBU_FRAME ? &obu->obu.frame.tile_group @@ -1116,7 +1116,7 @@ static int cbs_av1_write_obu(CodedBitstreamContext *ctx, err = cbs_av1_write_frame_obu(ctx, pbc, &obu->obu.frame, NULL); if (err < 0) goto error; - // fall-through + av_fallthrough; case AV1_OBU_TILE_GROUP: { AV1RawTileGroup *tile_group = obu->header.obu_type == AV1_OBU_FRAME ? &obu->obu.frame.tile_group diff --git a/libavcodec/dovi_rpuenc.c b/libavcodec/dovi_rpuenc.c index 0c22bf34ed..dc63c68405 100644 --- a/libavcodec/dovi_rpuenc.c +++ b/libavcodec/dovi_rpuenc.c @@ -136,7 +136,7 @@ static av_cold int dovi_configure_ext(DOVIContext *s, enum AVCodecID codec_id, bl_compat_id = 0; break; } - /* fall through */ + av_fallthrough; case 8: /* HEVC (or AV1) with BL compatibility */ if (color_space == AVCOL_SPC_BT2020_NCL && color_primaries == AVCOL_PRI_BT2020 && @@ -612,7 +612,7 @@ int ff_dovi_rpu_generate(DOVIContext *s, const AVDOVIMetadata *metadata, /* Limited metadata compression requires vdr_rpi_id == 0 */ if (vdr_rpu_id != 0) break; - /* fall through */ + av_fallthrough; case AV_DOVI_COMPRESSION_EXTENDED: if (s->vdr[vdr_rpu_id]) use_prev_vdr_rpu = !memcmp(s->vdr[vdr_rpu_id], mapping, sizeof(*mapping)); diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index 52a03501ec..6e7c01fd65 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/intreadwrite.h" #include "libavutil/intfloat.h" @@ -237,7 +238,7 @@ static void unpack_frame(AVCodecContext *avctx, AVFrame *p, const uint8_t *buf, break; case 16: elements *= 2; - // fall-through + av_fallthrough; case 8: if ( avctx->pix_fmt == AV_PIX_FMT_YUVA444P || avctx->pix_fmt == AV_PIX_FMT_YUV444P) { diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c index 626dd75a33..344c7b2f3c 100644 --- a/libavcodec/dxv.c +++ b/libavcodec/dxv.c @@ -22,6 +22,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/imgutils.h" #include "libavutil/mem.h" @@ -1041,7 +1042,7 @@ static int dxv_decode(AVCodecContext *avctx, AVFrame *frame, ret = ff_texturedsp_exec_decompress_threads(avctx, &texdsp_ctx); if (ret < 0) return ret; - /* fallthrough */ + av_fallthrough; case DXV_FMT_YCG6: /* BC5 texture with Co in the first half of each block and Cg in the second */ ctexdsp_ctx.tex_data.in = ctx->ctex_data; @@ -1056,7 +1057,7 @@ static int dxv_decode(AVCodecContext *avctx, AVFrame *frame, ret = ff_texturedsp_exec_decompress_threads(avctx, &ctexdsp_ctx); if (ret < 0) return ret; - /* fallthrough */ + av_fallthrough; case DXV_FMT_DXT1: case DXV_FMT_DXT5: /* For DXT1 and DXT5, self explanatory diff --git a/libavcodec/exif.c b/libavcodec/exif.c index e422b28b8d..6b29ce4cbd 100644 --- a/libavcodec/exif.c +++ b/libavcodec/exif.c @@ -29,6 +29,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/avconfig.h" #include "libavutil/bprint.h" #include "libavutil/display.h" @@ -891,13 +892,13 @@ int av_exif_parse_buffer(void *logctx, const uint8_t *buf, size_t size, if (size < 6) return AVERROR_INVALIDDATA; off = 6; - /* fallthrough */ + av_fallthrough; case AV_EXIF_T_OFF: if (size < 4) return AVERROR_INVALIDDATA; if (!off) off = AV_RB32(buf) + 4; - /* fallthrough */ + av_fallthrough; case AV_EXIF_TIFF_HEADER: { int ifd_offset; if (size <= off) diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c index a4900641e7..eb6aaf3072 100644 --- a/libavcodec/g2meet.c +++ b/libavcodec/g2meet.c @@ -28,6 +28,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/imgutils.h" #include "libavutil/mem.h" #include "libavutil/mem_internal.h" @@ -661,7 +662,7 @@ static int epic_decode_run_length(ePICContext *dc, int x, int y, int tile_width, break; } } - /* fall through */ + av_fallthrough; default: NWneW = 1; old_WWneW = WWneW; diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index 040739a1d4..49080a219a 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -355,7 +355,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, p->poc.prev_frame_num_offset = 0; p->poc.prev_poc_msb = p->poc.prev_poc_lsb = 0; - /* fall through */ + av_fallthrough; case H264_NAL_SLICE: get_ue_golomb_long(&nal.gb); // skip first_mb_in_slice slice_type = get_ue_golomb_31(&nal.gb); diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c index ae5f0fe69d..8611909dd3 100644 --- a/libavcodec/hevc/hevcdec.c +++ b/libavcodec/hevc/hevcdec.c @@ -683,7 +683,7 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) #if CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL *fmt++ = AV_PIX_FMT_VIDEOTOOLBOX; #endif - /* NOTE: fallthrough */ + av_fallthrough; case AV_PIX_FMT_YUV420P12: case AV_PIX_FMT_YUV444P12: #if CONFIG_HEVC_VAAPI_HWACCEL diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c index ae6fd7290e..fb9f3fba3b 100644 --- a/libavcodec/indeo3.c +++ b/libavcodec/indeo3.c @@ -29,6 +29,7 @@ * @see http://wiki.multimedia.cx/index.php?title=Indeo_3 */ +#include "libavutil/attributes.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" #include "libavutil/mem.h" @@ -500,7 +501,7 @@ static int decode_cell_data(Indeo3DecodeContext *ctx, Cell *cell, skip_flag = 0; rle_blocks = 1; code = 253; - /* FALLTHROUGH */ + av_fallthrough; case RLE_ESC_FF: case RLE_ESC_FE: case RLE_ESC_FD: @@ -532,7 +533,7 @@ static int decode_cell_data(Indeo3DecodeContext *ctx, Cell *cell, case RLE_ESC_F9: skip_flag = 1; rle_blocks = 1; - /* FALLTHROUGH */ + av_fallthrough; case RLE_ESC_FA: if (line) return IV3_BAD_RLE; diff --git a/libavcodec/indeo5.c b/libavcodec/indeo5.c index df95064e3f..594b97bd46 100644 --- a/libavcodec/indeo5.c +++ b/libavcodec/indeo5.c @@ -27,6 +27,7 @@ * Known FOURCCs: 'IV50' */ +#include "libavutil/attributes.h" #define BITSTREAM_READER_LE #include "avcodec.h" #include "codec_internal.h" @@ -615,7 +616,7 @@ static void switch_buffers(IVI45DecContext *ctx) switch (ctx->frame_type) { case FRAMETYPE_INTRA: ctx->buf_switch = 0; - /* FALLTHROUGH */ + av_fallthrough; case FRAMETYPE_INTER: ctx->inter_scal = 0; ctx->dst_buf = ctx->buf_switch; diff --git a/libavcodec/leaddec.c b/libavcodec/leaddec.c index e6a91faabc..fbd81aaa3c 100644 --- a/libavcodec/leaddec.c +++ b/libavcodec/leaddec.c @@ -30,6 +30,7 @@ #include "jpegquanttables.h" #include "jpegtables.h" #include "leaddata.h" +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavutil/mem_internal.h" #include "libavutil/thread.h" @@ -160,7 +161,7 @@ static int lead_decode_frame(AVCodecContext *avctx, AVFrame * frame, case 0x6: case 0x8000: yuv20p_half = 1; - // fall-through + av_fallthrough; case 0x1000: avctx->pix_fmt = AV_PIX_FMT_YUV420P; break; diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 90c61b98a1..24ab976280 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -25,6 +25,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/frame.h" #include "libavutil/imgutils.h" @@ -644,7 +645,7 @@ static int eb_receive_packet(AVCodecContext *avctx, AVPacket *pkt) switch (headerPtr->pic_type) { case EB_AV1_KEY_PICTURE: pkt->flags |= AV_PKT_FLAG_KEY; - // fall-through + av_fallthrough; case EB_AV1_INTRA_ONLY_PICTURE: pict_type = AV_PICTURE_TYPE_I; break; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 46c8863a14..11fc84dad7 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -36,6 +36,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/emms.h" #include "libavutil/internal.h" #include "libavutil/intmath.h" @@ -869,7 +870,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) #if CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER case AV_CODEC_ID_MPEG2VIDEO: s->rtp_mode = 1; - /* fallthrough */ + av_fallthrough; case AV_CODEC_ID_MPEG1VIDEO: s->c.out_format = FMT_MPEG1; s->c.low_delay = !!(avctx->flags & AV_CODEC_FLAG_LOW_DELAY); @@ -3147,7 +3148,7 @@ static int encode_thread(AVCodecContext *c, void *arg){ case AV_CODEC_ID_H263P: if (s->c.dc_val) ff_h263_mpeg4_reset_dc(s); - // fallthrough + av_fallthrough; #endif case AV_CODEC_ID_H263: if (CONFIG_H263_ENCODER) { diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c index fed255989e..b0565bfe24 100644 --- a/libavcodec/msmpeg4.c +++ b/libavcodec/msmpeg4.c @@ -30,6 +30,7 @@ #include "config.h" #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/thread.h" #if ARCH_X86 @@ -143,7 +144,7 @@ av_cold void ff_msmpeg4_common_init(MPVContext *const s, #if CONFIG_WMV2_DECODER || CONFIG_WMV2_ENCODER case MSMP4_WMV2: ff_wmv2dsp_init(&s->idsp); - // fallthrough + av_fallthrough; #endif case MSMP4_WMV1: s->y_dc_scale_table= ff_wmv1_y_dc_scale_table; diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 042b6a5c2f..60cb013879 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -23,6 +23,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/bprint.h" #include "libavutil/crc.h" @@ -1583,7 +1584,7 @@ static int decode_frame_common(AVCodecContext *avctx, PNGDecContext *s, goto fail; } bytestream2_get_be32(&gb_chunk); - /* fallthrough */ + av_fallthrough; case MKTAG('I', 'D', 'A', 'T'): if (CONFIG_APNG_DECODER && avctx->codec_id == AV_CODEC_ID_APNG && !decode_next_dat) continue; diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c index 40186dcdb7..63aed47b97 100644 --- a/libavcodec/sgidec.c +++ b/libavcodec/sgidec.c @@ -23,6 +23,7 @@ #include "bytestream.h" #include "codec_internal.h" #include "decode.h" +#include "libavutil/attributes.h" #include "sgi.h" /** @@ -241,7 +242,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, break; case SGI_RGBA: MAP(3, 3); - /* fallthrough */ + av_fallthrough; case SGI_RGB: MAP(0, 2); MAP(1, 0); diff --git a/libavcodec/sunrastenc.c b/libavcodec/sunrastenc.c index 9922dbd061..233c628e10 100644 --- a/libavcodec/sunrastenc.c +++ b/libavcodec/sunrastenc.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/opt.h" #include "avcodec.h" @@ -154,7 +155,7 @@ static av_cold int sunrast_encode_init(AVCodecContext *avctx) case AV_PIX_FMT_PAL8 : s->maptype = RMT_EQUAL_RGB; s->maplength = 3 * 256; - /* fall-through */ + av_fallthrough; case AV_PIX_FMT_GRAY8: s->depth = 8; break; diff --git a/libavcodec/v4l2_buffers.c b/libavcodec/v4l2_buffers.c index 077c1ee944..f96c26771b 100644 --- a/libavcodec/v4l2_buffers.c +++ b/libavcodec/v4l2_buffers.c @@ -28,6 +28,7 @@ #include #include #include "libavcodec/avcodec.h" +#include "libavutil/attributes.h" #include "libavutil/pixdesc.h" #include "libavutil/refstruct.h" #include "v4l2_context.h" @@ -226,7 +227,7 @@ static void v4l2_get_interlacing(AVFrame *frame, V4L2Buffer *buf) case V4L2_FIELD_INTERLACED: case V4L2_FIELD_INTERLACED_TB: frame->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST; - /* fallthrough */ + av_fallthrough; case V4L2_FIELD_INTERLACED_BT: frame->flags |= AV_FRAME_FLAG_INTERLACED; break; diff --git a/libavcodec/vaapi_mpeg2.c b/libavcodec/vaapi_mpeg2.c index 925f0db1ba..07bf35c532 100644 --- a/libavcodec/vaapi_mpeg2.c +++ b/libavcodec/vaapi_mpeg2.c @@ -21,6 +21,7 @@ */ #include "hwaccel_internal.h" +#include "libavutil/attributes.h" #include "mpegutils.h" #include "mpegvideo.h" #include "mpegvideodec.h" @@ -77,7 +78,7 @@ static int vaapi_mpeg2_start_frame(AVCodecContext *avctx, switch (s->pict_type) { case AV_PICTURE_TYPE_B: pic_param.backward_reference_picture = ff_vaapi_get_surface_id(s->next_pic.ptr->f); - // fall-through + av_fallthrough; case AV_PICTURE_TYPE_P: pic_param.forward_reference_picture = ff_vaapi_get_surface_id(s->last_pic.ptr->f); break; diff --git a/libavcodec/vaapi_vc1.c b/libavcodec/vaapi_vc1.c index a3dd3140e2..42171918e8 100644 --- a/libavcodec/vaapi_vc1.c +++ b/libavcodec/vaapi_vc1.c @@ -22,6 +22,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "hwaccel_internal.h" #include "mpegvideodec.h" @@ -379,7 +380,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, case AV_PICTURE_TYPE_B: if (s->next_pic.ptr) pic_param.backward_reference_picture = ff_vaapi_get_surface_id(s->next_pic.ptr->f); - // fall-through + av_fallthrough; case AV_PICTURE_TYPE_P: if (s->last_pic.ptr) pic_param.forward_reference_picture = ff_vaapi_get_surface_id(s->last_pic.ptr->f); @@ -417,7 +418,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, ff_bp[2] = pic_param.bitplane_present.flags.bp_forward_mb ? v->forward_mb_plane : NULL; break; } - /* fall-through (BI-type) */ + av_fallthrough; // (BI-type) case AV_PICTURE_TYPE_I: ff_bp[0] = pic_param.bitplane_present.flags.bp_field_tx ? v->fieldtx_plane : NULL; ff_bp[1] = pic_param.bitplane_present.flags.bp_ac_pred ? v->acpred_plane : NULL; diff --git a/libavcodec/vdpau_mpeg4.c b/libavcodec/vdpau_mpeg4.c index 668720a231..58c8a6d769 100644 --- a/libavcodec/vdpau_mpeg4.c +++ b/libavcodec/vdpau_mpeg4.c @@ -25,6 +25,7 @@ #include "avcodec.h" #include "hwaccel_internal.h" +#include "libavutil/attributes.h" #include "mpeg4videodec.h" #include "vdpau.h" #include "vdpau_internal.h" @@ -52,7 +53,7 @@ static int vdpau_mpeg4_start_frame(AVCodecContext *avctx, assert(ref != VDP_INVALID_HANDLE); info->backward_reference = ref; info->vop_coding_type = 2; - /* fall-through */ + av_fallthrough; case AV_PICTURE_TYPE_P: ref = ff_vdpau_get_surface_id(s->last_pic.ptr->f); assert(ref != VDP_INVALID_HANDLE); diff --git a/libavcodec/vdpau_vc1.c b/libavcodec/vdpau_vc1.c index a5fd8156f4..323ac4127a 100644 --- a/libavcodec/vdpau_vc1.c +++ b/libavcodec/vdpau_vc1.c @@ -27,6 +27,7 @@ #include "avcodec.h" #include "hwaccel_internal.h" +#include "libavutil/attributes.h" #include "vc1.h" #include "vdpau.h" #include "vdpau_internal.h" @@ -53,7 +54,7 @@ static int vdpau_vc1_start_frame(AVCodecContext *avctx, assert(ref != VDP_INVALID_HANDLE); info->backward_reference = ref; } - /* fall-through */ + av_fallthrough; case AV_PICTURE_TYPE_P: if (s->last_pic.ptr) { ref = ff_vdpau_get_surface_id(s->last_pic.ptr->f); diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c index 2cd22cba1a..0a9d53c7dd 100644 --- a/libavcodec/videotoolbox.c +++ b/libavcodec/videotoolbox.c @@ -23,6 +23,7 @@ #include "config.h" #include "config_components.h" #include "videotoolbox.h" +#include "libavutil/attributes.h" #include "libavutil/hwcontext_videotoolbox.h" #include "libavutil/mem.h" #include "vt_internal.h" @@ -935,7 +936,7 @@ static int videotoolbox_start(AVCodecContext *avctx) switch (avctx->codec_tag) { default: av_log(avctx, AV_LOG_WARNING, "Unknown prores profile %d\n", avctx->codec_tag); - // fall-through + av_fallthrough; case MKTAG('a','p','c','o'): // kCMVideoCodecType_AppleProRes422Proxy case MKTAG('a','p','c','s'): // kCMVideoCodecType_AppleProRes422LT case MKTAG('a','p','c','n'): // kCMVideoCodecType_AppleProRes422 diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 7ce54967e1..1662aea6f3 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -944,6 +944,7 @@ static int unpack_vectors(Vp3DecodeContext *s, GetBitContext *gb) last_gold_motion_y = motion_y[0] = vp4_get_mv(gb, 1, last_gold_motion_y); break; } /* otherwise fall through */ + av_fallthrough; case MODE_INTER_PLUS_MV: /* all 6 fragments use the same motion vector */ if (coding_mode == 0) { diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 9010e19e6b..c54e79173c 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -26,6 +26,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavutil/mem_internal.h" @@ -1660,7 +1661,7 @@ int check_intra_pred4x4_mode_emuedge(int mode, int mb_x, int mb_y, *copy_buf = 1; return mode; } - /* fall-through */ + av_fallthrough; case DIAG_DOWN_LEFT_PRED: case VERT_LEFT_PRED: return !mb_y ? (vp7 ? DC_128_PRED : DC_127_PRED) : mode; @@ -1669,7 +1670,7 @@ int check_intra_pred4x4_mode_emuedge(int mode, int mb_x, int mb_y, *copy_buf = 1; return mode; } - /* fall-through */ + av_fallthrough; case HOR_UP_PRED: return !mb_x ? (vp7 ? DC_128_PRED : DC_129_PRED) : mode; case TM_VP8_PRED: diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c index 9ab8d45aa9..8fe0428dbe 100644 --- a/libavcodec/vulkan_decode.c +++ b/libavcodec/vulkan_decode.c @@ -16,6 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/refstruct.h" #include "vulkan_video.h" #include "vulkan_decode.h" @@ -1203,7 +1204,7 @@ int ff_vk_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx) case AV_PIX_FMT_YUVA422P12: case AV_PIX_FMT_YUVA444P12: hwfc->format[3] = VK_FORMAT_R16_UNORM; - /* fallthrough */ + av_fallthrough; case AV_PIX_FMT_YUV422P10: case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV422P12: diff --git a/libavcodec/vulkan_dpx.c b/libavcodec/vulkan_dpx.c index 17f91c6ce4..e644885a28 100644 --- a/libavcodec/vulkan_dpx.c +++ b/libavcodec/vulkan_dpx.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "vulkan_decode.h" #include "hwaccel_internal.h" @@ -305,7 +306,7 @@ static int vk_decode_dpx_init(AVCodecContext *avctx) case AV_PIX_FMT_GBRP10: if (dpx->unpadded_10bit) return AVERROR(ENOTSUP); - /* fallthrough */ + av_fallthrough; default: break; } -- 2.52.0 >>From 69d0f153df8fb687df8c3cae06bb359bc2f21c8f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:03:27 +0100 Subject: [PATCH 04/89] avfilter: replace fall-through comments --- libavfilter/formats.c | 3 ++- libavfilter/vf_colorspace.c | 3 ++- libavfilter/vf_colorspace_cuda.c | 3 ++- libavfilter/vf_drawvg.c | 9 +++++---- libavfilter/vf_lut.c | 18 +++++++++--------- libavfilter/vsrc_testsrc.c | 13 +++++++------ 6 files changed, 27 insertions(+), 22 deletions(-) diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 3315922cc7..fac2e4a393 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/bprint.h" #include "libavutil/channel_layout.h" @@ -1193,7 +1194,7 @@ int ff_default_query_formats(AVFilterContext *ctx) break; default: av_assert2(!"Unreachable"); - /* Intended fallthrough */ + av_fallthrough; case FF_FILTER_FORMATS_PASSTHROUGH: case FF_FILTER_FORMATS_QUERY_FUNC: case FF_FILTER_FORMATS_QUERY_FUNC2: diff --git a/libavfilter/vf_colorspace.c b/libavfilter/vf_colorspace.c index de9a1a42e4..3228e22e76 100644 --- a/libavfilter/vf_colorspace.c +++ b/libavfilter/vf_colorspace.c @@ -23,6 +23,7 @@ * Convert between colorspaces. */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/csp.h" #include "libavutil/frame.h" @@ -391,7 +392,7 @@ static int get_range_off(AVFilterContext *ctx, int *off, s->did_warn_range = 1; } } - // fall-through + av_fallthrough; case AVCOL_RANGE_MPEG: *off = 16 << (depth - 8); *y_rng = 219 << (depth - 8); diff --git a/libavfilter/vf_colorspace_cuda.c b/libavfilter/vf_colorspace_cuda.c index 54d6228cd1..45c05fbea9 100644 --- a/libavfilter/vf_colorspace_cuda.c +++ b/libavfilter/vf_colorspace_cuda.c @@ -22,6 +22,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/cuda_check.h" #include "libavutil/hwcontext.h" @@ -282,7 +283,7 @@ static int conv_cuda_convert(AVFilterContext* ctx, AVFrame* out, AVFrame* in) break; case AV_PIX_FMT_YUV420P: width = comp_id ? in->width / 2 : in->width; - /* fall-through */ + av_fallthrough; case AV_PIX_FMT_NV12: height = comp_id ? in->height / 2 : in->height; break; diff --git a/libavfilter/vf_drawvg.c b/libavfilter/vf_drawvg.c index 15b1e4899b..461b71251b 100644 --- a/libavfilter/vf_drawvg.c +++ b/libavfilter/vf_drawvg.c @@ -28,6 +28,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/bswap.h" @@ -633,7 +634,7 @@ next_token: goto next_token; } - /* fallthrough */ + av_fallthrough; default: token->type = TOKEN_WORD; @@ -859,7 +860,7 @@ static int vgs_parse_numeric_argument( if (ret == 0) break; - /* fallthrough */ + av_fallthrough; default: vgs_log_invalid_token(log_ctx, parser, &token, "Expected numeric argument."); @@ -1101,7 +1102,7 @@ static int vgs_parse_statement( FAIL(EINVAL); } - /* fallthrough */ + av_fallthrough; case PARAM_NUMERIC: case PARAM_NUMERIC_COLOR: @@ -1217,7 +1218,7 @@ static int vgs_parse_statement( continue; } - /* fallthrough */ + av_fallthrough; case PARAM_VAR_NAME: { int var_idx = -1; diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index 14c9964751..ac0636dc52 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -379,14 +379,14 @@ static int lut_packed_16bits(AVFilterContext *ctx, void *arg, int jobnr, int nb_ switch (step) { #if HAVE_BIGENDIAN - case 4: outrow[3] = av_bswap16(tab[3][av_bswap16(inrow[3])]); // Fall-through - case 3: outrow[2] = av_bswap16(tab[2][av_bswap16(inrow[2])]); // Fall-through - case 2: outrow[1] = av_bswap16(tab[1][av_bswap16(inrow[1])]); // Fall-through + case 4: outrow[3] = av_bswap16(tab[3][av_bswap16(inrow[3])]); av_fallthrough; + case 3: outrow[2] = av_bswap16(tab[2][av_bswap16(inrow[2])]); av_fallthrough; + case 2: outrow[1] = av_bswap16(tab[1][av_bswap16(inrow[1])]); av_fallthrough; default: outrow[0] = av_bswap16(tab[0][av_bswap16(inrow[0])]); #else - case 4: outrow[3] = tab[3][inrow[3]]; // Fall-through - case 3: outrow[2] = tab[2][inrow[2]]; // Fall-through - case 2: outrow[1] = tab[1][inrow[1]]; // Fall-through + case 4: outrow[3] = tab[3][inrow[3]]; av_fallthrough; + case 3: outrow[2] = tab[2][inrow[2]]; av_fallthrough; + case 2: outrow[1] = tab[1][inrow[1]]; av_fallthrough; default: outrow[0] = tab[0][inrow[0]]; #endif } @@ -414,9 +414,9 @@ static int lut_packed_8bits(AVFilterContext *ctx, void *arg, int jobnr, int nb_j outrow = outrow0 + i * out_linesize; for (j = 0; j < w; j++) { switch (step) { - case 4: outrow[3] = tab[3][inrow[3]]; // Fall-through - case 3: outrow[2] = tab[2][inrow[2]]; // Fall-through - case 2: outrow[1] = tab[1][inrow[1]]; // Fall-through + case 4: outrow[3] = tab[3][inrow[3]]; av_fallthrough; + case 3: outrow[2] = tab[2][inrow[2]]; av_fallthrough; + case 2: outrow[1] = tab[1][inrow[1]]; av_fallthrough; default: outrow[0] = tab[0][inrow[0]]; } outrow += step; diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index bfc3491596..697b94d4e8 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -35,6 +35,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/common.h" #include "libavutil/ffmath.h" @@ -1048,7 +1049,7 @@ static void rgbtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], case AV_PIX_FMT_GBRAP: p = dstp[3] + x + y * dst_linesizep[3]; p[0] = a; - // fall-through + av_fallthrough; case AV_PIX_FMT_GBRP: p = dstp[0] + x + y * dst_linesize; p[0] = g; @@ -1063,7 +1064,7 @@ static void rgbtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], case AV_PIX_FMT_GBRAP16: p16 = (uint16_t *)(dstp[3] + x*2 + y * dst_linesizep[3]); p16[0] = a; - // fall-through + av_fallthrough; case AV_PIX_FMT_GBRP9: case AV_PIX_FMT_GBRP10: case AV_PIX_FMT_GBRP12: @@ -1214,7 +1215,7 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], case AV_PIX_FMT_XV36: case AV_PIX_FMT_XV48: a = UINT16_MAX; - // fall-through + av_fallthrough; case AV_PIX_FMT_AYUV64: AV_WN16A(&dstp[0][i*8 + ayuv_map[Y]*2 + j*dst_linesizep[0]], y << desc->comp[0].shift); AV_WN16A(&dstp[0][i*8 + ayuv_map[U]*2 + j*dst_linesizep[0]], u << desc->comp[1].shift); @@ -1223,7 +1224,7 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], break; case AV_PIX_FMT_VUYX: a = UINT8_MAX; - // fall-through + av_fallthrough; case AV_PIX_FMT_UYVA: case AV_PIX_FMT_VUYA: case AV_PIX_FMT_AYUV: @@ -1232,7 +1233,7 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], break; case AV_PIX_FMT_YUVA444P: dstp[3][i + j*dst_linesizep[3]] = a; - // fall-through + av_fallthrough; case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_YUVJ444P: dstp[0][i + j*dst_linesizep[0]] = y; @@ -1244,7 +1245,7 @@ static void yuvtest_put_pixel(uint8_t *dstp[4], int dst_linesizep[4], case AV_PIX_FMT_YUVA444P12: case AV_PIX_FMT_YUVA444P16: AV_WN16A(&dstp[3][i*2 + j*dst_linesizep[3]], a); - // fall-through + av_fallthrough; case AV_PIX_FMT_YUV444P9: case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P12: -- 2.52.0 >>From 20f8e1dbc4e43d52966d90a03cb8bd8e1a1033a5 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:10:03 +0100 Subject: [PATCH 05/89] avformat: replace fall-through comments --- libavformat/id3v2.c | 3 ++- libavformat/img2dec.c | 5 +++-- libavformat/matroskadec.c | 3 ++- libavformat/mm.c | 3 ++- libavformat/movenccenc.c | 5 +++-- libavformat/options.c | 3 ++- libavformat/rtpenc.c | 5 +++-- libavformat/sbgdec.c | 3 ++- libavformat/tls_libtls.c | 3 ++- 9 files changed, 21 insertions(+), 12 deletions(-) diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index 98969c67a0..3f14bfe3d6 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -27,6 +27,7 @@ */ #include "config.h" +#include "libavutil/attributes.h" #if CONFIG_ZLIB #include @@ -291,7 +292,7 @@ static int decode_str(AVFormatContext *s, AVIOContext *pb, int encoding, *maxread = left; return AVERROR_INVALIDDATA; } - // fall-through + av_fallthrough; case ID3v2_ENCODING_UTF16BE: while ((left > 1) && ch) { diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index ecb7ea8946..921458fea9 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -21,6 +21,7 @@ */ #include "config_components.h" +#include "libavutil/attributes.h" #define _DEFAULT_SOURCE #define _BSD_SOURCE @@ -769,11 +770,11 @@ static int jpeg_probe(const AVProbeData *p) case APP0: if (c == APP0 && AV_RL32(&b[i + 4]) == MKTAG('J','F','I','F')) got_header = 1; - /* fallthrough */ + av_fallthrough; case APP1: if (c == APP1 && AV_RL32(&b[i + 4]) == MKTAG('E','x','i','f')) got_header = 1; - /* fallthrough */ + av_fallthrough; case APP2: case APP3: case APP4: diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 503b99b286..1a584b1400 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -34,6 +34,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/base64.h" #include "libavutil/bprint.h" @@ -2517,7 +2518,7 @@ static int mkv_parse_block_addition_mappings(AVFormatContext *s, AVStream *st, M "Explicit block Addition Mapping type \"Use BlockAddIDValue\", value %"PRIu64"," " name \"%s\" found.\n", mapping->value, mapping->name ? mapping->name : ""); type = MATROSKA_BLOCK_ADD_ID_TYPE_OPAQUE; - // fall-through + av_fallthrough; case MATROSKA_BLOCK_ADD_ID_TYPE_OPAQUE: case MATROSKA_BLOCK_ADD_ID_TYPE_ITU_T_T35: if (mapping->value != type) { diff --git a/libavformat/mm.c b/libavformat/mm.c index 4e69da0519..dc2f02fbde 100644 --- a/libavformat/mm.c +++ b/libavformat/mm.c @@ -31,6 +31,7 @@ * http://wiki.multimedia.cx/index.php?title=American_Laser_Games_MM */ +#include "libavutil/attributes.h" #include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "avformat.h" @@ -190,7 +191,7 @@ static int read_packet(AVFormatContext *s, default : av_log(s, AV_LOG_INFO, "unknown chunk type 0x%x\n", type); - /* fallthrough */ + av_fallthrough; case MM_TYPE_AUDIO2 : avio_skip(pb, length); } diff --git a/libavformat/movenccenc.c b/libavformat/movenccenc.c index e5ae11a9c9..4e1f31d2b5 100644 --- a/libavformat/movenccenc.c +++ b/libavformat/movenccenc.c @@ -22,6 +22,7 @@ #include "libavcodec/av1_parse.h" #include "libavcodec/bytestream.h" #include "libavcodec/cbs_av1.h" +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/mem.h" #include "avio_internal.h" @@ -422,7 +423,7 @@ int ff_mov_cenc_av1_write_obus(AVFormatContext *s, MOVMuxCencContext* ctx, fh_data_size = unit->data_size; break; } - // fall-through + av_fallthrough; case AV1_OBU_SEQUENCE_HEADER: case AV1_OBU_METADATA: avio_write(pb, unit->data, unit->data_size); @@ -433,7 +434,7 @@ int ff_mov_cenc_av1_write_obus(AVFormatContext *s, MOVMuxCencContext* ctx, frame_header = &obu->obu.frame.header; fh_data = unit->data; fh_data_size = unit->data_size; - // fall-through + av_fallthrough; case AV1_OBU_TILE_GROUP: { const AV1RawTileGroup *tile_group; diff --git a/libavformat/options.c b/libavformat/options.c index d08013bfd4..b94fc95baa 100644 --- a/libavformat/options.c +++ b/libavformat/options.c @@ -26,6 +26,7 @@ #include "libavcodec/avcodec.h" #include "libavcodec/codec_par.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/iamf.h" #include "libavutil/internal.h" @@ -393,7 +394,7 @@ static const AVClass *stream_group_child_iterate(void **opaque) switch(i) { case AV_STREAM_GROUP_PARAMS_NONE: i++; - // fall-through + av_fallthrough; case AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: ret = av_iamf_audio_element_get_class(); break; diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index 3602b081d5..3bf90d63a5 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -20,6 +20,7 @@ */ #include "avformat.h" +#include "libavutil/attributes.h" #include "mpegts.h" #include "internal.h" #include "mux.h" @@ -623,7 +624,7 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt) ff_rtp_send_h263_rfc2190(s1, pkt->data, size, mb_info, mb_info_size); break; } - /* Fallthrough */ + av_fallthrough; case AV_CODEC_ID_H263P: ff_rtp_send_h263(s1, pkt->data, size); break; @@ -662,7 +663,7 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt) size, s->max_payload_size); return AVERROR(EINVAL); } - /* Intentional fallthrough */ + av_fallthrough; default: /* better than nothing : send the codec raw data */ rtp_send_raw(s1, pkt->data, size); diff --git a/libavformat/sbgdec.c b/libavformat/sbgdec.c index 0e3d860d9f..71cbad2dae 100644 --- a/libavformat/sbgdec.c +++ b/libavformat/sbgdec.c @@ -22,6 +22,7 @@ #include #include #include +#include "libavutil/attributes.h" #include "libavutil/bprint.h" #include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" @@ -1118,7 +1119,7 @@ static int generate_interval(void *log, struct sbg_script *s, case SBG_TYPE_SPIN: av_log(log, AV_LOG_WARNING, "Spinning noise not implemented, " "using pink noise instead.\n"); - /* fall through */ + av_fallthrough; case SBG_TYPE_NOISE: /* SBaGen's pink noise generator uses: - 1 band of white noise, mean square: 1/3; diff --git a/libavformat/tls_libtls.c b/libavformat/tls_libtls.c index 4f011ad67a..7210f6cd14 100644 --- a/libavformat/tls_libtls.c +++ b/libavformat/tls_libtls.c @@ -22,6 +22,7 @@ #include "avformat.h" #include "internal.h" +#include "libavutil/attributes.h" #include "network.h" #include "url.h" #include "tls.h" @@ -140,7 +141,7 @@ err_config: err_ctx: av_log(h, AV_LOG_ERROR, "%s\n", tls_error(p->ctx)); ret = AVERROR(EIO); - /* fallthrough */ + av_fallthrough; fail: if (cfg) tls_config_free(cfg); -- 2.52.0 >>From 18576340bcbb02fc2a5a758375548c094e6da552 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:11:04 +0100 Subject: [PATCH 06/89] swscale: replace fall-through comments --- libswscale/cms.c | 2 +- libswscale/format.c | 5 +++-- libswscale/ops.c | 3 ++- libswscale/ops_optimizer.c | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/libswscale/cms.c b/libswscale/cms.c index 3a1a438c49..dd468b6df7 100644 --- a/libswscale/cms.c +++ b/libswscale/cms.c @@ -574,7 +574,7 @@ static av_always_inline void update_hue_peaks(CmsCtx *ctx, float P, float T) switch (ctx->map.intent) { case SWS_INTENT_PERCEPTUAL: ctx->tmp.peak = saturate(hue, ctx->tmp); - /* fall through */ + av_fallthrough; case SWS_INTENT_RELATIVE_COLORIMETRIC: case SWS_INTENT_ABSOLUTE_COLORIMETRIC: ctx->dst.peak = saturate(hue, ctx->dst); diff --git a/libswscale/format.c b/libswscale/format.c index ea7b5b5ebe..7c2c3106a8 100644 --- a/libswscale/format.c +++ b/libswscale/format.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/hdr_dynamic_metadata.h" #include "libavutil/mastering_display_metadata.h" @@ -1307,7 +1308,7 @@ int ff_sws_decode_colors(SwsContext *ctx, SwsPixelType type, case AVCOL_SPC_UNSPECIFIED: c = av_csp_luma_coeffs_from_avcsp(AVCOL_SPC_BT470BG); *incomplete = true; - /* fall through */ + av_fallthrough; case AVCOL_SPC_FCC: case AVCOL_SPC_BT470BG: case AVCOL_SPC_SMPTE170M: @@ -1376,7 +1377,7 @@ int ff_sws_encode_colors(SwsContext *ctx, SwsPixelType type, case AVCOL_SPC_UNSPECIFIED: c = av_csp_luma_coeffs_from_avcsp(AVCOL_SPC_BT470BG); *incomplete = true; - /* fall through */ + av_fallthrough; case AVCOL_SPC_FCC: case AVCOL_SPC_BT470BG: case AVCOL_SPC_SMPTE170M: diff --git a/libswscale/ops.c b/libswscale/ops.c index 83eb8e162e..abefb47751 100644 --- a/libswscale/ops.c +++ b/libswscale/ops.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/bswap.h" #include "libavutil/mem.h" @@ -266,7 +267,7 @@ void ff_sws_op_list_update_comps(SwsOpList *ops) case SWS_OP_WRITE: for (int i = 0; i < op->rw.elems; i++) av_assert1(!(prev.flags[i] & SWS_COMP_GARBAGE)); - /* fall through */ + av_fallthrough; case SWS_OP_LSHIFT: case SWS_OP_RSHIFT: case SWS_OP_MIN: diff --git a/libswscale/ops_optimizer.c b/libswscale/ops_optimizer.c index 11ee40e268..05aee6377c 100644 --- a/libswscale/ops_optimizer.c +++ b/libswscale/ops_optimizer.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/bswap.h" #include "libavutil/rational.h" @@ -43,7 +44,7 @@ static bool op_commute_clear(SwsOp *op, SwsOp *next) switch (next->op) { case SWS_OP_CONVERT: op->type = next->convert.to; - /* fall through */ + av_fallthrough; case SWS_OP_LSHIFT: case SWS_OP_RSHIFT: case SWS_OP_DITHER: @@ -84,7 +85,7 @@ static bool op_commute_swizzle(SwsOp *op, SwsOp *next) switch (next->op) { case SWS_OP_CONVERT: op->type = next->convert.to; - /* fall through */ + av_fallthrough; case SWS_OP_SWAP_BYTES: case SWS_OP_LSHIFT: case SWS_OP_RSHIFT: -- 2.52.0 >>From 731c8276e63bc9aee703023f018ec9e18432d550 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:11:28 +0100 Subject: [PATCH 07/89] avutil: replace fall-through comments --- libavutil/channel_layout.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index cfa8e05d56..08865df2cb 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -32,6 +32,7 @@ #include "bprint.h" #include "common.h" #include "error.h" +#include "attributes.h" #include "macros.h" #include "mem.h" #include "opt.h" @@ -608,7 +609,7 @@ int av_channel_layout_describe_bprint(const AVChannelLayout *channel_layout, av_bprintf(bp, "%s", channel_layout_map[i].name); return 0; } - // fall-through + av_fallthrough; case AV_CHANNEL_ORDER_CUSTOM: if (channel_layout->order == AV_CHANNEL_ORDER_CUSTOM) { int64_t mask; @@ -639,7 +640,7 @@ int av_channel_layout_describe_bprint(const AVChannelLayout *channel_layout, av_bprintf(bp, ")"); return 0; } - // fall-through + av_fallthrough; case AV_CHANNEL_ORDER_UNSPEC: av_bprintf(bp, "%d channels", channel_layout->nb_channels); return 0; @@ -687,7 +688,7 @@ av_channel_layout_channel_from_index(const AVChannelLayout *channel_layout, return AV_CHAN_AMBISONIC_BASE + idx; idx -= ambi_channels; } - // fall-through + av_fallthrough; case AV_CHANNEL_ORDER_NATIVE: for (i = 0; i < 64; i++) { if ((1ULL << i) & channel_layout->u.mask && !idx--) @@ -768,7 +769,7 @@ int av_channel_layout_index_from_string(const AVChannelLayout *channel_layout, (ch == AV_CHAN_NONE || ch == channel_layout->u.map[i].id)) return i; } - // fall-through + av_fallthrough; case AV_CHANNEL_ORDER_AMBISONIC: case AV_CHANNEL_ORDER_NATIVE: ch = av_channel_from_string(str); -- 2.52.0 >>From 324f9f6d1bd7a4a8d4e1221f5fc4a8812c08f31a Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:14:14 +0100 Subject: [PATCH 08/89] avfilter: avf_showcqt: add fall-through annotation --- libavfilter/avf_showcqt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c index 7395b0bfc2..b2483fb4b7 100644 --- a/libavfilter/avf_showcqt.c +++ b/libavfilter/avf_showcqt.c @@ -19,6 +19,7 @@ */ #include "config.h" +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavutil/tx.h" #include "libavutil/channel_layout.h" @@ -1203,6 +1204,7 @@ static void init_colormatrix(ShowCQTContext *s) default: av_log(s->ctx, AV_LOG_WARNING, "unsupported colorspace, setting it to unspecified.\n"); s->csp = AVCOL_SPC_UNSPECIFIED; + av_fallthrough; case AVCOL_SPC_UNSPECIFIED: case AVCOL_SPC_BT470BG: case AVCOL_SPC_SMPTE170M: -- 2.52.0 >>From 2f18d149deb6e2e2f6a52000cdf2ccbe8e28a608 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:15:41 +0100 Subject: [PATCH 09/89] avfilter: vf_v360: add missing break Also replace an av_assert0 with av_unreachable. --- libavfilter/vf_v360.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index a5297c81e9..005fd8cfa4 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -4427,7 +4427,7 @@ static int config_output(AVFilterLink *outlink) in_offset_h = h; break; default: - av_assert0(0); + av_unreachable("All valid cases are handled"); } set_dimensions(s->inplanewidth, s->inplaneheight, w, h, desc); @@ -4449,6 +4449,7 @@ static int config_output(AVFilterLink *outlink) case FISHEYE: default_ih_fov = 180.f; default_iv_fov = 180.f; + break; default: break; } -- 2.52.0 >>From 3c49b9dce7c44ba2bc2bdf72761756fded8ce32b Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:18:57 +0100 Subject: [PATCH 10/89] avcodec: videotoolbox: add missing fall-through --- libavcodec/videotoolboxenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c index 63e93b9d10..09431762fe 100644 --- a/libavcodec/videotoolboxenc.c +++ b/libavcodec/videotoolboxenc.c @@ -26,6 +26,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/imgutils.h" #include "libavutil/mem.h" @@ -548,6 +549,7 @@ static CMVideoCodecType get_cm_codec_type(AVCodecContext *avctx, default: av_log(avctx, AV_LOG_ERROR, "Unknown profile ID: %d, using auto\n", profile); + av_fallthrough; case AV_PROFILE_UNKNOWN: if (desc && ((desc->flags & AV_PIX_FMT_FLAG_ALPHA) || -- 2.52.0 >>From de27f5e8a1a4bb8dbeb8e5cb83eaeb9ad7e61118 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:19:19 +0100 Subject: [PATCH 11/89] avutil: hwcontext_videotoolbox: add missing fall-through --- libavutil/hwcontext_videotoolbox.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index 102fa485e5..3f4ad6f5cd 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -29,6 +29,7 @@ #include "hwcontext.h" #include "hwcontext_internal.h" #include "hwcontext_videotoolbox.h" +#include "attributes.h" #include "mem.h" #include "pixfmt.h" #include "pixdesc.h" @@ -456,6 +457,7 @@ CFStringRef av_map_videotoolbox_color_matrix_from_av(enum AVColorSpace space) #if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG if (__builtin_available(macOS 10.13, iOS 11, tvOS 11, watchOS 4, *)) return CVYCbCrMatrixGetStringForIntegerCodePoint(space); + av_fallthrough; #endif case AVCOL_SPC_UNSPECIFIED: return NULL; @@ -481,6 +483,7 @@ CFStringRef av_map_videotoolbox_color_primaries_from_av(enum AVColorPrimaries pr #if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG if (__builtin_available(macOS 10.13, iOS 11, tvOS 11, watchOS 4, *)) return CVColorPrimariesGetStringForIntegerCodePoint(pri); + av_fallthrough; #endif case AVCOL_PRI_UNSPECIFIED: return NULL; @@ -528,6 +531,7 @@ CFStringRef av_map_videotoolbox_color_trc_from_av(enum AVColorTransferCharacteri #if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG if (__builtin_available(macOS 10.13, iOS 11, tvOS 11, watchOS 4, *)) return CVTransferFunctionGetStringForIntegerCodePoint(trc); + av_fallthrough; #endif case AVCOL_TRC_UNSPECIFIED: return NULL; -- 2.52.0 >>From 4aeea58bb161c765066bf417b7dfbacb6e3f378c Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:20:22 +0100 Subject: [PATCH 12/89] avutil: avsscanf: add missing break --- libavutil/avsscanf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/avsscanf.c b/libavutil/avsscanf.c index 94f7710043..daa8f4929e 100644 --- a/libavutil/avsscanf.c +++ b/libavutil/avsscanf.c @@ -828,6 +828,7 @@ static int ff_vfscanf(FFFILE *f, const char *fmt, va_list ap) switch (t) { case 'c': if (width < 1) width = 1; + break; case '[': break; case 'n': -- 2.52.0 >>From 658f350ffe51f0af12c8eab5bd9e72055d058d8a Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:23:07 +0100 Subject: [PATCH 13/89] avutil: add missing fall-through annotation --- libavutil/channel_layout.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 08865df2cb..f63aace975 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -694,6 +694,7 @@ av_channel_layout_channel_from_index(const AVChannelLayout *channel_layout, if ((1ULL << i) & channel_layout->u.mask && !idx--) return i; } + av_fallthrough; default: return AV_CHAN_NONE; } -- 2.52.0 >>From 0841d2f03ba83c7686b273aa2047d826d4d87211 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:34:53 +0100 Subject: [PATCH 14/89] avcodec/zmbv: add missing fall-through annotation --- libavcodec/zmbv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c index f0bffd8966..947097bb4a 100644 --- a/libavcodec/zmbv.c +++ b/libavcodec/zmbv.c @@ -26,6 +26,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" @@ -583,6 +584,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, case ZMBV_FMT_8BPP: for (j = 0; j < 256; j++) AV_WN32(&frame->data[1][j * 4], 0xFFU << 24 | AV_RB24(&c->pal[j * 3])); + av_fallthrough; case ZMBV_FMT_15BPP: case ZMBV_FMT_16BPP: #ifdef ZMBV_ENABLE_24BPP -- 2.52.0 >>From 35119d4d2ee9336f51b270b4343708822568c4a6 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:55:43 +0100 Subject: [PATCH 15/89] avcodec: vmnc: add missing fall-through annotation --- libavcodec/vmnc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/vmnc.c b/libavcodec/vmnc.c index 6188aa7158..162e8ee9bb 100644 --- a/libavcodec/vmnc.c +++ b/libavcodec/vmnc.c @@ -25,6 +25,7 @@ * As Alex Beregszaszi discovered, this is effectively RFB data dump */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/mem.h" #include "avcodec.h" @@ -542,6 +543,7 @@ static av_cold int decode_init(AVCodecContext *avctx) /* 24 bits is not technically supported, but some clients might * mistakenly set it, so let's assume they actually meant 32 bits */ c->bpp = 32; + av_fallthrough; case 32: avctx->pix_fmt = AV_PIX_FMT_0RGB32; break; -- 2.52.0 >>From 8469bbe8c3abe0891ae2736e36817276f53e3b02 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:58:08 +0100 Subject: [PATCH 16/89] avcodec: vc1: add missing break --- libavcodec/vc1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index e365aaec84..ab247f0a7f 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -248,6 +248,7 @@ static int vop_dquant_decoding(VC1Context *v) v->halfpq = 0; return 0; } + break; default: break; //Forbidden ? } -- 2.52.0 >>From 52ab367aa0feb68e6dd34b596325993e82cd844a Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 21:59:06 +0100 Subject: [PATCH 17/89] avcodec: vb: add missing fall-through annotation --- libavcodec/vb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/vb.c b/libavcodec/vb.c index 42d6f26f6c..bd5f786bd1 100644 --- a/libavcodec/vb.c +++ b/libavcodec/vb.c @@ -24,6 +24,7 @@ * VB Video decoder */ +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "avcodec.h" #include "bytestream.h" @@ -159,6 +160,7 @@ static int vb_decode_framedata(VBDecContext *c, int offset) break; case 1: pattern = ~pattern; + av_fallthrough; case 2: a = bytestream2_get_byte(&g); for (y = 0; y < 4; y++) -- 2.52.0 >>From 33b37c0efb62b34fab3877e077f280e435044066 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Tue, 17 Feb 2026 22:00:50 +0100 Subject: [PATCH 18/89] avcodec: txd: add missing fall-through annotation --- libavcodec/txd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/txd.c b/libavcodec/txd.c index d71e788e7d..24a6b6b5d3 100644 --- a/libavcodec/txd.c +++ b/libavcodec/txd.c @@ -25,6 +25,7 @@ #include "avcodec.h" #include "codec_internal.h" #include "decode.h" +#include "libavutil/attributes.h" #include "texturedsp.h" #define TXD_DXT1 0x31545844 @@ -72,6 +73,7 @@ static int txd_decode_frame(AVCodecContext *avctx, AVFrame *p, case 0: if (!(flags & 1)) goto unsupported; + av_fallthrough; case TXD_DXT1: if (bytestream2_get_bytes_left(&gb) < AV_CEIL_RSHIFT(w, 2) * AV_CEIL_RSHIFT(h, 2) * 8 + 4) return AVERROR_INVALIDDATA; -- 2.52.0 >>From 97f1b96a7c3372d4a202a5aa5ea6e7e07b2e2943 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:08:02 +0100 Subject: [PATCH 19/89] swscale: add fall-through annotations --- libswscale/input.c | 14 ++++++++++++++ libswscale/swscale_unscaled.c | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/libswscale/input.c b/libswscale/input.c index eb4eb3101e..85816bebf8 100644 --- a/libswscale/input.c +++ b/libswscale/input.c @@ -22,6 +22,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/bswap.h" #include "libavutil/intreadwrite.h" #include "libavutil/avassert.h" @@ -2302,31 +2303,37 @@ av_cold void ff_sws_init_input_funcs(SwsInternal *c, break; case AV_PIX_FMT_GBRAP10LE: *readAlpPlanar = planar_rgb10le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP10LE: *readLumPlanar = planar_rgb10le_to_y; break; case AV_PIX_FMT_GBRAP12LE: *readAlpPlanar = planar_rgb12le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP12LE: *readLumPlanar = planar_rgb12le_to_y; break; case AV_PIX_FMT_GBRAP14LE: *readAlpPlanar = planar_rgb14le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP14LE: *readLumPlanar = planar_rgb14le_to_y; break; case AV_PIX_FMT_GBRAP16LE: *readAlpPlanar = planar_rgb16le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP16LE: *readLumPlanar = planar_rgb16le_to_y; break; case AV_PIX_FMT_GBRAPF32LE: *readAlpPlanar = planar_rgbf32le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRPF32LE: *readLumPlanar = planar_rgbf32le_to_y; break; case AV_PIX_FMT_GBRAPF16LE: *readAlpPlanar = planar_rgbf16le_to_a; + av_fallthrough; case AV_PIX_FMT_GBRPF16LE: *readLumPlanar = planar_rgbf16le_to_y; break; @@ -2341,31 +2348,37 @@ av_cold void ff_sws_init_input_funcs(SwsInternal *c, break; case AV_PIX_FMT_GBRAP10BE: *readAlpPlanar = planar_rgb10be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP10BE: *readLumPlanar = planar_rgb10be_to_y; break; case AV_PIX_FMT_GBRAP12BE: *readAlpPlanar = planar_rgb12be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP12BE: *readLumPlanar = planar_rgb12be_to_y; break; case AV_PIX_FMT_GBRAP14BE: *readAlpPlanar = planar_rgb14be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP14BE: *readLumPlanar = planar_rgb14be_to_y; break; case AV_PIX_FMT_GBRAP16BE: *readAlpPlanar = planar_rgb16be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP16BE: *readLumPlanar = planar_rgb16be_to_y; break; case AV_PIX_FMT_GBRAPF32BE: *readAlpPlanar = planar_rgbf32be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRPF32BE: *readLumPlanar = planar_rgbf32be_to_y; break; case AV_PIX_FMT_GBRAPF16BE: *readAlpPlanar = planar_rgbf16be_to_a; + av_fallthrough; case AV_PIX_FMT_GBRPF16BE: *readLumPlanar = planar_rgbf16be_to_y; break; @@ -2377,6 +2390,7 @@ av_cold void ff_sws_init_input_funcs(SwsInternal *c, break; case AV_PIX_FMT_GBRAP: *readAlpPlanar = planar_rgb_to_a; + av_fallthrough; case AV_PIX_FMT_GBRP: *readLumPlanar = planar_rgb_to_y; break; diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index c9feb84c8e..1476ea3f1f 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -23,6 +23,7 @@ #include #include #include "config.h" +#include "libavutil/attributes.h" #include "swscale.h" #include "swscale_internal.h" #include "rgb2rgb.h" @@ -1287,6 +1288,7 @@ static int planarRgbaToRgbWrapper(SwsInternal *c, const uint8_t *const src[], case AV_PIX_FMT_ARGB: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_RGBA: gbraptopacked32(src201, stride201, dst[0] + srcSliceY * dstStride[0], dstStride[0], @@ -1295,6 +1297,7 @@ static int planarRgbaToRgbWrapper(SwsInternal *c, const uint8_t *const src[], case AV_PIX_FMT_ABGR: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_BGRA: gbraptopacked32(src102, stride102, dst[0] + srcSliceY * dstStride[0], dstStride[0], @@ -1343,6 +1346,7 @@ static int planarRgbToRgbWrapper(SwsInternal *c, const uint8_t *const src[], case AV_PIX_FMT_ARGB: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_RGBA: gbr24ptopacked32(src201, stride201, dst[0] + srcSliceY * dstStride[0], dstStride[0], @@ -1351,6 +1355,7 @@ static int planarRgbToRgbWrapper(SwsInternal *c, const uint8_t *const src[], case AV_PIX_FMT_ABGR: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_BGRA: gbr24ptopacked32(src102, stride102, dst[0] + srcSliceY * dstStride[0], dstStride[0], @@ -1445,12 +1450,14 @@ static int rgbToPlanarRgbWrapper(SwsInternal *c, const uint8_t *const src[], break; case AV_PIX_FMT_ARGB: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_RGBA: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst201, stride201, srcSliceH, alpha_first, 4, c->opts.src_w); break; case AV_PIX_FMT_ABGR: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_BGRA: packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst102, stride102, srcSliceH, alpha_first, 4, c->opts.src_w); @@ -1555,12 +1562,14 @@ static int rgbToPlanarRgbaWrapper(SwsInternal *c, const uint8_t *const src[], break; case AV_PIX_FMT_ARGB: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_RGBA: packed32togbrap((const uint8_t *) src[0], srcStride[0], dst201, stride201, srcSliceH, alpha_first, c->opts.src_w); break; case AV_PIX_FMT_ABGR: alpha_first = 1; + av_fallthrough; case AV_PIX_FMT_BGRA: packed32togbrap((const uint8_t *) src[0], srcStride[0], dst102, stride102, srcSliceH, alpha_first, c->opts.src_w); -- 2.52.0 >>From 1e91de2aac6d669cb53efcf56d643f99ad616a8c Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:09:06 +0100 Subject: [PATCH 20/89] avformat: yuv4mpegdec: return proper error The header is not invalid in this case, but ffmpeg still doesn't support it. --- libavformat/yuv4mpegdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/yuv4mpegdec.c b/libavformat/yuv4mpegdec.c index 5c21858908..91d5a26fc1 100644 --- a/libavformat/yuv4mpegdec.c +++ b/libavformat/yuv4mpegdec.c @@ -151,6 +151,7 @@ static int yuv4_read_header(AVFormatContext *s) case 'm': av_log(s, AV_LOG_ERROR, "YUV4MPEG stream contains mixed " "interlaced and non-interlaced frames.\n"); + return AVERROR(ENOTSUP); default: av_log(s, AV_LOG_ERROR, "YUV4MPEG has invalid header.\n"); return AVERROR(EINVAL); -- 2.52.0 >>From bbc9701670a95a8f08bc9a125b8c2f76ed1260e9 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:09:27 +0100 Subject: [PATCH 21/89] avformat: ty: add missing fall-through --- libavformat/ty.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/ty.c b/libavformat/ty.c index acd5e62157..c637c35e7c 100644 --- a/libavformat/ty.c +++ b/libavformat/ty.c @@ -23,6 +23,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/mem.h" #include "avformat.h" @@ -691,6 +692,7 @@ static int ty_read_packet(AVFormatContext *s, AVPacket *pkt) break; default: ff_dlog(s, "Invalid record type 0x%02x\n", rec->rec_type); + av_fallthrough; case 0x01: case 0x02: case 0x03: /* TiVo data services */ -- 2.52.0 >>From a9e247e4324fcefedd0c003626576f610b2d2936 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:09:39 +0100 Subject: [PATCH 22/89] avformat: txd: add missing fall-through --- libavformat/txd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/txd.c b/libavformat/txd.c index 4486db5e44..87d5226b72 100644 --- a/libavformat/txd.c +++ b/libavformat/txd.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "avformat.h" #include "demux.h" @@ -75,8 +76,10 @@ next_chunk: case TXD_INFO: if (chunk_size > 100) break; + av_fallthrough; case TXD_EXTRA: avio_skip(s->pb, chunk_size); + av_fallthrough; case TXD_FILE: case TXD_TEXTURE: goto next_chunk; -- 2.52.0 >>From 1537dd707b23f688f1ca3c9ed02936e959e55410 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:09:55 +0100 Subject: [PATCH 23/89] avformat: takdec: add missing fall-through --- libavformat/takdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/takdec.c b/libavformat/takdec.c index c1271601b5..04c98c295e 100644 --- a/libavformat/takdec.c +++ b/libavformat/takdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/crc.h" #include "libavutil/mem.h" @@ -85,6 +86,7 @@ static int tak_read_header(AVFormatContext *s) case TAK_METADATA_STREAMINFO: if (st->codecpar->extradata) return AVERROR_INVALIDDATA; + av_fallthrough; case TAK_METADATA_LAST_FRAME: case TAK_METADATA_ENCODER: if (size <= 3) -- 2.52.0 >>From 8ac3c7316082f3677cc9fd36313437d20fc55bac Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:10:24 +0100 Subject: [PATCH 24/89] avformat: rtmppkt: add missing fall-through --- libavformat/rtmppkt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c index ec10c89fc8..9cf3763c1b 100644 --- a/libavformat/rtmppkt.c +++ b/libavformat/rtmppkt.c @@ -20,6 +20,7 @@ */ #include "libavcodec/bytestream.h" +#include "libavutil/attributes.h" #include "libavutil/intfloat.h" #include "libavutil/mem.h" @@ -466,6 +467,7 @@ static int amf_tag_skip(GetByteContext *gb) case AMF_DATA_TYPE_ARRAY: case AMF_DATA_TYPE_MIXEDARRAY: nb = bytestream2_get_be32(gb); + av_fallthrough; case AMF_DATA_TYPE_OBJECT: while (type != AMF_DATA_TYPE_ARRAY || nb-- > 0) { int t; -- 2.52.0 >>From ae6fc69d82603de460d7a289f49eae17d9a62d16 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:11:05 +0100 Subject: [PATCH 25/89] avformat: oggparsetheora: add missing fall-through --- libavformat/oggparsetheora.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/oggparsetheora.c b/libavformat/oggparsetheora.c index 6cdd962759..e104d63229 100644 --- a/libavformat/oggparsetheora.c +++ b/libavformat/oggparsetheora.c @@ -23,6 +23,7 @@ **/ #include +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavcodec/get_bits.h" #include "avformat.h" @@ -117,6 +118,7 @@ static int theora_header(AVFormatContext *s, int idx) break; case 0x81: ff_vorbis_stream_comment(s, st, os->buf + os->pstart + 7, os->psize - 7); + av_fallthrough; case 0x82: if (!thp->version) return AVERROR_INVALIDDATA; -- 2.52.0 >>From de1e6e559a5bf5b1d482106813092400dac0ad15 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:11:32 +0100 Subject: [PATCH 26/89] avformat: nuv: add missing fall-through --- libavformat/nuv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/nuv.c b/libavformat/nuv.c index 17a041b254..0938660c62 100644 --- a/libavformat/nuv.c +++ b/libavformat/nuv.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/channel_layout.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" @@ -389,6 +390,7 @@ static int64_t nuv_read_dts(AVFormatContext *s, int stream_index, *ppos = pos; return dts; } + av_fallthrough; default: avio_skip(pb, size); break; -- 2.52.0 >>From 28099ac9f39e5ef792ac28e440c9ab1d3d5963ce Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:11:44 +0100 Subject: [PATCH 27/89] avformat: nutdec: add missing fall-through --- libavformat/nutdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c index 34b7e3cb9a..b0a997cad6 100644 --- a/libavformat/nutdec.c +++ b/libavformat/nutdec.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/avassert.h" #include "libavutil/bswap.h" @@ -1182,12 +1183,14 @@ static int nut_read_packet(AVFormatContext *s, AVPacket *pkt) if (decode_syncpoint(nut, &ts, &back_ptr) < 0) goto resync; frame_code = avio_r8(bc); + av_fallthrough; case 0: ret = decode_frame(nut, pkt, frame_code); if (ret == 0) return 0; else if (ret == 1) // OK but discard packet break; + av_fallthrough; default: resync: av_log(s, AV_LOG_DEBUG, "syncing from %"PRId64"\n", pos); -- 2.52.0 >>From 8c8ddb6b3d192d4b3e06f5351c4d5b21b99c5d5f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:11:56 +0100 Subject: [PATCH 28/89] avformat: network: add missing fall-through --- libavformat/network.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/network.c b/libavformat/network.c index a7026ac09b..5bfc28d80d 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -20,6 +20,7 @@ #include "config.h" #include "config_components.h" +#include "libavutil/attributes.h" #if CONFIG_TLS_PROTOCOL && CONFIG_OPENSSL #include @@ -288,6 +289,7 @@ int ff_listen_connect(int fd, const struct sockaddr *addr, av_log(h, AV_LOG_ERROR, "Connection to %s failed: %s\n", h->filename, av_err2str(ret)); } + av_fallthrough; default: return ret; } -- 2.52.0 >>From ca67291ea44fb2101ec6104d684cf1bc3cac62b3 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:12:13 +0100 Subject: [PATCH 29/89] avformat: mxfenc: add missing fall-through --- libavformat/mxfenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index 12ef521779..1552d24e0c 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -40,6 +40,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/attributes_internal.h" #include "libavutil/mem.h" #include "libavutil/opt.h" @@ -1257,6 +1258,7 @@ static int64_t mxf_write_generic_picture_desc(AVFormatContext *s, AVStream *st) if (sc->cid < 1270) // DNxHD break; // fall for DNxHR RI rasters + av_fallthrough; case AV_CODEC_ID_MPEG2VIDEO: case AV_CODEC_ID_H264: //Based on 16x16 macroblocks -- 2.52.0 >>From 9d65081f8c2d0e65c941ed8df82fb9960c826d99 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:12:36 +0100 Subject: [PATCH 30/89] avformat: mxfdec: add missing fall-through and break --- libavformat/mxfdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 59b9b43a22..a5a8417487 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -48,6 +48,7 @@ #include #include "libavutil/aes.h" +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/mastering_display_metadata.h" #include "libavutil/mathematics.h" @@ -423,6 +424,7 @@ static void mxf_free_metadataset(MXFMetadataSet **ctx, enum MXFMetadataSetType t av_freep(&seg->temporal_offset_entries); av_freep(&seg->flag_entries); av_freep(&seg->stream_offset_entries); + break; default: break; } @@ -2926,6 +2928,7 @@ static int mxf_parse_structural_metadata(MXFContext *mxf) break; case SegmentedFrame: st->codecpar->field_order = AV_FIELD_PROGRESSIVE; + av_fallthrough; case SeparateFields: av_log(mxf->fc, AV_LOG_DEBUG, "video_line_map: (%d, %d), field_dominance: %d\n", descriptor->video_line_map[0], descriptor->video_line_map[1], -- 2.52.0 >>From 9fb4c39a8084f3c67e372525c20cc30f880a0d28 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:12:51 +0100 Subject: [PATCH 31/89] avformat: mov: add missing fall-throughs --- libavformat/mov.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 1a4450153f..54799d28d1 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2357,8 +2357,10 @@ static int mov_read_ares(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (den >= INT_MAX / 2) return 0; den *= 2; + av_fallthrough; case 1: sti->display_aspect_ratio = (AVRational){ num, den }; + av_fallthrough; default: return 0; } @@ -9683,6 +9685,7 @@ static int mov_probe(const AVProbeData *p) /* check for obvious tags */ case MKTAG('m','o','o','v'): moov_offset = offset + 4; + av_fallthrough; case MKTAG('m','d','a','t'): case MKTAG('p','n','o','t'): /* detect movs with preview pics like ew.mov and april.mov */ case MKTAG('u','d','t','a'): /* Packet Video PVAuthor adds this and a lot of more junk */ -- 2.52.0 >>From 32e088716d32881782622e14ef9e65e488994bc1 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:13:09 +0100 Subject: [PATCH 32/89] avformat: matroskadec: add missing break --- libavformat/matroskadec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 1a584b1400..097bb332cc 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1603,6 +1603,7 @@ static void ebml_free(EbmlSyntax *syntax, void *data) list->alloc_elem_size = 0; } else ebml_free(syntax[i].def.n, data_off); + break; default: break; } -- 2.52.0 >>From 8c970d47c3437ee5b7ee7c957fea501f333529f8 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:13:27 +0100 Subject: [PATCH 33/89] avformat: lvfdec: add missing fall-through --- libavformat/lvfdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/lvfdec.c b/libavformat/lvfdec.c index cd013844fb..daa9bd0322 100644 --- a/libavformat/lvfdec.c +++ b/libavformat/lvfdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "avformat.h" #include "demux.h" @@ -120,6 +121,7 @@ static int lvf_read_packet(AVFormatContext *s, AVPacket *pkt) switch (id) { case MKTAG('0', '0', 'd', 'c'): is_video = 1; + av_fallthrough; case MKTAG('0', '1', 'w', 'b'): if (size < 8) return AVERROR_INVALIDDATA; -- 2.52.0 >>From 0e79c599ffa033b6ce1e6f94df6034987915619f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:13:44 +0100 Subject: [PATCH 34/89] avformat: lmlm4: add missing fall-through --- libavformat/lmlm4.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/lmlm4.c b/libavformat/lmlm4.c index aeb5580620..c01304dd45 100644 --- a/libavformat/lmlm4.c +++ b/libavformat/lmlm4.c @@ -22,6 +22,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "avformat.h" @@ -110,6 +111,7 @@ static int lmlm4_read_packet(AVFormatContext *s, AVPacket *pkt) switch (frame_type) { case LMLM4_I_FRAME: pkt->flags = AV_PKT_FLAG_KEY; + av_fallthrough; case LMLM4_P_FRAME: case LMLM4_B_FRAME: pkt->stream_index = 0; -- 2.52.0 >>From 4c5c8570becda25b05358881873e919b06b7a6a4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:14:01 +0100 Subject: [PATCH 35/89] avformat: jacobsubdec: add missing fall-through --- libavformat/jacosubdec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavformat/jacosubdec.c b/libavformat/jacosubdec.c index da150a96ab..3c3f1b32e3 100644 --- a/libavformat/jacosubdec.c +++ b/libavformat/jacosubdec.c @@ -28,6 +28,7 @@ #include "avformat.h" #include "demux.h" #include "internal.h" +#include "libavutil/attributes.h" #include "subtitles.h" #include "libavcodec/jacosub.h" #include "libavutil/avstring.h" @@ -144,9 +145,9 @@ static int get_shift(unsigned timeres, const char *buf) ret = 0; switch (n) { - case 1: h = 0; //clear all in case of a single parameter - case 2: s = m; m = h; h = 0; //shift into second subsecondd - case 3: d = s; s = m; m = h; h = 0; //shift into minute second subsecond + case 1: h = 0; av_fallthrough; //clear all in case of a single parameter + case 2: s = m; m = h; h = 0; av_fallthrough; //shift into second subsecondd + case 3: d = s; s = m; m = h; h = 0; //shift into minute second subsecond } ret = (int64_t)h*3600 + (int64_t)m*60 + s; -- 2.52.0 >>From e3613c18f6dfb2637dd96918976a2aa2572bff30 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:14:27 +0100 Subject: [PATCH 36/89] avformat: idroqdec: add missing fall-through --- libavformat/idroqdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/idroqdec.c b/libavformat/idroqdec.c index 9c3aaec260..861338ceec 100644 --- a/libavformat/idroqdec.c +++ b/libavformat/idroqdec.c @@ -27,6 +27,7 @@ * http://www.csse.monash.edu.au/~timf/ */ +#include "libavutil/attributes.h" #include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "avformat.h" @@ -195,6 +196,7 @@ static int roq_read_packet(AVFormatContext *s, st->codecpar->bits_per_coded_sample; st->codecpar->block_align = roq->audio_channels * st->codecpar->bits_per_coded_sample; } + av_fallthrough; case RoQ_QUAD_VQ: if (chunk_type == RoQ_QUAD_VQ) { if (roq->video_stream_index < 0) -- 2.52.0 >>From c58a6b61b72bee6c7b9e20e7444aebab2fad11d1 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:14:39 +0100 Subject: [PATCH 37/89] avformat: id3v2: add missing break --- libavformat/id3v2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index 3f14bfe3d6..4a9b5a66d7 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -281,6 +281,7 @@ static int decode_str(AVFormatContext *s, AVIOContext *pb, int encoding, switch (bom) { case 0xfffe: get = avio_rl16; + break; case 0xfeff: break; case 0: // empty string without bom -- 2.52.0 >>From 09a56943552a58a0ce6364f5d0874498ba96b038 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:14:54 +0100 Subject: [PATCH 38/89] avformat: flvenc: add missing fall-through --- libavformat/flvenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index a0503c1799..323983e8ed 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/dict.h" #include "libavutil/intfloat.h" @@ -183,6 +184,7 @@ static int get_audio_flags(AVFormatContext *s, AVCodecParameters *par) flags |= FLV_SAMPLERATE_SPECIAL; break; } + av_fallthrough; default: error: av_log(s, AV_LOG_ERROR, -- 2.52.0 >>From 9e4abeed4005e952938dd5d9e0fe87d71306fdef Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:15:13 +0100 Subject: [PATCH 39/89] avformat: flvdec: add missing fall-through --- libavformat/flvdec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 18bdbd18bd..6d14456253 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -24,6 +24,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/channel_layout.h" @@ -457,6 +458,7 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, break; case FLV_CODECID_VP6: par->codec_id = AV_CODEC_ID_VP6F; + av_fallthrough; case FLV_CODECID_VP6A: if (flv_codecid == FLV_CODECID_VP6A) par->codec_id = AV_CODEC_ID_VP6A; @@ -1058,10 +1060,12 @@ static int amf_skip_tag(AVIOContext *pb, AMFDataType type, int depth) break; case AMF_DATA_TYPE_ARRAY: parse_name = 0; + av_fallthrough; case AMF_DATA_TYPE_MIXEDARRAY: nb = avio_rb32(pb); if (nb < 0) return AVERROR_INVALIDDATA; + av_fallthrough; case AMF_DATA_TYPE_OBJECT: while(!pb->eof_reached && (nb-- > 0 || type != AMF_DATA_TYPE_ARRAY)) { if (parse_name) { @@ -1098,8 +1102,10 @@ static int flv_data_packet(AVFormatContext *s, AVPacket *pkt, switch (avio_r8(pb)) { case AMF_DATA_TYPE_ARRAY: array = 1; + av_fallthrough; case AMF_DATA_TYPE_MIXEDARRAY: avio_seek(pb, 4, SEEK_CUR); + av_fallthrough; case AMF_DATA_TYPE_OBJECT: break; default: -- 2.52.0 >>From e8eb4a3c5790529168a89d5b76046f115301be2d Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:15:26 +0100 Subject: [PATCH 40/89] avformat: epafdec: add missing fall-through --- libavformat/epafdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/epafdec.c b/libavformat/epafdec.c index f2701b60ca..f897737b60 100644 --- a/libavformat/epafdec.c +++ b/libavformat/epafdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavcodec/internal.h" #include "avformat.h" @@ -80,6 +81,7 @@ static int epaf_read_header(AVFormatContext *s) break; case 1: avpriv_request_sample(s, "24-bit Paris PCM format"); + av_fallthrough; default: return AVERROR_INVALIDDATA; } -- 2.52.0 >>From ab0e2c0365d2f4b31893a39989ffa8cec0e00aea Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:15:43 +0100 Subject: [PATCH 41/89] avformat: electronicarts: add missing fall-through --- libavformat/electronicarts.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c index 74a050fec6..9361e343c2 100644 --- a/libavformat/electronicarts.c +++ b/libavformat/electronicarts.c @@ -27,6 +27,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/opt.h" #include "avformat.h" @@ -614,6 +615,7 @@ static int ea_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR_INVALIDDATA; avio_skip(pb, 32); chunk_size -= 32; + av_fallthrough; case ISNd_TAG: case SCDl_TAG: case SNDC_TAG: @@ -709,6 +711,7 @@ static int ea_read_packet(AVFormatContext *s, AVPacket *pkt) case TGQs_TAG: case MADk_TAG: key = AV_PKT_FLAG_KEY; + av_fallthrough; case MVIf_TAG: case fVGT_TAG: case MADm_TAG: @@ -732,6 +735,7 @@ static int ea_read_packet(AVFormatContext *s, AVPacket *pkt) case MPCh_TAG: case pIQT_TAG: key = AV_PKT_FLAG_KEY; + av_fallthrough; case MV0F_TAG: case AV0F_TAG: get_video_packet: -- 2.52.0 >>From 73a7e53d1c432bd80d7a6c8592e309aa46f02d27 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:15:53 +0100 Subject: [PATCH 42/89] avformat: concat: add missing fall-through --- libavformat/concat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/concat.c b/libavformat/concat.c index e1d57de557..d8162b8778 100644 --- a/libavformat/concat.c +++ b/libavformat/concat.c @@ -25,6 +25,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/bprint.h" #include "libavutil/error.h" @@ -179,6 +180,7 @@ static int64_t concat_seek(URLContext *h, int64_t pos, int whence) pos += ffurl_seek(nodes[i].uc, 0, SEEK_CUR); whence = SEEK_SET; /* fall through with the absolute position */ + av_fallthrough; case SEEK_SET: for (i = 0; i != data->length - 1 && pos >= nodes[i].size; i++) pos -= nodes[i].size; -- 2.52.0 >>From 7c80d289daa70ba5b6646e7c930cd947275310bd Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:16:02 +0100 Subject: [PATCH 43/89] avformat: cafdec: add missing fall-through --- libavformat/cafdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c index 1557391ef3..a7789aee59 100644 --- a/libavformat/cafdec.c +++ b/libavformat/cafdec.c @@ -33,6 +33,7 @@ #include "demux.h" #include "internal.h" #include "isom.h" +#include "libavutil/attributes.h" #include "mov_chan.h" #include "libavcodec/flac.h" #include "libavutil/intreadwrite.h" @@ -419,6 +420,7 @@ static int read_header(AVFormatContext *s) av_log(s, AV_LOG_WARNING, "skipping CAF chunk: %08"PRIX32" (%s), size %"PRId64"\n", tag, av_fourcc2str(av_bswap32(tag)), size); + av_fallthrough; case MKBETAG('f','r','e','e'): if (size < 0 && found_data) goto found_data; -- 2.52.0 >>From 66e0c73cd4cb85c3283cb4330895b6a45f2dda2a Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:16:17 +0100 Subject: [PATCH 44/89] avformat: bethsoftvid: add missing fall-through --- libavformat/bethsoftvid.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/bethsoftvid.c b/libavformat/bethsoftvid.c index f118f668f1..b8cdeea8de 100644 --- a/libavformat/bethsoftvid.c +++ b/libavformat/bethsoftvid.c @@ -27,6 +27,7 @@ * @see http://www.svatopluk.com/andux/docs/dfvid.html */ +#include "libavutil/attributes.h" #include "libavutil/channel_layout.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" @@ -247,6 +248,7 @@ static int vid_read_packet(AVFormatContext *s, avio_rl16(pb); // soundblaster DAC used for sample rate, as on specification page (link above) vid->sample_rate = 1000000 / (256 - avio_r8(pb)); + av_fallthrough; case AUDIO_BLOCK: if (vid->audio_index < 0) { AVStream *st = avformat_new_stream(s, NULL); -- 2.52.0 >>From 4279a8e3302286aba9fbcccb9fa926c41b7b73af Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:16:30 +0100 Subject: [PATCH 45/89] avformat: avienc: add missing fall-through --- libavformat/avienc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 2a3cff1210..a8ae260138 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -25,6 +25,7 @@ #include "internal.h" #include "avi.h" #include "avio_internal.h" +#include "libavutil/attributes.h" #include "riff.h" #include "mpegts.h" #include "mux.h" @@ -369,6 +370,7 @@ static int avi_write_header(AVFormatContext *s) avpriv_report_missing_feature(s, "Subtitle streams other than DivX XSUB"); return AVERROR_PATCHWELCOME; } + av_fallthrough; case AVMEDIA_TYPE_VIDEO: ffio_wfourcc(pb, "vids"); break; @@ -446,6 +448,7 @@ static int avi_write_header(AVFormatContext *s) * are not (yet) supported. */ if (par->codec_id != AV_CODEC_ID_XSUB) break; + av_fallthrough; case AVMEDIA_TYPE_VIDEO: /* WMP expects RGB 5:5:5 rawvideo in avi to have bpp set to 16. */ if ( !par->codec_tag -- 2.52.0 >>From ff991f8c2baf5813b2e6e33169249086c096dc5c Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:16:38 +0100 Subject: [PATCH 46/89] avformat: avidec: add missing fall-through --- libavformat/avidec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 8fb6931e5d..96c34abd28 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -23,6 +23,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/mem.h" @@ -583,6 +584,7 @@ static int avi_read_header(AVFormatContext *s) break; case MKTAG('a', 'm', 'v', 'h'): amv_file_format = 1; + av_fallthrough; case MKTAG('a', 'v', 'i', 'h'): /* AVI header */ /* using frame_period is bad idea */ @@ -1043,6 +1045,7 @@ static int avi_read_header(AVFormatContext *s) return ret; break; } + av_fallthrough; default: if (size > 1000000) { av_log(s, AV_LOG_ERROR, @@ -1056,6 +1059,7 @@ static int avi_read_header(AVFormatContext *s) avi->movi_end = avi->fsize; goto end_of_header; } + av_fallthrough; /* Do not fail for very large idx1 tags */ case MKTAG('i', 'd', 'x', '1'): /* skip tag */ -- 2.52.0 >>From e812dcb7c1fb18839bc7138f40805e4d22747161 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:16:51 +0100 Subject: [PATCH 47/89] avformat: aiffdec: add missing fall-through --- libavformat/aiffdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index ff47d8dc7b..645067b078 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/dict.h" #include "libavutil/mem.h" @@ -164,6 +165,7 @@ static int get_aiff_header(AVFormatContext *s, int64_t size, break; case AV_CODEC_ID_ADPCM_G726LE: par->bits_per_coded_sample = 5; + av_fallthrough; case AV_CODEC_ID_ADPCM_IMA_WS: case AV_CODEC_ID_ADPCM_G722: case AV_CODEC_ID_MACE6: @@ -384,6 +386,7 @@ static int aiff_read_header(AVFormatContext *s) case 0: if (offset > 0 && st->codecpar->block_align) // COMM && SSND goto got_sound; + av_fallthrough; default: /* Jump */ avio_skip(pb, size); } -- 2.52.0 >>From f8739b15b4a92c4aaf3951a2b4adfaabe095f20f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:17:07 +0100 Subject: [PATCH 48/89] avfilter: vf_negate: add missing fall-through --- libavfilter/vf_negate.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_negate.c b/libavfilter/vf_negate.c index f61f7ebbbb..c4774eee8a 100644 --- a/libavfilter/vf_negate.c +++ b/libavfilter/vf_negate.c @@ -16,6 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/opt.h" @@ -131,9 +132,9 @@ static void negate_packed8(const uint8_t *ssrc, uint8_t *ddst, for (int x = 0; x < w; x++) { switch (step) { - case 4: dst[3] = components & 8 ? 255 - src[3] : src[3]; - case 3: dst[2] = components & 4 ? 255 - src[2] : src[2]; - case 2: dst[1] = components & 2 ? 255 - src[1] : src[1]; + case 4: dst[3] = components & 8 ? 255 - src[3] : src[3]; av_fallthrough; + case 3: dst[2] = components & 4 ? 255 - src[2] : src[2]; av_fallthrough; + case 2: dst[1] = components & 2 ? 255 - src[1] : src[1]; av_fallthrough; default: dst[0] = components & 1 ? 255 - src[0] : src[0]; } @@ -174,9 +175,9 @@ static void negate_packed16(const uint8_t *ssrc, uint8_t *ddst, for (int x = 0; x < w; x++) { switch (step) { - case 4: dst[3] = components & 8 ? max - src[3] : src[3]; - case 3: dst[2] = components & 4 ? max - src[2] : src[2]; - case 2: dst[1] = components & 2 ? max - src[1] : src[1]; + case 4: dst[3] = components & 8 ? max - src[3] : src[3]; av_fallthrough; + case 3: dst[2] = components & 4 ? max - src[2] : src[2]; av_fallthrough; + case 2: dst[1] = components & 2 ? max - src[1] : src[1]; av_fallthrough; default: dst[0] = components & 1 ? max - src[0] : src[0]; } -- 2.52.0 >>From 7ffdef255a10cb8f451712a752546b7774e15255 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:17:21 +0100 Subject: [PATCH 49/89] avfilter: af_biquads: add missing fall-through --- libavfilter/af_biquads.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c index 565da30391..86ddeb17fb 100644 --- a/libavfilter/af_biquads.c +++ b/libavfilter/af_biquads.c @@ -64,6 +64,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/channel_layout.h" #include "libavutil/ffmath.h" @@ -857,6 +858,7 @@ static int config_filter(AVFilterLink *outlink, int reset) break; case bass: beta = sqrt((A * A + 1) - (A - 1) * (A - 1)); + av_fallthrough; case tiltshelf: case lowshelf: if (s->poles == 1) { @@ -884,6 +886,7 @@ static int config_filter(AVFilterLink *outlink, int reset) break; case treble: beta = sqrt((A * A + 1) - (A - 1) * (A - 1)); + av_fallthrough; case highshelf: if (s->poles == 1) { double A = ff_exp10(gain / 20); -- 2.52.0 >>From ef0399d6bca5a473ff743c64825fe6479ca7aebc Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:17:36 +0100 Subject: [PATCH 50/89] avcodec: wavpackdec: add missing fall-through --- libavcodec/wavpackenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c index a89f3d1670..12010d699b 100644 --- a/libavcodec/wavpackenc.c +++ b/libavcodec/wavpackenc.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #define BITSTREAM_WRITER_LE #include "libavutil/channel_layout.h" @@ -2844,6 +2845,7 @@ static void fill_buffer(WavPackEncodeContext *s, COPY_SAMPLES(int32_t, 0, 8); break; } + av_fallthrough; case AV_SAMPLE_FMT_FLTP: memcpy(dst, src, nb_samples * 4); } -- 2.52.0 >>From 866ba46568bfc1a180c41adc01d1eb9fc0caf130 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:17:48 +0100 Subject: [PATCH 51/89] avcodec: tiffenc: add missing fall-through --- libavcodec/tiffenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index 1916db9a31..e53ba6f034 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -26,6 +26,7 @@ */ #include "config.h" +#include "libavutil/attributes.h" #if CONFIG_ZLIB #include #endif @@ -278,15 +279,18 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, case AV_PIX_FMT_RGBA64LE: case AV_PIX_FMT_RGBA: alpha = 1; + av_fallthrough; case AV_PIX_FMT_RGB48LE: case AV_PIX_FMT_RGB24: s->photometric_interpretation = TIFF_PHOTOMETRIC_RGB; break; case AV_PIX_FMT_GRAY8: avctx->bits_per_coded_sample = 0x28; + av_fallthrough; case AV_PIX_FMT_GRAY8A: case AV_PIX_FMT_YA16LE: alpha = avctx->pix_fmt == AV_PIX_FMT_GRAY8A || avctx->pix_fmt == AV_PIX_FMT_YA16LE; + av_fallthrough; case AV_PIX_FMT_GRAY16LE: case AV_PIX_FMT_MONOBLACK: s->photometric_interpretation = TIFF_PHOTOMETRIC_BLACK_IS_ZERO; -- 2.52.0 >>From 901e007d7e608963206f215e794c19dfbfd019f5 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:18:02 +0100 Subject: [PATCH 52/89] avcodec: tiff: add missing fall-through --- libavcodec/tiff.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index bb8120bc1b..3e261c99f5 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -1061,6 +1061,7 @@ static int init_image(TiffContext *s, AVFrame *frame) s->avctx->pix_fmt = AV_PIX_FMT_MONOBLACK; break; } + av_fallthrough; case 21: case 41: s->avctx->pix_fmt = AV_PIX_FMT_PAL8; -- 2.52.0 >>From f9a0887a7c6e31dc68a426f54acdd54502da0a81 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:18:15 +0100 Subject: [PATCH 53/89] avcodec: takdec: add missing fall-through --- libavcodec/takdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index 42a43e8695..ff77c3bfc6 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -25,6 +25,7 @@ * @author Paul B Mahol */ +#include "libavutil/attributes.h" #include "libavutil/internal.h" #include "libavutil/mem.h" #include "libavutil/mem_internal.h" @@ -582,6 +583,7 @@ static int decorrelate(TAKDecContext *s, int c1, int c2, int length) case 4: /* side/left with scale factor */ FFSWAP(int32_t*, p1, p2); FFSWAP(int32_t, bp1, bp2); + av_fallthrough; case 5: /* side/right with scale factor */ dshift = get_bits_esc4(gb); dfactor = get_sbits(gb, 10); @@ -589,6 +591,7 @@ static int decorrelate(TAKDecContext *s, int c1, int c2, int length) break; case 6: FFSWAP(int32_t*, p1, p2); + av_fallthrough; case 7: { int length2, order_half, filter_order, dval1, dval2; int tmp, x, code_size; -- 2.52.0 >>From e8af2d745441f6dab7302fab9a2ef63cf880cace Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:18:28 +0100 Subject: [PATCH 54/89] avcodec: svq1dec: add missing fall-through --- libavcodec/svq1dec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c index 5505b896a2..a4b5042090 100644 --- a/libavcodec/svq1dec.c +++ b/libavcodec/svq1dec.c @@ -558,6 +558,7 @@ static int svq1_decode_frame_header(AVCodecContext *avctx, AVFrame *frame, int * break; case 2: s->nonref = 1; + av_fallthrough; case 1: frame->pict_type = AV_PICTURE_TYPE_P; break; -- 2.52.0 >>From 0d69a12e7eee4e330973b5293923a9599f950e12 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:18:40 +0100 Subject: [PATCH 55/89] avcodec: sheervideo: add missing fall-through --- libavcodec/sheervideo.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/sheervideo.c b/libavcodec/sheervideo.c index ef20633e1f..3cea84e4ea 100644 --- a/libavcodec/sheervideo.c +++ b/libavcodec/sheervideo.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #define CACHED_BITSTREAM_READER !ARCH_X86_32 #define SHEER_VLC_BITS 12 @@ -1863,6 +1864,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, break; case MKTAG('A', 'Y', 'B', 'R'): s->alt = 1; + av_fallthrough; case MKTAG('A', 'Y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P; s->decode_frame = decode_aybr; @@ -1870,6 +1872,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, break; case MKTAG('A', 'y', 'B', 'R'): s->alt = 1; + av_fallthrough; case MKTAG('A', 'y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUVA444P; s->decode_frame = decode_aybri; @@ -1877,6 +1880,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, break; case MKTAG(' ', 'Y', 'B', 'R'): s->alt = 1; + av_fallthrough; case MKTAG(' ', 'Y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->decode_frame = decode_ybr; @@ -1884,6 +1888,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p, break; case MKTAG(' ', 'y', 'B', 'R'): s->alt = 1; + av_fallthrough; case MKTAG(' ', 'y', 'b', 'R'): avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->decode_frame = decode_ybri; -- 2.52.0 >>From 029f1bc40ce78aae21b2dd78a24c85a1a97ccad0 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:18:52 +0100 Subject: [PATCH 56/89] avcodec: sgienc: add missing fall-through --- libavcodec/sgienc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/sgienc.c b/libavcodec/sgienc.c index 93ec9ff6cf..a6ec443970 100644 --- a/libavcodec/sgienc.c +++ b/libavcodec/sgienc.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavutil/opt.h" @@ -123,6 +124,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, break; case AV_PIX_FMT_GRAY16LE: put_be = !HAVE_BIGENDIAN; + av_fallthrough; case AV_PIX_FMT_GRAY16BE: bytes_per_channel = 2; pixmax = 0xFFFF; @@ -131,6 +133,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, break; case AV_PIX_FMT_RGB48LE: put_be = !HAVE_BIGENDIAN; + av_fallthrough; case AV_PIX_FMT_RGB48BE: bytes_per_channel = 2; pixmax = 0xFFFF; @@ -139,6 +142,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, break; case AV_PIX_FMT_RGBA64LE: put_be = !HAVE_BIGENDIAN; + av_fallthrough; case AV_PIX_FMT_RGBA64BE: bytes_per_channel = 2; pixmax = 0xFFFF; -- 2.52.0 >>From 8fff3c592279d3fd72522728e5bed9a4f6c49fe4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:19:07 +0100 Subject: [PATCH 57/89] avcodec: rv34: add missing fall-through --- libavcodec/rv34.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index f78b91e7df..7f36ccbdf9 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -24,6 +24,7 @@ * RV30/40 decoder common data */ +#include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/imgutils.h" #include "libavutil/internal.h" @@ -897,6 +898,7 @@ static int rv34_decode_mv(RV34DecContext *r, int block_type) rv34_mc_1mv (r, block_type, 0, 0, 0, 2, 2, 0); break; } + av_fallthrough; case RV34_MB_B_DIRECT: //surprisingly, it uses motion scheme from next reference frame /* wait for the current mb row to be finished */ -- 2.52.0 >>From f8ccac2efa0328d08c470235b2a6f02910e0aeb9 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:19:17 +0100 Subject: [PATCH 58/89] avcodec: rpza: add missing fall-through --- libavcodec/rpza.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/rpza.c b/libavcodec/rpza.c index cad2eaad73..81886deb02 100644 --- a/libavcodec/rpza.c +++ b/libavcodec/rpza.c @@ -36,6 +36,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/internal.h" #include "avcodec.h" #include "bytestream.h" @@ -163,6 +164,7 @@ static int rpza_decode_stream(RpzaContext *s) /* Fill blocks with 4 colors */ case 0xc0: colorA = bytestream2_get_be16(&s->gb); + av_fallthrough; case 0x20: colorB = bytestream2_get_be16(&s->gb); -- 2.52.0 >>From bb47794a714459c883b2356ad078c326faf767cc Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:19:27 +0100 Subject: [PATCH 59/89] avcodec: psd: add missing fall-through --- libavcodec/psd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/psd.c b/libavcodec/psd.c index 426ac40b01..9dc56f8f5e 100644 --- a/libavcodec/psd.c +++ b/libavcodec/psd.c @@ -407,6 +407,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *picture, break; case PSD_DUOTONE: av_log(avctx, AV_LOG_WARNING, "ignoring unknown duotone specification.\n"); + av_fallthrough; case PSD_GRAYSCALE: if (s->layer_count < 0 && s->channel_count >= 2) { if (s->channel_depth == 8) { -- 2.52.0 >>From 938b838570364fb52478d312d432c5ad3a466e6f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:19:37 +0100 Subject: [PATCH 60/89] avcodec: pafvideo: add missing fall-through --- libavcodec/pafvideo.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/pafvideo.c b/libavcodec/pafvideo.c index d8d6db5219..b4376a80b4 100644 --- a/libavcodec/pafvideo.c +++ b/libavcodec/pafvideo.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/imgutils.h" #include "libavutil/mem.h" @@ -246,16 +247,20 @@ static int decode_0(PAFVideoDecContext *c, const uint8_t *pkt, uint8_t code) switch (code) { case 2: offset = 0; + av_fallthrough; case 3: color = bytestream2_get_byte(&c->gb); + av_fallthrough; case 4: mask = bytestream2_get_byte(&c->gb); copy_color_mask(dst + offset, c->width, mask, color); break; case 5: offset = 0; + av_fallthrough; case 6: set_src_position(c, &src, &send); + av_fallthrough; case 7: if (src + offset + c->width + 4 > send) return AVERROR_INVALIDDATA; -- 2.52.0 >>From e2ccc12afbcc63a89937090cebe501e46300ec8f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:19:56 +0100 Subject: [PATCH 61/89] avcodec: mpegaudio: add missing fall-through --- libavcodec/mpegaudiodec_template.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c index fa2efa023f..420348f4bf 100644 --- a/libavcodec/mpegaudiodec_template.c +++ b/libavcodec/mpegaudiodec_template.c @@ -1489,6 +1489,7 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT **samples, break; case 3: s->avctx->frame_size = s->lsf ? 576 : 1152; + av_fallthrough; default: nb_frames = mp_decode_layer3(s); -- 2.52.0 >>From 124e38027ee6b28d0a48a3df29b3b1ca0fe0e949 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:20:12 +0100 Subject: [PATCH 62/89] avcodec: microdvddec: add missing fall-through --- libavcodec/microdvddec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/microdvddec.c b/libavcodec/microdvddec.c index a46a62e45f..55e892562c 100644 --- a/libavcodec/microdvddec.c +++ b/libavcodec/microdvddec.c @@ -26,6 +26,7 @@ * https://trac.videolan.org/vlc/ticket/1825#comment:6 */ +#include "libavutil/attributes.h" #include "libavutil/avstring.h" #include "libavutil/parseutils.h" #include "libavutil/bprint.h" @@ -99,6 +100,7 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s) /* Style */ case 'Y': tag.persistent = MICRODVD_PERSISTENT_ON; + av_fallthrough; case 'y': while (*s && *s != '}' && s - start < 256) { int style_index = indexof(MICRODVD_STYLES, *s); @@ -117,6 +119,7 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s) /* Color */ case 'C': tag.persistent = MICRODVD_PERSISTENT_ON; + av_fallthrough; case 'c': while (*s == '$' || *s == '#') s++; @@ -129,6 +132,7 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s) /* Font name */ case 'F': tag.persistent = MICRODVD_PERSISTENT_ON; + av_fallthrough; case 'f': { int len = indexof(s, '}'); if (len < 0) @@ -143,6 +147,7 @@ static char *microdvd_load_tags(struct microdvd_tag *tags, char *s) /* Font size */ case 'S': tag.persistent = MICRODVD_PERSISTENT_ON; + av_fallthrough; case 's': tag.data1 = strtol(s, &s, 10); if (*s != '}') -- 2.52.0 >>From e5aa9cf26f2836e1d7f2c5d4ae2cffbf31741810 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:20:28 +0100 Subject: [PATCH 63/89] avcodec: lcldec: add missing fall-through --- libavcodec/lcldec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c index b439dbe25e..ea36d8ebac 100644 --- a/libavcodec/lcldec.c +++ b/libavcodec/lcldec.c @@ -42,6 +42,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "libavutil/pixdesc.h" #include "avcodec.h" @@ -239,11 +240,13 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, break; case IMGTYPE_YUV422: aligned_width &= ~3; + av_fallthrough; case IMGTYPE_YUV211: bppx2 = 4; break; case IMGTYPE_YUV411: aligned_width &= ~3; + av_fallthrough; case IMGTYPE_YUV420: bppx2 = 3; break; -- 2.52.0 >>From bb0573a5783f7026412055762454b72bcf823054 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:20:41 +0100 Subject: [PATCH 64/89] avcodec: lagarith: add missing fall-through --- libavcodec/lagarith.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c index 0969448eda..9a5c8f0e47 100644 --- a/libavcodec/lagarith.c +++ b/libavcodec/lagarith.c @@ -27,6 +27,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/thread.h" #include "avcodec.h" @@ -578,6 +579,7 @@ static int lag_decode_frame(AVCodecContext *avctx, AVFrame *p, switch (frametype) { case FRAME_SOLID_RGBA: avctx->pix_fmt = AV_PIX_FMT_GBRAP; + av_fallthrough; case FRAME_SOLID_GRAY: if (frametype == FRAME_SOLID_GRAY) if (avctx->bits_per_coded_sample == 24) { @@ -627,6 +629,7 @@ static int lag_decode_frame(AVCodecContext *avctx, AVFrame *p, planes = 4; offset_ry += 4; offs[3] = AV_RL32(buf + 9); + av_fallthrough; case FRAME_ARITH_RGB24: case FRAME_U_RGB24: if (frametype == FRAME_ARITH_RGB24 || frametype == FRAME_U_RGB24) -- 2.52.0 >>From ff0fb685c4da44918ecda57e0f431ad89be04d96 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:20:54 +0100 Subject: [PATCH 65/89] avcodec: jpeglsdec: add missing fall-through --- libavcodec/jpeglsdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c index 3c899568ec..bd72830f87 100644 --- a/libavcodec/jpeglsdec.c +++ b/libavcodec/jpeglsdec.c @@ -25,6 +25,7 @@ * JPEG-LS decoder. */ +#include "libavutil/attributes.h" #include "libavutil/mem.h" #include "avcodec.h" #include "codec_internal.h" @@ -77,6 +78,7 @@ int ff_jpegls_decode_lse(MJpegDecodeContext *s) break; case 2: s->palette_index = 0; + av_fallthrough; case 3: tid= bytestream2_get_byte(&s->gB); wt = bytestream2_get_byte(&s->gB); -- 2.52.0 >>From e5b4f2efad0eaf88d4dc83f88a18888a9d4b755e Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:21:06 +0100 Subject: [PATCH 66/89] avcodec: jpeg2000dec: add missing fall-through --- libavcodec/jpeg2000dec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 017be6f025..8385a26ed4 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -147,14 +147,17 @@ static int pix_fmt_match(enum AVPixelFormat pix_fmt, int components, match = match && desc->comp[3].depth >= bpc && (log2_chroma_wh >> 14 & 3) == 0 && (log2_chroma_wh >> 12 & 3) == 0; + av_fallthrough; case 3: match = match && desc->comp[2].depth >= bpc && (log2_chroma_wh >> 10 & 3) == desc->log2_chroma_w && (log2_chroma_wh >> 8 & 3) == desc->log2_chroma_h; + av_fallthrough; case 2: match = match && desc->comp[1].depth >= bpc && (log2_chroma_wh >> 6 & 3) == desc->log2_chroma_w && (log2_chroma_wh >> 4 & 3) == desc->log2_chroma_h; + av_fallthrough; case 1: match = match && desc->comp[0].depth >= bpc && -- 2.52.0 >>From 607691dd001544a6b05057f11fc4fb6e06e29f7a Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:21:14 +0100 Subject: [PATCH 67/89] avcodec: imx: add missing fall-through --- libavcodec/imx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/imx.c b/libavcodec/imx.c index 0f4327ddf7..0f6e7f074c 100644 --- a/libavcodec/imx.c +++ b/libavcodec/imx.c @@ -79,6 +79,7 @@ static int imx_decode_frame(AVCodecContext *avctx, AVFrame *rframe, switch (op) { case 3: len = len * 64 + bytestream2_get_byte(&gb); + av_fallthrough; case 0: while (len > 0) { x++; -- 2.52.0 >>From d7e423369d52ce87f512ce1fc10b7eec01ffaad2 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:21:34 +0100 Subject: [PATCH 68/89] avcodec: h264dec: add missing fall-through --- libavcodec/h264dec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index ab31832308..91d95f95b4 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -647,6 +647,7 @@ static int decode_nal_units(H264Context *h, AVBufferRef *buf_ref, } idr_cleared = 1; h->has_recovery_point = 1; + av_fallthrough; case H264_NAL_SLICE: h->has_slice = 1; -- 2.52.0 >>From e416cff8d119540e0a76c60ac730eac0279873fd Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:21:53 +0100 Subject: [PATCH 69/89] avcodec: gdv: add missing fall-through --- libavcodec/gdv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/gdv.c b/libavcodec/gdv.c index 670597448b..0abf5471ef 100644 --- a/libavcodec/gdv.c +++ b/libavcodec/gdv.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/mem.h" #include "avcodec.h" @@ -488,6 +489,7 @@ static int gdv_decode_frame(AVCodecContext *avctx, AVFrame *frame, switch (compression) { case 1: memset(gdv->frame + PREAMBLE_SIZE, 0, gdv->frame_size - PREAMBLE_SIZE); + av_fallthrough; case 0: for (i = 0; i < 256; i++) { unsigned r = bytestream2_get_byte(gb); -- 2.52.0 >>From b675c097431910c76cce54b3cebb52e7dfc56816 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:22:11 +0100 Subject: [PATCH 70/89] avcodec: flacdsp: add missing fall-throughs --- libavcodec/flacdsp_lpc_template.c | 60 +++++++++++++++---------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/libavcodec/flacdsp_lpc_template.c b/libavcodec/flacdsp_lpc_template.c index dd847d3b32..368527d6ea 100644 --- a/libavcodec/flacdsp_lpc_template.c +++ b/libavcodec/flacdsp_lpc_template.c @@ -55,29 +55,29 @@ static av_always_inline void FUNC(lpc_encode_unrolled)(int32_t *res, sum_type p0 = 0, p1 = 0; if (big) { switch (order) { - case 32: LPC1(32) - case 31: LPC1(31) - case 30: LPC1(30) - case 29: LPC1(29) - case 28: LPC1(28) - case 27: LPC1(27) - case 26: LPC1(26) - case 25: LPC1(25) - case 24: LPC1(24) - case 23: LPC1(23) - case 22: LPC1(22) - case 21: LPC1(21) - case 20: LPC1(20) - case 19: LPC1(19) - case 18: LPC1(18) - case 17: LPC1(17) - case 16: LPC1(16) - case 15: LPC1(15) - case 14: LPC1(14) - case 13: LPC1(13) - case 12: LPC1(12) - case 11: LPC1(11) - case 10: LPC1(10) + case 32: LPC1(32); av_fallthrough; + case 31: LPC1(31); av_fallthrough; + case 30: LPC1(30); av_fallthrough; + case 29: LPC1(29); av_fallthrough; + case 28: LPC1(28); av_fallthrough; + case 27: LPC1(27); av_fallthrough; + case 26: LPC1(26); av_fallthrough; + case 25: LPC1(25); av_fallthrough; + case 24: LPC1(24); av_fallthrough; + case 23: LPC1(23); av_fallthrough; + case 22: LPC1(22); av_fallthrough; + case 21: LPC1(21); av_fallthrough; + case 20: LPC1(20); av_fallthrough; + case 19: LPC1(19); av_fallthrough; + case 18: LPC1(18); av_fallthrough; + case 17: LPC1(17); av_fallthrough; + case 16: LPC1(16); av_fallthrough; + case 15: LPC1(15); av_fallthrough; + case 14: LPC1(14); av_fallthrough; + case 13: LPC1(13); av_fallthrough; + case 12: LPC1(12); av_fallthrough; + case 11: LPC1(11); av_fallthrough; + case 10: LPC1(10); av_fallthrough; case 9: LPC1( 9) LPC1( 8) LPC1( 7) @@ -90,13 +90,13 @@ static av_always_inline void FUNC(lpc_encode_unrolled)(int32_t *res, } } else { switch (order) { - case 8: LPC1( 8) - case 7: LPC1( 7) - case 6: LPC1( 6) - case 5: LPC1( 5) - case 4: LPC1( 4) - case 3: LPC1( 3) - case 2: LPC1( 2) + case 8: LPC1( 8); av_fallthrough; + case 7: LPC1( 7); av_fallthrough; + case 6: LPC1( 6); av_fallthrough; + case 5: LPC1( 5); av_fallthrough; + case 4: LPC1( 4); av_fallthrough; + case 3: LPC1( 3); av_fallthrough; + case 2: LPC1( 2); av_fallthrough; case 1: LPC1( 1) } } -- 2.52.0 >>From 88c1ddf239e4fc10e8693e2009124c6af0206404 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:22:26 +0100 Subject: [PATCH 71/89] avcodec: ffv1enc: add missing fall-throughs --- libavcodec/ffv1enc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 623bd2a3ea..b665da4444 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -815,6 +815,7 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, case AV_PIX_FMT_YUVA420P9: if (!avctx->bits_per_raw_sample) s->bits_per_raw_sample = 9; + av_fallthrough; case AV_PIX_FMT_GRAY10: case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV440P10: @@ -825,6 +826,7 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, case AV_PIX_FMT_YUVA420P10: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 10; + av_fallthrough; case AV_PIX_FMT_GRAY12: case AV_PIX_FMT_YUV444P12: case AV_PIX_FMT_YUV440P12: @@ -834,6 +836,7 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, case AV_PIX_FMT_YUVA422P12: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 12; + av_fallthrough; case AV_PIX_FMT_GRAY14: case AV_PIX_FMT_YUV444P14: case AV_PIX_FMT_YUV420P14: @@ -841,6 +844,7 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 14; s->packed_at_lsb = 1; + av_fallthrough; case AV_PIX_FMT_GRAY16: case AV_PIX_FMT_P016: case AV_PIX_FMT_P216: @@ -863,6 +867,7 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, return AVERROR_INVALIDDATA; } s->version = FFMAX(s->version, 1); + av_fallthrough; case AV_PIX_FMT_GRAY8: case AV_PIX_FMT_YA8: case AV_PIX_FMT_NV12: @@ -914,26 +919,31 @@ av_cold int ff_ffv1_encode_setup_plane_info(AVCodecContext *avctx, case AV_PIX_FMT_GBRP9: if (!avctx->bits_per_raw_sample) s->bits_per_raw_sample = 9; + av_fallthrough; case AV_PIX_FMT_X2BGR10: case AV_PIX_FMT_X2RGB10: case AV_PIX_FMT_GBRP10: case AV_PIX_FMT_GBRAP10: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 10; + av_fallthrough; case AV_PIX_FMT_GBRP12: case AV_PIX_FMT_GBRAP12: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 12; + av_fallthrough; case AV_PIX_FMT_GBRP14: case AV_PIX_FMT_GBRAP14: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 14; + av_fallthrough; case AV_PIX_FMT_GBRP16: case AV_PIX_FMT_GBRAP16: case AV_PIX_FMT_GBRPF16: case AV_PIX_FMT_GBRAPF16: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) s->bits_per_raw_sample = 16; + av_fallthrough; case AV_PIX_FMT_GBRPF32: case AV_PIX_FMT_GBRAPF32: if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) -- 2.52.0 >>From ee9a84076cb23ff86e0d72ef207a53b5f6b4f07c Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:23:01 +0100 Subject: [PATCH 72/89] avcodec: eatgq: add missing fall-through --- libavcodec/eatgq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c index efcad62df1..75d2e677cb 100644 --- a/libavcodec/eatgq.c +++ b/libavcodec/eatgq.c @@ -28,6 +28,7 @@ * http://wiki.multimedia.cx/index.php?title=Electronic_Arts_TGQ */ +#include "libavutil/attributes.h" #define BITSTREAM_READER_LE #include "libavutil/mem_internal.h" @@ -72,6 +73,7 @@ static int tgq_decode_block(TgqContext *s, int16_t block[64], GetBitContext *gb) if (i >= 63) return AVERROR_INVALIDDATA; block[scantable[i++]] = 0; + av_fallthrough; case 0: block[scantable[i++]] = 0; skip_bits(gb, 3); -- 2.52.0 >>From 105ea7334a1e66c8eb0436ed729a5efae1b96ad4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:23:11 +0100 Subject: [PATCH 73/89] avcodec: dxtory: add missing fall-through --- libavcodec/dxtory.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/dxtory.c b/libavcodec/dxtory.c index a9b5d835db..1acb7db88c 100644 --- a/libavcodec/dxtory.c +++ b/libavcodec/dxtory.c @@ -22,6 +22,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" @@ -63,6 +64,7 @@ static void do_vflip(AVCodecContext *avctx, AVFrame *pic, int vflip) pic->linesize[1] = -pic->linesize[1]; pic->data[2] += (avctx->height - 1) * pic->linesize[2]; pic->linesize[2] = -pic->linesize[2]; + av_fallthrough; case AV_PIX_FMT_RGB555LE: case AV_PIX_FMT_RGB565LE: case AV_PIX_FMT_BGR24: -- 2.52.0 >>From 7bfeafffea33303f73be80042fe7104debe8885c Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:23:22 +0100 Subject: [PATCH 74/89] avcodec: dxa: add missing fall-through --- libavcodec/dxa.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/dxa.c b/libavcodec/dxa.c index 5b429781df..39719bc575 100644 --- a/libavcodec/dxa.c +++ b/libavcodec/dxa.c @@ -24,6 +24,7 @@ * DXA Video decoder */ +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/mem.h" #include "bytestream.h" @@ -82,6 +83,7 @@ static int decode_13(AVCodecContext *avctx, DxaDecContext *c, uint8_t* dst, return AVERROR_INVALIDDATA; } tmp2 += x + y*stride; + av_fallthrough; case 0: // skip case 5: // skip in method 12 for(y = 0; y < 4; y++){ @@ -144,6 +146,7 @@ static int decode_13(AVCodecContext *avctx, DxaDecContext *c, uint8_t* dst, return AVERROR_INVALIDDATA; } tmp2 += x + y*stride; + av_fallthrough; case 0x00: // skip tmp[d + 0 ] = tmp2[0]; tmp[d + 1 ] = tmp2[1]; -- 2.52.0 >>From 3d471c8fd302251ec93f4123e4ee86dd71f838c0 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:23:40 +0100 Subject: [PATCH 75/89] avcodec: dv: add missing break --- libavcodec/dv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/dv.c b/libavcodec/dv.c index 194d982562..42c184d0b9 100644 --- a/libavcodec/dv.c +++ b/libavcodec/dv.c @@ -160,6 +160,7 @@ static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan, tbl[m] = (x << 2) | (y << 8); break; } + break; default: break; } -- 2.52.0 >>From 42e9d6e725e9f05f26fadd1282e4455183f515d9 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:23:55 +0100 Subject: [PATCH 76/89] avcodec: dpxenc: add missing fall-through --- libavcodec/dpxenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c index e136c7a249..68e7fece12 100644 --- a/libavcodec/dpxenc.c +++ b/libavcodec/dpxenc.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" #include "libavutil/imgutils.h" @@ -226,6 +227,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, break; default: av_log(avctx, AV_LOG_WARNING, "unsupported color transfer\n"); + av_fallthrough; case AVCOL_TRC_UNSPECIFIED: color_trc = DPX_TRC_UNSPECIFIED_VIDEO; break; @@ -247,6 +249,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, break; default: av_log(avctx, AV_LOG_WARNING, "unsupported colorimetric specification\n"); + av_fallthrough; case AVCOL_PRI_UNSPECIFIED: color_spec = DPX_COL_SPEC_UNSPECIFIED_VIDEO; break; -- 2.52.0 >>From 463a59af010f4488edb9e98b81e85468879eca78 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:24:07 +0100 Subject: [PATCH 77/89] avcodec: dds: add missing fall-throughs --- libavcodec/dds.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/dds.c b/libavcodec/dds.c index bd16b41e49..4bbe8c88c9 100644 --- a/libavcodec/dds.c +++ b/libavcodec/dds.c @@ -28,6 +28,7 @@ #include +#include "libavutil/attributes.h" #include "libavutil/libm.h" #include "libavutil/imgutils.h" @@ -267,6 +268,7 @@ static int parse_pixel_format(AVCodecContext *avctx) break; case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_R8G8B8A8_TYPELESS: case DXGI_FORMAT_R8G8B8A8_UNORM: case DXGI_FORMAT_R8G8B8A8_UINT: @@ -276,12 +278,14 @@ static int parse_pixel_format(AVCodecContext *avctx) break; case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_B8G8R8A8_TYPELESS: case DXGI_FORMAT_B8G8R8A8_UNORM: avctx->pix_fmt = AV_PIX_FMT_RGBA; break; case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_B8G8R8X8_TYPELESS: case DXGI_FORMAT_B8G8R8X8_UNORM: avctx->pix_fmt = AV_PIX_FMT_RGBA; // opaque @@ -292,6 +296,7 @@ static int parse_pixel_format(AVCodecContext *avctx) /* Texture types. */ case DXGI_FORMAT_BC1_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_BC1_TYPELESS: case DXGI_FORMAT_BC1_UNORM: ctx->dec.tex_ratio = 8; @@ -299,6 +304,7 @@ static int parse_pixel_format(AVCodecContext *avctx) break; case DXGI_FORMAT_BC2_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_BC2_TYPELESS: case DXGI_FORMAT_BC2_UNORM: ctx->dec.tex_ratio = 16; @@ -306,6 +312,7 @@ static int parse_pixel_format(AVCodecContext *avctx) break; case DXGI_FORMAT_BC3_UNORM_SRGB: avctx->colorspace = AVCOL_SPC_RGB; + av_fallthrough; case DXGI_FORMAT_BC3_TYPELESS: case DXGI_FORMAT_BC3_UNORM: ctx->dec.tex_ratio = 16; -- 2.52.0 >>From 5de003790bdbc96d15099bc6bfedbe67cdeddfca Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:24:27 +0100 Subject: [PATCH 78/89] avcodec: dca: add missing break --- libavcodec/dca_parser.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c index aaf4f42221..b7e2add698 100644 --- a/libavcodec/dca_parser.c +++ b/libavcodec/dca_parser.c @@ -218,6 +218,7 @@ static int dca_parse_params(DCAParseContext *pc1, const uint8_t *buf, switch (get_bits(&gb, 8)) { case DCA_LBR_HEADER_DECODER_INIT: pc1->sr_code = get_bits(&gb, 8); + break; case DCA_LBR_HEADER_SYNC_ONLY: break; default: -- 2.52.0 >>From fb685ecd667a93c50b41a729fec3ce1b0a27571f Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:24:46 +0100 Subject: [PATCH 79/89] avcodec: cavs: add missing fall-through --- libavcodec/cavs.h | 2 ++ libavcodec/cavsdec.c | 1 + 2 files changed, 3 insertions(+) diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h index d3a88ca403..f5c2929c7e 100644 --- a/libavcodec/cavs.h +++ b/libavcodec/cavs.h @@ -25,6 +25,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/frame.h" #include "libavutil/mem_internal.h" @@ -257,6 +258,7 @@ static inline void set_mvs(cavs_vector *mv, enum cavs_block size) { case BLK_16X16: mv[MV_STRIDE ] = mv[0]; mv[MV_STRIDE+1] = mv[0]; + av_fallthrough; case BLK_16X8: mv[1] = mv[0]; break; diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index fffe0657f9..cc26a904db 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -1280,6 +1280,7 @@ static int cavs_decode_frame(AVCodecContext *avctx, AVFrame *rframe, av_frame_unref(h->DPB[1].f); h->got_keyframe = 1; } + av_fallthrough; case PIC_PB_START_CODE: if (frame_start > 1) return AVERROR_INVALIDDATA; -- 2.52.0 >>From 0344a8062e9f8cece0a228b8b92464ff007779cd Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:25:17 +0100 Subject: [PATCH 80/89] avcodec: c39: add missing fall-through --- libavcodec/c93.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/c93.c b/libavcodec/c93.c index 288b1f0ea7..da103bec40 100644 --- a/libavcodec/c93.c +++ b/libavcodec/c93.c @@ -23,6 +23,7 @@ #include "bytestream.h" #include "codec_internal.h" #include "decode.h" +#include "libavutil/attributes.h" typedef struct C93DecoderContext { AVFrame *pictures[2]; @@ -174,6 +175,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe, case C93_4X4_FROM_CURR: copy_from = newpic->data[0]; + av_fallthrough; case C93_4X4_FROM_PREV: for (int j = 0; j < 8; j += 4) { for (i = 0; i < 8; i += 4) { -- 2.52.0 >>From 68a22c781952c702e3c90313c00ac5529edc651b Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:25:28 +0100 Subject: [PATCH 81/89] avcodec: bintext: add missing fall-through --- libavcodec/bintext.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c index 356042c1f0..4a83907d68 100644 --- a/libavcodec/bintext.c +++ b/libavcodec/bintext.c @@ -30,6 +30,7 @@ #include "config_components.h" +#include "libavutil/attributes.h" #include "libavutil/intreadwrite.h" #include "libavutil/xga_font_data.h" #include "avcodec.h" @@ -92,6 +93,7 @@ static av_cold int decode_init(AVCodecContext *avctx) default: av_log(avctx, AV_LOG_WARNING, "font height %i not supported\n", s->font_height); s->font_height = 8; + av_fallthrough; case 8: s->font = avpriv_cga_font_get(); break; -- 2.52.0 >>From 61a60f6ec28fcb1182245af12a6f56978b90ed20 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:25:38 +0100 Subject: [PATCH 82/89] avcodec: bink: add missing fall-through --- libavcodec/bink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/bink.c b/libavcodec/bink.c index e5300be000..e10c8e0966 100644 --- a/libavcodec/bink.c +++ b/libavcodec/bink.c @@ -672,6 +672,7 @@ static int read_dct_coeffs(BinkContext *c, GetBitContext *gb, int32_t block[64], case 0: coef_list[list_pos] = ccoef + 4; mode_list[list_pos] = 1; + av_fallthrough; case 2: if (mode == 2) { coef_list[list_pos] = 0; @@ -792,6 +793,7 @@ static int read_residue(GetBitContext *gb, int16_t block[64], int masks_count) case 0: coef_list[list_pos] = ccoef + 4; mode_list[list_pos] = 1; + av_fallthrough; case 2: if (mode == 2) { coef_list[list_pos] = 0; -- 2.52.0 >>From 40401b329894813a5d5bea5b180a9d8546ad5bb8 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:25:51 +0100 Subject: [PATCH 83/89] avcodec: bethsoftvideo: add missing fall-through --- libavcodec/bethsoftvideo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c index c06eaba32a..3e59a33481 100644 --- a/libavcodec/bethsoftvideo.c +++ b/libavcodec/bethsoftvideo.c @@ -27,6 +27,7 @@ * @see http://www.svatopluk.com/andux/docs/dfvid.html */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "avcodec.h" #include "bethsoftvideo.h" @@ -113,6 +114,7 @@ static int bethsoftvid_decode_frame(AVCodecContext *avctx, AVFrame *rframe, if(yoffset >= avctx->height) return AVERROR_INVALIDDATA; dst += vid->frame->linesize[0] * yoffset; + av_fallthrough; case VIDEO_P_FRAME: case VIDEO_I_FRAME: break; -- 2.52.0 >>From f4a001f7ae2ac7d5ba07b1eb99f2a6852997357e Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:26:01 +0100 Subject: [PATCH 84/89] avcodec: avs: add missing fall-through --- libavcodec/avs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/avs.c b/libavcodec/avs.c index b53175f640..42fc99cb56 100644 --- a/libavcodec/avs.c +++ b/libavcodec/avs.c @@ -23,6 +23,7 @@ #include "codec_internal.h" #include "decode.h" #include "get_bits.h" +#include "libavutil/attributes.h" typedef struct AvsContext { AVFrame *frame; @@ -98,6 +99,7 @@ static int avs_decode_frame(AVCodecContext * avctx, AVFrame *picture, case AVS_I_FRAME: p->pict_type = AV_PICTURE_TYPE_I; p->flags |= AV_FRAME_FLAG_KEY; + av_fallthrough; case AVS_P_FRAME_3X3: vect_w = 3; vect_h = 3; -- 2.52.0 >>From 5c05f4e3c7098be79433deef9ffa1e53792243a8 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:26:12 +0100 Subject: [PATCH 85/89] avcodec: argo: add missing fall-throughs --- libavcodec/argo.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/argo.c b/libavcodec/argo.c index b2e9f3bb18..3b0d4fca0f 100644 --- a/libavcodec/argo.c +++ b/libavcodec/argo.c @@ -634,24 +634,28 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe, ret = decode_avcf(avctx, frame); break; } + av_fallthrough; case MKBETAG('A', 'L', 'C', 'D'): if (avctx->pix_fmt == AV_PIX_FMT_PAL8) { s->key = 0; ret = decode_alcd(avctx, frame); break; } + av_fallthrough; case MKBETAG('R', 'L', 'E', 'F'): if (avctx->pix_fmt == AV_PIX_FMT_PAL8) { s->key = 1; ret = decode_rle(avctx, frame); break; } + av_fallthrough; case MKBETAG('R', 'L', 'E', 'D'): if (avctx->pix_fmt == AV_PIX_FMT_PAL8) { s->key = 0; ret = decode_rle(avctx, frame); break; } + av_fallthrough; default: av_log(avctx, AV_LOG_DEBUG, "unknown chunk 0x%X\n", chunk); break; -- 2.52.0 >>From fd460e96c716a47242b795591503f803ebb078d4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:26:22 +0100 Subject: [PATCH 86/89] avcodec: ansi: add missing fall-through --- libavcodec/ansi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c index bde9edbe60..4ff015e2c0 100644 --- a/libavcodec/ansi.c +++ b/libavcodec/ansi.c @@ -24,6 +24,7 @@ * ASCII/ANSI art decoder */ +#include "libavutil/attributes.h" #include "libavutil/common.h" #include "libavutil/frame.h" #include "libavutil/xga_font_data.h" @@ -396,6 +397,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe, break; case 0x0A: //LF hscroll(avctx); + av_fallthrough; case 0x0D: //CR s->x = 0; break; -- 2.52.0 >>From 7e1677bf7f8bdda1c90c3ddb94b1af068755caca Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:26:40 +0100 Subject: [PATCH 87/89] avcodec: ac3dec: add missing fall-throughs --- libavcodec/ac3dec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 2f0e7f5344..6f7306ea59 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -31,6 +31,7 @@ #include #include +#include "libavutil/attributes.h" #include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/downmix_info.h" @@ -338,7 +339,9 @@ static int decode_exponents(AC3DecodeContext *s, switch (group_size) { case 4: dexps[j++] = prevexp; dexps[j++] = prevexp; + av_fallthrough; case 2: dexps[j++] = prevexp; + av_fallthrough; case 1: dexps[j++] = prevexp; } } @@ -614,13 +617,16 @@ static void ac3_upmix_delay(AC3DecodeContext *s) break; case AC3_CHMODE_2F2R: memset(s->delay[3], 0, channel_data_size); + av_fallthrough; case AC3_CHMODE_2F1R: memset(s->delay[2], 0, channel_data_size); break; case AC3_CHMODE_3F2R: memset(s->delay[4], 0, channel_data_size); + av_fallthrough; case AC3_CHMODE_3F1R: memset(s->delay[3], 0, channel_data_size); + av_fallthrough; case AC3_CHMODE_3F: memcpy(s->delay[2], s->delay[1], channel_data_size); memset(s->delay[1], 0, channel_data_size); -- 2.52.0 >>From e068c6f6e325cf2f8f6b68ca02d0cfc7d382af35 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:27:03 +0100 Subject: [PATCH 88/89] avcodec: aac: add missing fall-through --- libavcodec/aac/aacdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/aac/aacdec.c b/libavcodec/aac/aacdec.c index b8d53036d4..9cd3e713b5 100644 --- a/libavcodec/aac/aacdec.c +++ b/libavcodec/aac/aacdec.c @@ -1946,6 +1946,7 @@ static int decode_extension_payload(AACDecContext *ac, GetBitContext *gb, int cn switch (type) { // extension type case EXT_SBR_DATA_CRC: crc_flag++; + av_fallthrough; case EXT_SBR_DATA: if (!che) { av_log(ac->avctx, AV_LOG_ERROR, "SBR was found before the first channel element.\n"); -- 2.52.0 >>From e290401a07ea83246291f026e6fffe75e7b5efdc Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Wed, 18 Feb 2026 00:28:50 +0100 Subject: [PATCH 89/89] configure: add implicit-fallthrough to extra warnings --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index da93aaf661..6d64f89dd3 100755 --- a/configure +++ b/configure @@ -7837,6 +7837,7 @@ if enabled extra_warnings; then check_allcflags -Wcast-qual check_allcflags -Wextra check_allcflags -Wpedantic + check_allcflags -Wimplicit-fallthrough fi check_disable_warning(){ -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org