Skip to content

Instantly share code, notes, and snippets.

@chikuzen
chikuzen / jpeg2yuv.c
Created October 14, 2012 11:34
JPEG2YUV - TurboJPEG/OSS sample
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include "turbojpeg.h"
typedef struct {
tjhandle tjh;
FILE *src;
unsigned char *src_buff;
unsigned char *dst_buff;
#!/usr/bin/env python3
import os
import sys
import glob
import subprocess
import argparse
class SubsetFont:
@chikuzen
chikuzen / easyvfr.py
Last active July 28, 2020 18:26
port of EasyVFR for VapourSynth
#!/usr/bin/env python3
'''port of EasyVFR for VapourSynth'''
__author__ = 'Chikuzen <chikuzen.mo at gmail dot com>'
__version__ = '0.2.5'
import vapoursynth as vs
@chikuzen
chikuzen / finesharp.py
Created July 29, 2013 11:17
finesharp for vapoursynth r19 or later
#finesharp.py - finesharp module for VapourSynth
#original author : Didee (http://forum.doom9.org/showthread.php?t=166082)
# requirement: RemoveGrain.dll, Repair.dll
# VapourSynth r19 or later
import vapoursynth as vs
class InvalidArgument(Exception):
def __init__(self, value):
@chikuzen
chikuzen / lazyload.js
Last active June 24, 2018 15:02
Lazy load
/*
IntersectionObserver polyfill
Copyright 2016 Google Inc. All Rights Reserved.
Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.
https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
*/
!function(d,_){"use strict";if("IntersectionObserver"in d&&"IntersectionObserverEntry"in d&&"intersectionRatio"in d.IntersectionObserverEntry.prototype)"isIntersecting"in d.IntersectionObserverEntry.prototype||Object.defineProperty(d.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return 0<this.intersectionRatio}});else{var e=[];t.prototype.THROTTLE_TIMEOUT=100,t.prototype.POLL_INTERVAL=null,t.prototype.USE_MUTATION_OBSERVER=!0,t.prototype.observe=function(e){if(!this._observationTargets.some(function(t){return t.element==e})){if(!e||1!=e.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:e,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},t.prototype.unobserve=function(e){this._ob
@chikuzen
chikuzen / my_build.sh
Created September 2, 2011 13:09
How to compile libav/x264cli on windows
#!/bin/bash
# CAUTION!!! THIS SCRIPT IS NO WARRANTY!!!
: << _COMMENT_
How to compile libav/x264 binaries for both 32bit and 64bit on Windows
At first, you should install Git into your Windows.
1. Download Git from
http://msysgit.googlecode.com/files/Git-1.7.6-preview20110708.exe
#include <cstdint>
#include <algorithm>
#include <iostream>
#include <tmmintrin.h>
// pattern0: (R + G + B) / 3
// pattern1: max(R, G, B)
// pattern2: (R + 2*G + B) / 4
// pattern3: R*0.299 + G*0.587 + B*0.114
#include <algorithm>
#include <tmmintrin.h>
#define WIN32_LEAN_AND_MEAN
#define NOMINMAX
#include <windows.h>
#include <avisynth.h>
typedef IScriptEnvironment ise_t;
@chikuzen
chikuzen / transpose_8x8_ps_avx.cpp
Last active July 31, 2016 08:11
why there is no_MM_TRANSPOSE_8_PS macro ?
#include <immintrin.h>
void transpose_8x8_avx(const float* srcp, float* dstp) noexcept
{
__m256 a = _mm256_load_ps(srcp + 0); // a0 a1 a2 a3 a4 a5 a6 a7
__m256 b = _mm256_load_ps(srcp + 8); // b0 b1 b2 b3 b4 b5 b6 b7
__m256 c = _mm256_load_ps(srcp + 16); // c0 c1 c2 c3 c4 c5 c6 c7
__m256 d = _mm256_load_ps(srcp + 24); // d0 d1 d2 d3 d4 d5 d6 d7
__m256 e = _mm256_load_ps(srcp + 32); // e0 e1 e2 e3 e4 e5 e6 e7
__m256 f = _mm256_load_ps(srcp + 40); // f0 f1 f2 f3 f4 f5 f6 f7
@chikuzen
chikuzen / vsenc.py
Last active March 27, 2016 21:06
vapoursynth sample
#vsenc.py
#coding: utf-8
import sys
from subprocess import Popen, PIPE
import vapoursynth as vs
x264_binary_path = 'D:/tools/x86/x264.exe'
avconv_binary_path = 'D:/tools/x86/avconv.exe'