# x264 (rama stable, 2025) — codificador H.264. Entra por OBS: el plugin `obs-x264` hace # `find_package(Libx264 REQUIRED)` y `plugins/CMakeLists.txt` lo agrega SIN condicional, así que no # hay OBS sin esto. # # ══ NI TAGS NI RELEASES: SE PINEA UN COMMIT DE `stable` ════════════════════════════════════════ # x264 no publica releases ni tags; upstream mueve `master` y `stable` y las distros pinean un # commit. Acá se pinea el de `stable`, que es la rama que upstream considera apta para consumo. El # sha lo vuelve inmutable, que es lo único que el ADR 0006 exige: la fuente tiene que ser la MISMA # mañana, no tiene que tener nombre bonito. # # ══ `configure` PROPIO, NO AUTOTOOLS ═══════════════════════════════════════════════════════════ # El `configure` de x264 es un script escrito a mano: no acepta `--build/--host` ni las variables de # autotools, y toma el compilador por `--extra-cflags`/`CC`. Mismo caso que ffmpeg. # # `--disable-asm` NO se pone: nasm está en el corpus y un codificador sin SIMD es el error que # acabamos de pagar en ffmpeg. Se declara `nasm` en `[deps]` justamente para que el ensamblador esté # y la SIMD entre. # # `--disable-cli`: OBS consume la LIBRERÍA (`libx264.so` + `x264.h` + `x264.pc`); el binario `x264` # no lo usa nadie y sólo agrega superficie. name = "x264" version = "0.165-stable" license = "GPL-2.0-or-later" [source] repo = "https://code.videolan.org/videolan/x264.git" commit = "b35605ace3ddf7c1a5d67a2eb553f034aef41d55" [build] compiler = "zig-cc" target = "x86_64-linux-musl" # DINÁMICO: quien la consume es `obs-x264.so`, un MÓDULO cargado por dlopen. Una x264 `.a` sin PIC # dentro de un `.so` es exactamente el cuadro de gdk-pixbuf. link = "dynamic" flags = [] [build.phases] configure = ''' ZW="$PWD/.zwrap"; mkdir -p "$ZW" cat > "$ZW/cc" <<'W' #!/bin/sh exec hammer-zig-cc "$@" W chmod +x "$ZW/cc" CC="$ZW/cc" ./configure --prefix=/usr --enable-shared --disable-cli --disable-opencl ''' compile = 'make -j"$(nproc)"' install = 'make DESTDIR=/out install' [deps] build = ["nasm", "pkgconf"]