alexheretic/ab-av1
View on GitHub ↗
Internal85
Unique within the repo — the other 15% repeats across its own files.
Public55
Unique across all public code — a further 30% 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 |
|---|---|---|
| 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 | 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 |
| 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 |
| 2 | fn add |
alexheretic/ab-av1/src/process/child.rsalexheretic/ab-av1/src/temporary.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 | fn encode |
alexheretic/ab-av1/src/command/encode.rsalexheretic/ab-av1/src/ffmpeg.rs |
| 2 | type Error |
alexheretic/ab-av1/src/command/args/encode.rsalexheretic/ab-av1/src/command/crf_search/err.rs |
| 2 | var FFMPEG_OUT |
alexheretic/ab-av1/src/vmaf.rsalexheretic/ab-av1/src/xpsnr.rs |
| 2 | fn fps |
alexheretic/ab-av1/src/command/args.rsalexheretic/ab-av1/src/command/args/vmaf.rs |
| 2 | fn hash |
alexheretic/ab-av1/src/command/args.rsalexheretic/ab-av1/src/command/args/vmaf.rs |
| 2 | fn print_attempt |
alexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 2 | class Sample |
alexheretic/ab-av1/src/command/args.rsalexheretic/ab-av1/src/command/crf_search.rs |
| 2 | fn try_from_chunk |
alexheretic/ab-av1/src/vmaf.rsalexheretic/ab-av1/src/xpsnr.rs |
| 2 | type Update |
alexheretic/ab-av1/src/command/crf_search.rsalexheretic/ab-av1/src/command/sample_encode.rs |
| 2 | fn wait |
alexheretic/ab-av1/src/process.rsalexheretic/ab-av1/src/process/child.rs |
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 |