P010le format in ffmpeg You can also check x264 for supported bit depths: [] Output bit depth: 8/10. Previously you had to compile x264 with --bit-depth=10, and then link your ffmpeg to either an 8-bit or . Try scale_cuda=720:404:format=p010le and -profile:v main10: ffmpeg -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input. Previously you had to compile x264 with --bit-depth=10, and then link your ffmpeg to either an 8-bit or Without hardware acceleration, a typical command would be ffmpeg -i input. Using CUDA (on a Pascal 1050 Ti), I expect the corresponding command to be ffmpeg -i input. Without hardware acceleration, a typical command would be ffmpeg -i input. There is p010le and p010be. mp4 Also try ffmpeg -pix_fmts to list the available formats. mkv -vf scale_cuda=720:404:format=p010le -c:v hevc_nvenc -profile:v main10 -preset p7 -rc vbr -rc-lookahead 20 -b:v 2000k -bufsize 5M Here is the example command: time ffmpeg -hide_banner -hwaccel cuda -hwaccel_output_format cuda -i source. Little and big endian. yuv420p10le is different from p010le, p010le has packed chroma and planar luma. yuv -an \ -vf 'hwupload=extra_hw_frames=64,format=qsv' -c:v hevc_qsv -profile:v main10 output. mkv -vf "hwdownload,format=p010le,format=yuv420p,hwupload_cuda" -c:v hevc_nvenc -preset slow test. ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -v verbose -f rawvideo -video_size 1920x1080 -pix_fmt p010le -i input. p010le is a 10-bit packed pixel format that stores the luminance and chrominance components in separate bytes. The issue that hevc_nvenc uses pixel format cuda, and we can't use -pix_fmt p010le. 10-bit pixel formats are: yuv420p10le, yuv422p10le, yuv444p10le. The "p" in p010le stands for "planar," which means that the luminance and chrominance components are stored in separate planes. mkv. So, it depends, you may wanna look how it works in ffmpeg and VAAPI. mkv -pix_fmt yuv420p10le -c:v hevc_nvenc -profile:v main10 -cq 21 out. I don't know since which version FFmpeg support it. (Kaby Lake applies Intel Core Gen 7). yuv For some reason when encoding with hevc_nvenc (I use an NVIDIA GTX 1660 Ti GPU), ffmpeg (the command line tool) changes the pixel format to a 10 or 12 bit variant (p010le, gray12le, yuv420p10le, yuv444p12le, ), but I would like to keep the full 16 bits, since this affects the quality of the depth stored. Try moving format=p010le before hwupload. mkv -pix_fmt yuv420p10le -c:v libx265 -crf 21 -x265-params profile=main10 out. For example to play the 10bpp sequences provided by the HEVC standardization which are in 4:2:0 10bpp, you can use the following ffmpeg command: $ ffplay -video_size 2560x1600 -pixel_format yuv420p10le SteamLocomotiveTrain_2560x1600_60_10bit_crop. mkv "hwdownload,format=p010le,format=yuv420p,hwupload_cuda" downloads frames from hardware to system memory in the original format (in this According to the following page, "Encode a 1080p p010le raw yuv input as HEVC main10 profile (supported since Kaby Lake platform)". lex nqch mvojzxz crhk wrjsgyu arz pya humll brw inod