(This article is English translation of Japanese version)
I use full HD video clips to benchmark Ut Video Codec Suite and other video codecs. When I began to benchmark codecs, using full HD video clips is a reasonable choice. However, measurement error is not ignorable nowadays because recent codecs including UtVideo are very fast and they take only 1ms to process one frame in case of YUV420. Because so, I’m planning to switch to 4K video clips. (The author of MagicYUV also advised me to do so)
I found 4K 16bit RGB tiff sequence version of crowd_run, which is I always use (here).
I have to create not only 8bit format clips but also v210 format clip to benchmark UQY2. I have found that FFmpeg (libswscale) first convert to YUV444P16 equivalent and then convert to target pixel format while converting RGB48 to YUV family. So the conversion have enough precision. Because FFmpeg does not output AVI files in some pixel formats which I require, I first output mov files and convert them with VirtualDub FilterMod (VDFM). VDFM have “Caching Input Driver” plugin that enables reading mov files.
4K video clip files, of course, are very large. To limit to 10GB, I use first 300 frames in case of 8bit/10bit formats and 150 frames in case of b64a. Same video span is required to compare UQRG and ULRG, so I use first 300 frame in all video formats.
The process to create video clips is as follows:
- Download tiff sequence (500 files). They totaled to 24GB.
- Convert them to a b48r mov “master” file using FFmpeg. The output file is also 24GB.
ffmpeg -pattern_type glob -i '*.sgi' -r 25 -pix_fmt rgb48be -vcodec rawvideo crowd_run_4k-b48r.mov
- Convert master file to various pixel format using FFmpeg.
- Convert mov files to RGB32, RGB24, YV24, YV16, YUY2, YV12, NV12, b64a, v210 AVI files using VDFM.
ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -pix_fmt rgb24 -vcodec rawvideo crowd_run_4k-tmp-rgb24.mov ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -vcodec v308 crowd_run_4k-tmp-yuv444.mov ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -pix_fmt yuyv422 -vcodec rawvideo crowd_run_4k-tmp-yuv422.mov ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -vcodec yuv4 crowd_run_4k-tmp-yuv420.mov ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -vcodec copy crowd_run_4k-tmp-rgb48.mov ffmpeg -i crowd_run_4k-master-b48r.mov -frames:v 300 -vcodec v210 crowd_run_4k-tmp-yuv422-10bpc.mov
Finally, I get total 64GB AVI video clips.
no comment untill now