FFmpeg の"4k"は"4096x2160"

試した環境 FFmpeg 5.0 本題 ffmpeg -f lavfi -i testsrc=s=4k:d=5 video.mp4 FFmpeg のサイズ指定は"640x480"のように数値を直接指定する方法の他に、"vga"のような画像解像度として広く認識されている名称で指定することもできます。 FFmpeg で指定できる…

FFmpeg のビデオフィルタで concat の後の tpad が無効になる問題が version 5.0 で解決されていた

試した環境 Windows 10 Home 21H2 FFmpeg 4.4.1 FFmpeg 5.0 本題 FFmpeg のビデオフィルタにおいて、連結フィルタの concat とパディングフレームを挿入するフィルタの tpad を両方使うとき、concat から tpad の順番で使用すると tpad が処理されないような…

As/R で現在開いているディレクトリから Windows Terminal でコマンドプロンプトを起動する方法

試した環境 Windows 10 Home 21H1 Windows Terminal 1.11.3471.0 As/R 13.3.5.0 本題 kakashibata.hatenablog.jp 以前、「As/R で現在開いているディレクトリからConEmuを起動する方法」という記事を書きましたが、今回はその Windows Terminal 版です。 設…

Windows Terminal で MSYS2 の MINGW64 を開けるように設定する

試した環境 Windows Terminal 1.11.3471.0 MSYS2 20220118 DevToys Version 1.0.1.0 本題 Windows Terminal で MSYS2 の MINGW64 を開けるように Windows Terminal の設定を変更します。 Windows Terminal を開き、設定ファイルを開きます。 デフォルトのシ…

令和4年度大学入学共通テストを解いた(2日目)

先週に続き、大学入学共通テスト2日目の問題を解きました。 解いたのは『数学Ⅰ・数学A』、『数学Ⅱ・数学B』、『物理』、『化学』の4科目です。 問題は先週と同じく、以下のページで公開されている問題と解答を利用させて頂きました。 edu.chunichi.co.jp …

令和4年度大学入学共通テストを解いた(1日目)

昨日実施された大学入学共通テスト1日目の問題を解きました。 解いたのは『英語(リーディング・リスニング)』、『国語』、『地理B』、『倫理、政治・経済』の4科目です。 去年に解いた令和3年度大学入学共通テストの結果はそれぞれ以下の記事です。 kakash…

cv::transform は変換行列が2行2列または2行3列でなくても動くかもしれない

試した環境 OpenCV 4.5.3 Microsoft Visual Studio Community 2019 Version 16.10.3 本題 cv::transform のドキュメントには変換行列m は2行2列または2行3列の行列であることが書かれています。 https://docs.opencv.org/4.5.3/d2/de8/group__core__array.ht…

setlocal EnableDelayedExpansion を宣言するタイミングで挙動が異なるバッチ

bat

試した環境 Windows10 本題 前回の記事でsetコマンドで変数を含む文字列を入力したときに、入力した段階で展開される場合と後から展開されるような場合がありることを書きました。 その挙動の応用みたいなものですが、遅延環境変数を有効化するsetlocal Enab…

バッチファイルの set コマンドで変数を含む文字列を入力したときに、その段階で展開される例と後から展開されるような振る舞いをする例

bat

試した環境 Windows10 本題 その段階で展開される例 バッチファイルの set コマンドで変数を含む文字列を入力した場合、展開されて入力されます。 以下がその例です。 変数frameに後から00001を代入していますが、最後の行のecho %Param%で反映されていませ…

std::partial_sort_copy は入力側のシーケンスを変更しない

C++

