Skip to content

Instantly share code, notes, and snippets.

View astiob's full-sized avatar

Oleg Oshmyan astiob

View GitHub Profile
@astiob
astiob / base.base36
Created January 25, 2019 22:32
bn.js computes incorrect new BN(base, 36).sqr().sqr().sqr()
7pdsv7ss6kribm8z2p4ypobswmu5j1zdo0q3nsyfepmf4qx86v3xd21z0sp8nv0sno7wttqk0skz305ylk6nbpde9z1bxgtss8x3ejqd3t4x6287voymm7qh11e6k3g6unz0uphaofbudolf4nonc9dqxeqnjrrmue195509t6athw0ld5co90g1wo88tl5vh08rjif3n2ekwowm09i697i5799tj9ll4zywzuabhfos03eghr8jkn41io6oplpnv00hzvpu2omd2y3q0ky4f0bhv5vnggft1sqwiv9vv1p5ei9pz9bze4yleg5stn58tutdb7odtx6kjrmul9kppaeevc5k6bb4bz5950j8i7eerr91qje2ajosxu3lqrxv14v7oscg4nk4bokl9mfn5rfvqles1vapmcwcyp0gm7wri6n7zqp0k856xlf76ui1sjca1jqqeb9rua3psh97256zrigbzar2v02qu80a1yaj9wqhptvfao6wppgm8cxzulzdbzdmosya2btt3cc1uv90vaf5bg4av1lutlbkyvp046jgszyf3ruw93mb27m5scn7koiu1oecdsm3rjb828v0sloj4fgrf7sgslkkjn6ztxh30hwby52wqxjwirae6comqaf36g01nv3jghuxo44rnzqz67eixyb3jr24bz1cy4gbin0h0ueqrsl3z0f6b7z2srojcbrqiyqzmp1bt51wv2jc2eqs4ub3w3rezu5cna75gys9c90rpfajyuowo7cq4mtccdwbpy4yxwwbczgqz6nmsmw54z0aog3c3cgq5110q2l9x7jvb1u9g4ga6pt0bumawhighx4hdx8d0g99r4zkf4b0pumx8jfc5o438fid1n8qk940kf2uwlfdwnm6w2rlklnq0adbyt0rz83gyxzf5623xxxa3tqxlcp347g8fljro1geq3u9hb2yc5e08zmkuraagq46dloatjn1dhg9bpgyg6e9a3fnspzc696linjba00e2ygaobry
@astiob
astiob / bit.c
Created April 23, 2016 12:08
Dynamic [i, n] range maximum query
T range_max(const T *binary_indexed_tree, size_t size, size_t first)
{
T value = T_MIN;
for (; first < size; first |= first + 1)
if (value < binary_indexed_tree[first])
value = binary_indexed_tree[first];
return value;
}
void increase(T *binary_indexed_tree, size_t pos, T value)
@astiob
astiob / 0_id.log
Last active April 13, 2016 21:07
mpv build log on Raspberry Pi 3
pi@raspberrypi:~/mpv-build $ uname -a
Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux
pi@raspberrypi:~/mpv-build $ gcc --version
gcc (Raspbian 4.9.2-10) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@astiob
astiob / bit.c
Last active April 23, 2016 13:04
Dynamic range maximum query
saidx_t range_max(const saidx_t *restrict data,
const saidx_t *restrict left_tree,
const saidx_t *restrict right_tree,
size_t first, size_t last)
{
assert(first < last);
saidx_t value = -1;
for (; (first | first + 1) < last; first |= first + 1)
if (value < right_tree[first])
@astiob
astiob / libass-asm-test.ass
Last active October 10, 2015 11:07
libass assembler code sanity check
[Script Info]
ScriptType: v4.00+
PlayResX: 1280
PlayResY: 720
ScaledBorderAndShadow: yes
YCbCr Matrix: None
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,18,&H00000000,&H00000000,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,0,0,2,0,0,50,1
@astiob
astiob / render_subtitles_rgb24.c
Last active August 29, 2015 14:13
Code fragment blending ASS_Images onto an RGB surface
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#define dither() (rand() / (RAND_MAX + 1.0L))
typedef struct
{
size_t w, h;
struct rgb24_pixel { uint8_t r, g, b; } samples[];
[Script Info]
ScriptType: v4.00+
PlayResX: 1280
PlayResY: 720
ScaledBorderAndShadow: yes
YCbCr Matrix: None
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,60,&H000000FF,&HFF0000FF,&H00000000,&H000000FF,0,0,0,0,100,100,0,0,1,0,0,5,10,10,20,1
@astiob
astiob / 0001-MSVC-ilog2.patch
Created April 27, 2014 00:30
11rcombs/libass/rasterizer: MSVC ilog2
From 3183dff76442ac06e4fb19fd2f7be99a34d18522 Mon Sep 17 00:00:00 2001
From: Oleg Oshmyan <chortos@inbox.lv>
Date: Sun, 27 Apr 2014 01:28:59 +0100
Subject: [PATCH] MSVC ilog2
---
libass/ass_rasterizer.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libass/ass_rasterizer.c b/libass/ass_rasterizer.c
@astiob
astiob / be.ass
Last active August 29, 2015 13:57
ASS blur tests
[Script Info]
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 1280
PlayResY: 320
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.709
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
@astiob
astiob / [Underwater-FFF] Saki Zenkoku-hen - The Nationals - 04 [BD][1080p-FLAC][8DD8F1C9].diff
Last active August 29, 2015 13:55
Corrections to Underwater–FFF’s Saki: Zenkoku-hen (default track)
--- a/[Underwater-FFF] Saki Zenkoku-hen - The Nationals - 04 [BD][1080p-FLAC][8DD8F1C9].ass
+++ b/[Underwater-FFF] Saki Zenkoku-hen - The Nationals - 04 [BD][1080p-FLAC][8DD8F1C9].ass
@@ -302,7 +302,7 @@
Dialogue: 3,0:10:32.02,0:10:33.68,BoxText,,0,0,0,,{\fs28\fad(150,0)\fsp-1.3\blur0.4\pos(1036.864,212.955)}East \NHand 1\N-\NBonus 3
Dialogue: 1,0:10:32.02,0:10:33.68,BoxWhite,,0,0,0,,{\fad(150,0)\blur0.5\fscx260\fscy450\p1\c&HFFFDFB&\pos(987.083,130.531)}m 0 0 l 0 38 38 38 38 0
Dialogue: 9,0:10:35.90,0:10:39.58,Default,,0,0,0,,{\i1}I guess even {\i0}she{\i1} doesn't get \Nconsecutive double riichis.
-Dialogue: 9,0:10:46.54,0:10:48.84,Default,,0,0,0,,{\an8\i1}My hand stopped building at a point
+Dialogue: 9,0:10:46.54,0:10:48.84,Default,,0,0,0,,{\an8\i1}My hand stopped{ building}{isn't she talking about her physical hand? like... the end of her arm} at a point
Dialogue: 9,0:10:48.84,0:10:50.40,Default,,0,0,0,,{\an8\alpha&HFF&\fscx60}...{\r}{\i1}where I would normally never hesitate...
Dialogue: 9,0:10:50.