├── .gitignore ├── .vscode └── settings.json ├── Keymashed Presentation.pdf ├── README.md ├── bpf ├── README.md ├── bpf.c ├── bpf.o ├── bpf_api.h ├── bpf_elf.h └── setup-tc.sh ├── media ├── Architecture.drawio.png ├── Architecture.drawio.svg ├── BURST 2024 SebMur-19-resized.jpg ├── BURST 2024 SebMur-6-resized.jpg ├── BURST 2024 SebMur-66-cropped.jpg ├── BURST 2024 SebMur-82-cropped.jpg ├── BURST 2024 suspiciously-optiplex shaped box.jpg ├── JPEG Process.drawio.png ├── Macroblock.drawio.svg ├── MacroblockExpanded.drawio.svg ├── YUV420.drawio.svg ├── YUV422.drawio.svg ├── YUV444.drawio.svg ├── Zigzag.drawio.svg ├── dct │ ├── dct_of_block.svg │ ├── gen.py │ ├── jpeg-dct-transform.png │ ├── original_8x8_block.svg │ ├── quantization_matrix.svg │ ├── quantized_dct_block.svg │ └── reconstructed_block.svg ├── keymash-all-effects.mp4 ├── rickroll-keymash-compressed-with-audio.mp4 └── rickroll-keymashed-packet-loss.mp4 └── rust-userspace ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── benches └── rtp.rs ├── first.gif ├── rust-toolchain.toml └── src ├── audio.rs ├── bin ├── dct-pipeline.rs ├── recv.rs └── send.rs ├── bpf.rs ├── lib.rs ├── rtp.rs ├── video ├── dct.rs └── mod.rs └── wpm.rs /.gitignore: -------------------------------------------------------------------------------- 1 | .ccls-cache 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Keymashed Presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/Keymashed Presentation.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/README.md -------------------------------------------------------------------------------- /bpf/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/README.md -------------------------------------------------------------------------------- /bpf/bpf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/bpf.c -------------------------------------------------------------------------------- /bpf/bpf.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/bpf.o -------------------------------------------------------------------------------- /bpf/bpf_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/bpf_api.h -------------------------------------------------------------------------------- /bpf/bpf_elf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/bpf_elf.h -------------------------------------------------------------------------------- /bpf/setup-tc.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/bpf/setup-tc.sh -------------------------------------------------------------------------------- /media/Architecture.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/Architecture.drawio.png -------------------------------------------------------------------------------- /media/Architecture.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/Architecture.drawio.svg -------------------------------------------------------------------------------- /media/BURST 2024 SebMur-19-resized.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/BURST 2024 SebMur-19-resized.jpg -------------------------------------------------------------------------------- /media/BURST 2024 SebMur-6-resized.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/BURST 2024 SebMur-6-resized.jpg -------------------------------------------------------------------------------- /media/BURST 2024 SebMur-66-cropped.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/BURST 2024 SebMur-66-cropped.jpg -------------------------------------------------------------------------------- /media/BURST 2024 SebMur-82-cropped.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/BURST 2024 SebMur-82-cropped.jpg -------------------------------------------------------------------------------- /media/BURST 2024 suspiciously-optiplex shaped box.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/BURST 2024 suspiciously-optiplex shaped box.jpg -------------------------------------------------------------------------------- /media/JPEG Process.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/JPEG Process.drawio.png -------------------------------------------------------------------------------- /media/Macroblock.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/Macroblock.drawio.svg -------------------------------------------------------------------------------- /media/MacroblockExpanded.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/MacroblockExpanded.drawio.svg -------------------------------------------------------------------------------- /media/YUV420.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/YUV420.drawio.svg -------------------------------------------------------------------------------- /media/YUV422.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/YUV422.drawio.svg -------------------------------------------------------------------------------- /media/YUV444.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/YUV444.drawio.svg -------------------------------------------------------------------------------- /media/Zigzag.drawio.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/Zigzag.drawio.svg -------------------------------------------------------------------------------- /media/dct/dct_of_block.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/dct_of_block.svg -------------------------------------------------------------------------------- /media/dct/gen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/gen.py -------------------------------------------------------------------------------- /media/dct/jpeg-dct-transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/jpeg-dct-transform.png -------------------------------------------------------------------------------- /media/dct/original_8x8_block.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/original_8x8_block.svg -------------------------------------------------------------------------------- /media/dct/quantization_matrix.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/quantization_matrix.svg -------------------------------------------------------------------------------- /media/dct/quantized_dct_block.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/quantized_dct_block.svg -------------------------------------------------------------------------------- /media/dct/reconstructed_block.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/dct/reconstructed_block.svg -------------------------------------------------------------------------------- /media/keymash-all-effects.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/keymash-all-effects.mp4 -------------------------------------------------------------------------------- /media/rickroll-keymash-compressed-with-audio.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/rickroll-keymash-compressed-with-audio.mp4 -------------------------------------------------------------------------------- /media/rickroll-keymashed-packet-loss.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/media/rickroll-keymashed-packet-loss.mp4 -------------------------------------------------------------------------------- /rust-userspace/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /rust-userspace/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/Cargo.lock -------------------------------------------------------------------------------- /rust-userspace/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/Cargo.toml -------------------------------------------------------------------------------- /rust-userspace/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/README.md -------------------------------------------------------------------------------- /rust-userspace/benches/rtp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/benches/rtp.rs -------------------------------------------------------------------------------- /rust-userspace/first.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/first.gif -------------------------------------------------------------------------------- /rust-userspace/rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/rust-toolchain.toml -------------------------------------------------------------------------------- /rust-userspace/src/audio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/audio.rs -------------------------------------------------------------------------------- /rust-userspace/src/bin/dct-pipeline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/bin/dct-pipeline.rs -------------------------------------------------------------------------------- /rust-userspace/src/bin/recv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/bin/recv.rs -------------------------------------------------------------------------------- /rust-userspace/src/bin/send.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/bin/send.rs -------------------------------------------------------------------------------- /rust-userspace/src/bpf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/bpf.rs -------------------------------------------------------------------------------- /rust-userspace/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/lib.rs -------------------------------------------------------------------------------- /rust-userspace/src/rtp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/rtp.rs -------------------------------------------------------------------------------- /rust-userspace/src/video/dct.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/video/dct.rs -------------------------------------------------------------------------------- /rust-userspace/src/video/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/video/mod.rs -------------------------------------------------------------------------------- /rust-userspace/src/wpm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kartva/keymashed/HEAD/rust-userspace/src/wpm.rs --------------------------------------------------------------------------------