Skip to content

Instantly share code, notes, and snippets.

View PierceLBrooks's full-sized avatar
🇵🇸

Pierce Brooks PierceLBrooks

🇵🇸
View GitHub Profile
@PierceLBrooks
PierceLBrooks / jsonprettify.py
Created July 14, 2025 18:07
jsonprettify.py
# Author: Pierce Brooks
import os
import sys
import json
import shutil
import logging
import traceback
import subprocess
@PierceLBrooks
PierceLBrooks / exifsplit.py
Created July 14, 2025 17:11
exifsplit.py
# Author: Pierce Brooks
import os
import shutil
import subprocess
for root, folders, files in os.walk(os.getcwd()):
for name in files:
path = os.path.join(root, name)
# Author: Pierce Brooks
import os
import sys
import shutil
import hashlib
import logging
import traceback
@PierceLBrooks
PierceLBrooks / ffmpeg_with_srt.sh
Last active June 30, 2025 00:18 — forked from maheshgawali/ffmpeg_with_srt.sh
build ffmpeg with libsrt libx264 libx265 libaom libvpx libopus libfdk-aac
# combination of steps from
# https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
# and
# https://seanthegeek.net/455/how-to-compile-and-install-ffmpeg-4-0-on-debian-ubuntu/
response=
echo -n "Do you want to compile the optional libpulse as well (yes/no) > "
read response
// Author: Pierce Brooks
#if os(macOS)
import AppKit
#else
import UIKit
#endif
#if os(macOS)
public class ImageBaseViewController: NSViewController {}
@PierceLBrooks
PierceLBrooks / h26x_sei_uuid.csv
Last active April 17, 2025 00:33
H264 & H265/HEVC Unregistered User Data SEI NAL UUIDs
We can make this file beautiful and searchable if this error is corrected: It looks like row 6 should actually have 3 columns, instead of 2 in line 5.
"UUID","Description","References"
"17ee8c60-f84d-11d9-8cd6-0800200c9a66","Used to store information about the status of capture hardware like cameras","https://www.exiftool.org/TagNames/H264.html#MDPM"
"4d495350-6d69-6372-6f73-656374696d65 (""MISPmicrosectime"")","Indicates a payload containing a one byte flag and then a timestamp as dictated by the MISB (Motion Imagery Standards Board)'s MISP (Motion Imagery Standards Profile)","https://nsgreg.nga.mil/doc/view?i=4500 https://github.com/WestRidgeSystems/jmisb/issues/102"
"a8687dd4-d759-3758-a5ce-f0338b6545f1","Same as ""4d495350-6d69-6372-6f73-656374696d65"", but for H265/HEVC instead of H264","https://nsgreg.nga.mil/doc/view?i=4500"
"47564adc-5c4c-433f-94ef-c5113cd143a8","Appears in the first emitted blob of non-AVCC packet buffer data from the VideoToolbox framework's H264 encoding facilities in the Apple product ecosystem","https://developer.apple.com/forums/thread/778196"
"05fbc6b9-5a80-40e5-a22a-ab4020267e26","An extension from Microsoft for RTP streams"
import cv2
import mediapipe as mp
mp_drawing = mp.solutions.drawing_utils
mp_drawing_styles = mp.solutions.drawing_styles
mp_hands = mp.solutions.hands
# For webcam input:
cap = cv2.VideoCapture(0)
with mp_hands.Hands(
model_complexity=0,
<!-- DTD for XML Schema Definition Language Part 1: Structures
Public Identifier: "-//W3C//DTD XSD 1.1//EN"
Official Location: http://www.w3.org/2009/XMLSchema/XMLSchema.dtd -->
<!-- Id: structures.dtd,v 1.1 2003/08/28 13:30:52 ht Exp -->
<!-- With the exception of cases with multiple namespace
prefixes for the XSD namespace, any XML document which is
not valid per this DTD given redefinitions in its internal subset of the
'p' and 's' parameter entities below appropriate to its namespace
declaration of the XSD namespace is almost certainly not
a valid schema document. -->
{
"Assertives": [
"asserting",
"claiming",
"affirming",
"stating",
"denying",
"disclaiming",
"assuring",
"arguing",
// https://hbfs.wordpress.com/2013/12/10/the-speed-of-gcd/
/*
g++ ./the-speed-of-gcd.cpp -static-libstdc++ -std=c++11 -pthread -O3 -o ./the-speed-of-gcd
./the-speed-of-gcd
1000 3.3428e-05 5.77788e-05 3.3541e-05 6.12842e-05 3.4811e-05
1000 1.90322e-05 3.82361e-05 1.8979e-05 4.174e-05 1.99548e-05
1000 1.83879e-05 3.77061e-05 1.85562e-05 4.1613e-05 1.97229e-05
1000 1.8762e-05 3.7532e-05 1.84731e-05 4.12971e-05 1.89309e-05
1000 1.88318e-05 3.774e-05 1.82791e-05 4.15129e-05 1.88972e-05