AI Slop Code Risk Monitor

Aleksoid1978/MPC-BE

SlopCodeMonitor badge for Aleksoid1978/MPC-BE Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows.

2.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Aleksoid1978/MPC-BE, a C project with 4,643 GitHub stars. SynthScan examined 1,699,321 lines of code across 3678 source files, recording 3595 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 2.0 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.0
Adjusted Signal
2.0
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
4.6K
Stars
C
Language
1.7M
Lines of Code
3.7K
Files
3.6K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 9.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 3576 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

Are imports declared and package/API names verified? 0 finding(s).

Agent Over-Engineering Ratio 0.2/100 · LOW

Are wrappers, guards, and repeated structures necessary? 19 finding(s).

PR Review Velocity Impact 10.2/100 · LOW

Which changes need focused human review? 3595 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 1MEDIUM 27LOW 3567

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3595 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block3545 hits · 3266 pts
SeverityFileLineSnippetContext
LOWinclude/stdafx_common_cfg.h21#pragma onceCOMMENT
LOWinclude/Version.h21 */COMMENT
LOWinclude/Version.h41#define MPC_VERSION_REV REV_NUMCOMMENT
LOWinclude/Version.h61#define MPC_VERSION_FULL_NUM MPC_VERSION_MAJOR,MPC_VERSION_MINOR,MPC_VERSION_PATCH,MPC_VERSION_REVCOMMENT
LOWinclude/FilterInterfaces.h21#pragma onceCOMMENT
LOWinclude/FilterInterfaces.h41// VIDEO_PROFILE int MatroskaSplitterCOMMENT
LOWinclude/libdivide.h1// libdivide.h - Optimized integer divisionCOMMENT
LOWinclude/libdivide.h21COMMENT
LOWinclude/libdivide.h41#define LIBDIVIDE_X64_INTRINSICSCOMMENT
LOWinclude/libdivide.h61#define __has_builtin(x) 0COMMENT
LOWinclude/libdivide.h81#define LIBDIVIDE_GCC_STYLE_ASMCOMMENT
LOWinclude/libdivide.h201// divisor indicator so that we can efficiently use sign extension toCOMMENT
LOWinclude/libdivide.h661 // Make q0 correct or too small by 1COMMENT
LOWinclude/libdivide.h1061 more = (uint8_t)floor_log_2_d;COMMENT
LOWinclude/libdivide.h1141 } else {COMMENT
LOWinclude/libdivide.h1561COMMENT
LOWinclude/libdivide.h3001//c++11 might handle things ok,COMMENT
LOWinclude/libdivide.h3081#endifCOMMENT
LOWinclude/stdafx_common.h21COMMENT
LOWinclude/LAVVideoSettings.h221 //COMMENT
LOWinclude/LAVVideoSettings.h241 STDMETHOD_(DWORD, GetNumThreads)() = 0;COMMENT
LOWinclude/stdafx_common_dshow.h21COMMENT
LOWinclude/moreuuids.h21COMMENT
LOWinclude/moreuuids.h361DEFINE_MEDIATYPE_GUID(MEDIASUBTYPE_PCM_IN32, FCC('in32'));COMMENT
LOWinclude/moreuuids.h441COMMENT
LOWinclude/moreuuids.h461// <?xml version="1.0" encoding="UTF-8"?>COMMENT
LOWinclude/moreuuids.h481// MEDIASUBTYPE_USF:COMMENT
LOWinclude/moreuuids.h501// Standard dvd subpic data, without the stream id at the beginning.COMMENT
LOWinclude/moreuuids.h901// UtVideoCOMMENT
LOWinclude/mpc_defines.h21#pragma onceCOMMENT
LOWinclude/mpc_defines.h41COMMENT
LOWinclude/mpc_defines.h61COMMENT
LOWinclude/IMediaSideData.h1// -----------------------------------------------------------------COMMENT
LOWinclude/SubRenderIntf.h1// ***************************************************************COMMENT
LOWinclude/SubRenderIntf.h21// 2011-12-20 1.0.0 initial releaseCOMMENT
LOWinclude/SubRenderIntf.h41COMMENT
LOWinclude/SubRenderIntf.h61// in different color spaces. E.g. SRT subtitles are usually considered to beCOMMENT
LOWinclude/SubRenderIntf.h81// the subtitle renderer should try to use the correct YCbCr -> RGB matrix.COMMENT
LOWinclude/SubRenderIntf.h101// If it is set to anything other than "None", the subtitle consumer shouldCOMMENT
LOWinclude/SubRenderIntf.h121// ---------------------------------------------------------------------------COMMENT
LOWinclude/SubRenderIntf.h141// - displayModeSize, 1024x768COMMENT
LOWinclude/SubRenderIntf.h161// Example 3: reencoded Anime, ASS subtitles, CIH front projectionCOMMENT
LOWinclude/SubRenderIntf.h221 // "originalVideoSize", SIZE, info, read only, size of the video before scaling and AR adjustmentsCOMMENT
LOWinclude/SubRenderIntf.h241COMMENT
LOWinclude/SubRenderIntf.h261 // - Video Decoder 0x00010000COMMENT
LOWinclude/SubRenderIntf.h281 // The subtitle renderer can deliver a "NULL" subtitle frame to indicateCOMMENT
LOWinclude/SubRenderIntf.h301 // renderer.COMMENT
LOWinclude/SubRenderIntf.h321 // asynchronously in a different thread. Alternatively, "RequestFrame()"COMMENT
LOWinclude/SubRenderIntf.h341{COMMENT
LOWinclude/SubRenderIntf.h361 // The subtitle renderer should combine small subtitle elements which areCOMMENT
LOWinclude/mvrInterfaces.h1// ***************************************************************COMMENT
LOWinclude/mvrInterfaces.h21#ifndef __mvrInterfaces__COMMENT
LOWinclude/mvrInterfaces.h41// Some media players offer different zoom modes. Here's what madVR supports:COMMENT
LOWinclude/mvrInterfaces.h61// The video is positioned left/top aligned.COMMENT
LOWinclude/mvrInterfaces.h81// and map it internally to one of the supported zoom modes. This is doneCOMMENT
LOWinclude/mvrInterfaces.h101// there are 2 different ways to draw your OSD:COMMENT
LOWinclude/mvrInterfaces.h121// return "true" if your callback has handled the mouse message andCOMMENT
LOWinclude/mvrInterfaces.h201COMMENT
LOWinclude/mvrInterfaces.h221// Normally madVR subclasses some parent of the madVR rendering window.COMMENT
LOWinclude/mvrInterfaces.h301 STDMETHOD(GetSize )(LPCSTR field, SIZE *value) = 0;COMMENT
3485 more matches not shown…
Decorative Section Separators19 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMsrc/apps/mpcresources/patch.pl115#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/patch.pl159#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/patch.pl175#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/patch.pl199#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl193#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl267#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl302#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl342#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl372#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl123#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl174#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl211#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl237#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl256#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl277#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl287#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl307#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl342#--------------------------------------------------------------------------------------------------COMMENT
MEDIUMsrc/apps/mpcresources/common.pl417#--------------------------------------------------------------------------------------------------COMMENT
Verbosity Indicators8 hits · 16 pts
SeverityFileLineSnippetContext
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.h125 // Step 11: ResetsCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.h135 // Step 12: Bias computation procedureCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1923 // Step 8: compute the Golomb parameter kCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1926 // Step 10: Decode Golomb code (using limitation PREFIX_MAX == 12)COMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1929 // Step 9: MappingCOMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1260 // Step 1: integer promotion & Schubfach multiplier calculation.COMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1315 // Step 2: Try larger divisor; remove trailing zeros if necessary.COMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1347 // Step 3: Find the significand with the smaller divisor.COMMENT
Structural Annotation Overuse8 hits · 16 pts
SeverityFileLineSnippetContext
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.h125 // Step 11: ResetsCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.h135 // Step 12: Bias computation procedureCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1923 // Step 8: compute the Golomb parameter kCOMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1926 // Step 10: Decode Golomb code (using limitation PREFIX_MAX == 12)COMMENT
LOW⚡src/ExtLib/MediaInfo/MediaInfo/Video/File_Ffv1.cpp1929 // Step 9: MappingCOMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1260 // Step 1: integer promotion & Schubfach multiplier calculation.COMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1315 // Step 2: Try larger divisor; remove trailing zeros if necessary.COMMENT
LOWsrc/ExtLib/MediaInfo/ThirdParty/fmt/format-inl.h1347 // Step 3: Find the significand with the smaller divisor.COMMENT
AI Slop Vocabulary5 hits · 13 pts
SeverityFileLineSnippetContext
MEDIUMsrc/filters/parser/MpegSplitter/MpegSplitterFile.cpp61 // To support seamless BD playback, CMultiFiles should update m_rtPTSOffset variable each time when a new part is opeCOMMENT
MEDIUMsrc/ExtLib/MediaInfo/ThirdParty/fmt/format.h3305 // Compilers are not aware of how to leverage the maximum value ofCOMMENT
MEDIUMsrc/ExtLib/ffmpeg/libavcodec/aac/aacdec.c410 // For everything else, utilize the AV channel position define as aCOMMENT
MEDIUMsrc/ExtLib/lcms2/src/cmsxform.c298 // Certainly, out of gamutCOMMENT
LOWsrc/apps/mpcresources/rcfile.pl355 if((!@changes) && ($samelines == $contentLines)) { #no change then just use old dataCODE
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMsrc/apps/mpcresources/patch.pl5# This file is part of MPC-BE.COMMENT
MEDIUMsrc/apps/mpcresources/rcfile.pl5# This file is part of MPC-BE.COMMENT
MEDIUMsrc/apps/mpcresources/common.pl5# This file is part of MPC-BE.COMMENT
MEDIUMsrc/apps/mpcresources/rcstrings.pl5# This file is part of MPC-BE.COMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHsrc/ExtLib/ZenLib/ZenLib/HTTP_Client/HTTPClient.c2954 // Use the correct authentication method as requested by the serverCOMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/ExtLib/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp7081 case Type_AUID: { Get_UUID(Value_UUID, Name); Element_Info1(Ztring().From_UUID(Value_UUID)); } CODE
LOWsrc/ExtLib/MediaInfo/MediaInfo/Multiple/File_Mk.cpp2262 if (IsParsingSegmentTrack_SeekBackTo && File_Offset+Buffer_Offset+Element_Offset==SegmentTrack_Offset_End) //TODO: iCODE
LOWsrc/ExtLib/ffmpeg/libavcodec/opus/silk.c671 // TODO: implement error recoveryCOMMENT
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/ExtLib/MediaInfo/MediaInfo/MediaInfo_Const.h49/// Note : Don't forget to include the MediaInfoDLL.h file in your source file! \nCOMMENT
LOWsrc/ExtLib/ui/sizecbar/sizecbar.cpp33// Modify this file only to fix bugs, and don't forget to send me a copy.COMMENT