試した環境 Windows 10 Microsoft Visual Studio Community 2019 Version 16.10.2 本題 std::partial_sort_copy は範囲を部分的にソートした結果を他の範囲にコピーする処理を行います。 標準ライブラリの他のソート処理 (std::sort や std::partial_sort な…

vcpkg update を実行して Error: while loading boost-disjoint-sets: と出たときには、以前にインストールした boost-disjoint-sets を削除する

試した環境 Windows10 vcpkg 2021.05.12 boost 1.72.0 -> 1.75.0 本題 vcpkg updateを実行したところ、以下のエラーメッセージが出力されました。 Error: while loading boost-disjoint-sets: The port directory (X:XXXX\vcpkg\ports\boost-disjoint-sets) …

FFmpeg でフレーム番号が表示されるだけの動画を作成する

試した環境 Windows10 FFmpeg 4.4 本題 FFmpeg でフレーム番号が表示されるだけの動画を作成するには、video filter のdrawtextを使います。 drawtextは固定の文字を描画するだけでなく、フレーム番号を描画することもできます。 また、無地の背景を使用する…

Visual Studio では OpenMP のビルドフラグを付けなくても OpenMP の API を使用できる

C++

試した環境 Windows 10 Microsoft Visual Studio Community 2019 Version 16.8.6 cmake 3.20.1 g++ 9.3.0 本題 Visual Studio では OpenMP で並列化をする際にはビルドフラグ/openmpが必要ですが、omp_get_num_thread()などの OpenMP の API はこのビルドフ…

CUDA の Texture Memory で float3 のような3要素の型は fetch できない

試した環境 Microsoft Visual Studio Community 2019 Version 16.8.6 NVIDIA CUDA 11.0 本題 CUDA の Texture Memory は int4 や float2 のような 1,2,4 要素の整数型と単精度浮動小数点型が利用できます。 逆に言うと float3 のような3要素の型は使えません…

Chocolatey で Vim をインストールするときインストール先の指定によっては既存の Vim がシンボリックリンクに変わる

確認した環境 Windows 10 Chocolatey v0.10.15 Vim 8.2.2467 本題 Chocolatey で Vim をインストールするとき、/InstallDirパラメータでインストール先を指定することができます。 しかしそのインストール場所に既に Vim が存在するときにはその既存の Vim …

Conemu に VS 2019 x64 tools prompt が無かったので Refresh default tasks で追加する

試した環境 Windows 10 Microsoft Visual Studio Community 2019 Version 16.8.4 ConEmu 21.1.28.0 本題 Conemu で Visual Studio 2019 の MSBuild が使えるコマンドプロンプトを立ち上げたかったのですが、 下図のように Visual Studio 2015 などの設定はあ…

令和3年度大学入学共通テストを解いた(2日目)

先週に続き、大学入学共通テスト2日目の問題を解きました。 解いたのは『数学Ⅰ・数学A』、『数学Ⅱ・数学B』、『物理』、『化学』の4科目です。 問題は先週と同じく、以下のページで公開されている問題と解答を利用させて頂きました。 edu.chunichi.co.jp …

令和3年度大学入学共通テストを解いた

昨日実施された大学入学共通テスト1日目の問題を解きました。 解いたのは『英語(リーディング・リスニング)』、『国語』、『地理B』、『倫理、政治・経済』の4科目です。 去年に解いたセンター試験の結果および2か月前に解いたセンター追・再試験の結果は…

__constant__ で宣言した構造体の変数を初期化する場合は初期化子リストか constexpr で宣言した変数を使用する【CUDA】

試した環境 Microsoft Visual Studio Community 2019 Version 16.8.3 NVIDIA CUDA 11.0 本題 先に試したコードを載せます。 #include "cuda_runtime.h" #include "device_launch_parameters.h" #include <stdio.h> struct Point { int x; int y; }; __constant__ Poin</stdio.h>…

__constant__ で宣言した変数はホスト側で参照できない【CUDA】

試した環境 Microsoft Visual Studio Community 2019 Version 16.8.3 NVIDIA CUDA 11.0 本題 __constant__ で宣言した変数はデバイス側の変数ですが、ホスト側で使用するグローバル変数のような初期化の書き方ができます。 だからと言ってホスト側で直接参照…

Visual Studio の CUDA 11.0 Runtime プロジェクトのデフォルトソースコード実行時に addWithCuda failed! と出るときは Code Generation の値を確認する

試した環境 Microsoft Visual Studio Community 2019 Version 16.8.3 NVIDIA CUDA 11.0 GeForce GTX 750 本題 Visual Studio の CUDA 11.0 Runtime プロジェクトのデフォルトソースコードで、ビルドは通ったものの実行時に以下のメッセージが表示されました…

GLM の vec 系の変数で GLSL の .xyz みたいな指定方法(swizzle)をできるようにする

C++

試した環境 glm 9.9.7 Microsoft Visual Studio Community 2019 Version 16.4.5 本題 vector.xyzwのようなドット演算子の後に指定したい要素を順に並べる表現方法を swizzle または Swizzling と呼ぶそうです。 この swizzle 表現は GLSL ではデフォルトでで…

2つの動画をクロスフェードした動画を作るには FFmpeg の xfade フィルタを使う

試した環境 FFmpeg 4.3.1 本題 1番目の動画の終わりと2番目の動画の始めとを重ねてフェードしながら切り替わるつなぎ方をクロスフェードと言います。 AviUtl では以下のタイムライン画像のようにシーンチェンジフィルタの「クロスフェード」を使うことで実現…

令和2年度大学入試センター試験(追・再試験)を解いた

はじめに 去年もやりましたが、今年のセンター試験の追・再試験の問題を解きました。 問題は以下のページから取得ました。 過去3年分とあるので3年後には消えているかもしれません。 結果 解いた科目とその結果は以下の通りです。 英語筆記 163点 (200点中) …

new 演算子で確保した複数の変数を1つの delete 演算子とコンマでまとめて解放できない

C++

試した環境 Microsoft Visual Studio Community 2019 Version 16.4.5 本題 以下のコードのように new 演算子で確保した複数の変数を1つの delete 演算子とコンマ演算子でまとめて解放することは出来ません。 #include <iostream> int main(int argc, char* argv[]) { i</iostream>…

startコマンドで自分自身のバッチを呼び出す方法でサブルーチンを並列に呼び出す

bat

試した環境 Windows 10 本題 以下の処理ではforループ内で指定した回数(ここでは4回)だけサブルーチンを順次に呼び出しています。 サブルーチンは実際の処理の代わりにtimeoutコマンドを呼んでいます。 @echo off pushd %~dp0 for /l %%i in (0, 1, 3) do …

conda config で仮想環境の生成先ディレクトリとパッケージの保存先を変更する

試した環境 Windows 10 Miniconda3 py38_4.8.3 (Python 3.8.3 64-bit) 本題 conda を使用していると、仮想環境やパッケージのサイズが大きいので、Cドライブ以外にそれらを置きたいと思うことがあるかもしれません。 そのようなときは、conda configコマンド…

Python 公式版 と Miniconda を両方インストールした環境で "WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available." が発生することがある

試した環境 Windows 10 Python 3.8.5 (64-bit) Miniconda3 py38_4.8.3 (Python 3.8.3 64-bit) はじめに この記事ではpip installに失敗した問題とその解決方法を書きます。 なお、「Python 公式版」とは Python.org で配布されているバージョンのことを指し…

【GLSL】複数のシェーダソースから構成されるシェーダプログラム

試した環境 glsl 4.3 本題 汎用的な処理を使い回し易くするためにその処理だけ別のファイルにしたい等、1つのシェーダプログラムに対して複数のシェーダソースを利用したいときがあります。 複数のシェーダソースの利用について、OpenGL Wiki には以下のよう…

GLM や GLSL の正方行列はデフォルトコンストラクタで単位行列に初期化されない

試した環境 glm 0.9.9.7 glsl 4.3 本題 glm::mat4 などのGLMの正方行列はデフォルトコンストラクタで単位行列に初期化されません。 単位行列にしたい場合は、glm::mat4(1.f) と引数付きのコンストラクタを呼び出す必要があります。 以下は試したコードです。…