alexheretic/ab-av1
View on GitHub ↗
Unique within the repo — the other 15% repeats across its own files.
Unique across all public code — a further 24% is its own but appears in other public repos too.
Tidy, but not new — the code doesn't repeat itself, yet a large share already exists across other public repos. A strong candidate for pulling from (or publishing as) a shared package.
Worth consolidating — in the code
Real, actionable duplication in this repo's source, most concrete first.
Longest identical blocks
The longest runs of identical consecutive lines copied between two files (indentation ignored) — the most concrete copy-paste. Lift the block into a shared function or module.
| Lines | File A | File B | Cross-repo |
|---|---|---|---|
| 12 | alexheretic/ab-av1/src/command/auto_encode.rs:125 |
alexheretic/ab-av1/src/command/crf_search.rs:200 |
same repo |
| 9 | alexheretic/ab-av1/src/command/args/encode.rs:628 |
alexheretic/ab-av1/src/ffmpeg.rs:120 |
same repo |
| 8 | alexheretic/ab-av1/src/command/crf_search.rs:104 |
alexheretic/ab-av1/src/command/sample_encode.rs:55 |
same repo |
| 8 | alexheretic/ab-av1/src/command/vmaf.rs:1 |
alexheretic/ab-av1/src/command/xpsnr.rs:1 |
same repo |
| 7 | alexheretic/ab-av1/src/command/auto_encode.rs:129 |
alexheretic/ab-av1/src/command/sample_encode.rs:118 |
same repo |
| 7 | alexheretic/ab-av1/src/vmaf.rs:2 |
alexheretic/ab-av1/src/xpsnr.rs:2 |
same repo |
| 6 | alexheretic/ab-av1/src/command/encode.rs:53 |
alexheretic/ab-av1/src/command/vmaf.rs:54 |
same repo |
| 6 | alexheretic/ab-av1/src/command/encode.rs:53 |
alexheretic/ab-av1/src/command/xpsnr.rs:51 |
same repo |
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 47% | 313 | alexheretic/ab-av1/src/vmaf.rs |
alexheretic/ab-av1/src/xpsnr.rs |
same repo |
| 14% | 272 | alexheretic/ab-av1/src/command/crf_search.rs |
alexheretic/ab-av1/src/command/sample_encode.rs |
same repo |
| 13% | 171 | alexheretic/ab-av1/src/command/auto_encode.rs |
alexheretic/ab-av1/src/command/crf_search.rs |
same repo |
| 9% | 141 | alexheretic/ab-av1/src/command/encode.rs |
alexheretic/ab-av1/src/command/sample_encode.rs |
same repo |
| 44% | 136 | alexheretic/ab-av1/src/command/vmaf.rs |
alexheretic/ab-av1/src/command/xpsnr.rs |
same repo |
| 14% | 107 | alexheretic/ab-av1/src/command/auto_encode.rs |
alexheretic/ab-av1/src/command/encode.rs |
same repo |
| 8% | 107 | alexheretic/ab-av1/src/command/auto_encode.rs |
alexheretic/ab-av1/src/command/sample_encode.rs |
same repo |
| 8% | 98 | alexheretic/ab-av1/src/command/sample_encode.rs |
alexheretic/ab-av1/src/command/vmaf.rs |
same repo |
| 7% | 92 | alexheretic/ab-av1/src/command/sample_encode.rs |
alexheretic/ab-av1/src/command/xpsnr.rs |
same repo |
| 6% | 91 | alexheretic/ab-av1/src/command/crf_search.rs |
alexheretic/ab-av1/src/command/encode.rs |
same repo |
| 5% | 80 | alexheretic/ab-av1/src/command/args/encode.rs |
alexheretic/ab-av1/src/command/args/vmaf.rs |
same repo |
| 7% | 76 | alexheretic/ab-av1/src/ffmpeg.rs |
alexheretic/ab-av1/src/vmaf.rs |
same repo |
| 11% | 74 | alexheretic/ab-av1/src/command/encode.rs |
alexheretic/ab-av1/src/command/xpsnr.rs |
same repo |
| 6% | 73 | alexheretic/ab-av1/src/ffmpeg.rs |
alexheretic/ab-av1/src/xpsnr.rs |
same repo |
| 12% | 72 | alexheretic/ab-av1/src/command/encode.rs |
alexheretic/ab-av1/src/command/vmaf.rs |
same repo |
| 4% | 69 | alexheretic/ab-av1/src/command/args.rs |
alexheretic/ab-av1/src/command/args/encode.rs |
same repo |
| 6% | 68 | alexheretic/ab-av1/src/command/args.rs |
alexheretic/ab-av1/src/command/args/vmaf.rs |
same repo |
| 3% | 67 | alexheretic/ab-av1/src/command/args/encode.rs |
alexheretic/ab-av1/src/command/sample_encode.rs |
same repo |
| 4% | 66 | alexheretic/ab-av1/src/command/args/encode.rs |
alexheretic/ab-av1/src/ffmpeg.rs |
same repo |
| 5% | 58 | alexheretic/ab-av1/src/process.rs |
alexheretic/ab-av1/src/xpsnr.rs |
same repo |
Duplicate declarations
The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.
| Files | Declaration | Where |
|---|---|---|
| 17 | var mut |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/args/vmaf.rsalexheretic/ab-av1/src/command/auto_encode.rs+14 more |
| 13 | var Some |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rs+10 more |
| 7 | class args |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/encode.rs+4 more |
| 6 | var bar |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/encode.rs+3 more |
| 6 | fn fmt |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/args/vmaf.rsalexheretic/ab-av1/src/command/crf_search/err.rs+3 more |
| 5 | var probe |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/encode.rs+2 more |
| 4 | var Duration |
alexheretic/ab-av1/src/command/sample_encode.rsalexheretic/ab-av1/src/command/vmaf.rsalexheretic/ab-av1/src/command/xpsnr.rs+1 more |
| 4 | var size |
alexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/encode.rsalexheretic/ab-av1/src/command/sample_encode.rs+1 more |
| 3 | var BAR_LEN |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 3 | var cmd_str |
alexheretic/ab-av1/src/ffmpeg.rsalexheretic/ab-av1/src/vmaf.rsalexheretic/ab-av1/src/xpsnr.rs |
| 3 | var crf |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 3 | var enc |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/ffmpeg.rs |
| 3 | var enc_args |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 3 | var fps |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/ffprobe.rsalexheretic/ab-av1/src/process.rs |
| 3 | var keep |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/sample_encode.rsalexheretic/ab-av1/src/main.rs |
| 3 | var label |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 2 | fn add |
alexheretic/ab-av1/src/process/child.rsalexheretic/ab-av1/src/temporary.rs |
| 2 | var audio_codec |
alexheretic/ab-av1/src/command/encode.rsalexheretic/ab-av1/src/ffmpeg.rs |
| 2 | var chunk |
alexheretic/ab-av1/src/vmaf.rsalexheretic/ab-av1/src/xpsnr.rs |
| 2 | var CHUNK_SIZE |
alexheretic/ab-av1/src/vmaf.rsalexheretic/ab-av1/src/xpsnr.rs |
| 2 | fn crf |
alexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/ffmpeg.rs |
| 2 | var defaulting_output |
alexheretic/ab-av1/src/command/auto_encode.rsalexheretic/ab-av1/src/command/encode.rs |
| 2 | var dprobe |
alexheretic/ab-av1/src/command/vmaf.rsalexheretic/ab-av1/src/command/xpsnr.rs |
| 2 | var enc_description |
alexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 2 | fn encode |
alexheretic/ab-av1/src/command/encode.rsalexheretic/ab-av1/src/ffmpeg.rs |
Docs & prose
Near-identical documentation — often translations (e.g. README.md ⇄ README_zh-CN.md) or mirrored guides. Usually intentional, not cleanup — listed separately so it doesn't inflate the code signal above.
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 3% | 60 | alexheretic/ab-av1/CHANGELOG.md |
alexheretic/ab-av1/README.md |
same repo |
| 1% | 24 | alexheretic/ab-av1/CHANGELOG.md |
alexheretic/ab-av1/stdout-format-json.md |
same repo |
Largest files
Largest files
| LOC | File | Status |
|---|---|---|
| 875 | alexheretic/ab-av1/src/command/sample_encode.rs | indexed |
| 801 | alexheretic/ab-av1/src/command/args/encode.rs | indexed |
| 673 | alexheretic/ab-av1/src/command/crf_search.rs | indexed |
| 463 | alexheretic/ab-av1/src/command/args/vmaf.rs | indexed |
| 420 | alexheretic/ab-av1/src/process.rs | indexed |
| 379 | alexheretic/ab-av1/src/ffmpeg.rs | indexed |
| 364 | alexheretic/ab-av1/CHANGELOG.md | indexed |
| 310 | alexheretic/ab-av1/src/xpsnr.rs | indexed |
| 263 | alexheretic/ab-av1/src/command/encode.rs | indexed |
| 210 | alexheretic/ab-av1/src/vmaf.rs | indexed |