diff --git a/doc/benchmarks/intel-data-center-gpu-flex-series/intel-data-center-gpu-flex-series.rst b/doc/benchmarks/intel-data-center-gpu-flex-series/intel-data-center-gpu-flex-series.rst index 4d31b99f..61244745 100644 --- a/doc/benchmarks/intel-data-center-gpu-flex-series/intel-data-center-gpu-flex-series.rst +++ b/doc/benchmarks/intel-data-center-gpu-flex-series/intel-data-center-gpu-flex-series.rst @@ -336,7 +336,7 @@ ffmpeg) command lines optimized for high quality and performance are given below -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} \ -look_ahead_depth 8 -extbrc 1 -b_strategy 1 \ -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output **HEVC/H.265**:: @@ -346,7 +346,7 @@ ffmpeg) command lines optimized for high quality and performance are given below -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} \ -look_ahead_depth 8 -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output **AV1 (HW-based BRC, EncTools coming soon)**:: @@ -354,7 +354,7 @@ ffmpeg) command lines optimized for high quality and performance are given below -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $((2 * $bitrate)) -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $(($bufsize / 2)) -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output Extra quality boost can be achieved with use of low power look ahead (by setting “-look_ahead_depth 40” option) at the expense of a slight performance impact (10-20%). @@ -382,7 +382,7 @@ ffmpeg) command lines optimized for high quality and performance are given below -frames:v $numframes -c:v h264_qsv -preset $preset -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) -bitrate_limit 0 \ - -bf 0 -refs 5 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 5 -g 9999 -strict 1 -fps_mode passthrough -y $output **HEVC/H.265**:: @@ -390,14 +390,14 @@ ffmpeg) command lines optimized for high quality and performance are given below -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) \ - -bf 0 -refs 4 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 4 -g 9999 -strict 1 -fps_mode passthrough -y $output **AV1**:: ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 2)) -rc_init_occupancy $((bitrate / 4)) \ - -bf 0 -g 9999 -vsync passthrough -y $output + -bf 0 -g 9999 -fps_mode passthrough -y $output Recommendations for more specific use cases as well as additional information on developer configurable bitrate controllers and available advanced coding options diff --git a/doc/benchmarks/intel-iris-xe-max-graphics/intel-iris-xe-max-graphics.md b/doc/benchmarks/intel-iris-xe-max-graphics/intel-iris-xe-max-graphics.md index cf279cc4..42f4e6a4 100644 --- a/doc/benchmarks/intel-iris-xe-max-graphics/intel-iris-xe-max-graphics.md +++ b/doc/benchmarks/intel-iris-xe-max-graphics/intel-iris-xe-max-graphics.md @@ -114,7 +114,7 @@ ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -c:v h264_qsv -preset medium -profile:v high \ -b:v $bitrate -maxrate $(bitrate*2) -bitrate_limit 0 \ -bufsize $(bitrate*4) -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 \ - -vsync 0 $output + -fps_mode passthrough $output ``` **Example 2: AVC CBR Encode** @@ -125,7 +125,7 @@ ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -c:v h264_qsv -preset medium -profile:v high \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 \ -bufsize $(bitrate*2) -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 \ - -vsync 0 $output + -fps_mode passthrough $output ``` **Example 3: HEVC VBR Encode** @@ -136,7 +136,7 @@ ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -c:v hevc_qsv -preset medium -profile:v main \ -b:v $bitrate -maxrate $(bitrate*2) -bitrate_limit 0 \ -bufsize $(bitrate*4) -g 256 -extbrc 1 -refs 5 -bf 7 \ - -vsync 0 $output + -fps_mode passthrough $output ``` **Example 4: HEVC CBR Encode** @@ -147,7 +147,7 @@ ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -c:v hevc_qsv -preset medium -profile:v main \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 \ -bufsize $(bitrate*2) -g 256 -extbrc 1 -refs 5 -bf 7 \ - -vsync 0 $output + -fps_mode passthrough $output ``` ## Try it out @@ -219,7 +219,7 @@ wget https://repositories.intel.com/media/WAR_TRAILER_HiQ_10_withAudio.mp4 ffmpeg -an -c:v h264_qsv -i WAR_TRAILER_HiQ_10_withAudio.mp4 \ -c:v hevc_qsv -preset medium -profile:v main -b:v 2000000 \ -extbrc 1 -bf 7 -refs 5 \ - vsync 0 -y WAR_2Mbps_VBR_QSV.h265 + -fps_mode passthrough -y WAR_2Mbps_VBR_QSV.h265 ``` ## Start Developing diff --git a/doc/performance.rst b/doc/performance.rst index 25a6cf84..20cf702f 100644 --- a/doc/performance.rst +++ b/doc/performance.rst @@ -233,7 +233,7 @@ To achieve better performance with Intel GPU H.264/AVC encoder running EncTools -b:v $bitrate -maxrate $((2 * $bitrate)) -bitrate_limit 0 -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::${inputcodec} $input -hw -async $async_depth \ @@ -284,7 +284,7 @@ Example command lines: -frames:v $numframes -c:v h264_qsv -preset h264_qsv -profile:v high -async_depth $async_depth \ -b:v $bitrate -maxrate $((2 * $bitrate)) -bitrate_limit 0 -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::${inputcodec} $input -hw -async $async_depth -device ${DEVICE:-/dev/dri/renderD128} \ @@ -345,7 +345,7 @@ Example command lines: -b:v $bitrate -maxrate $((2 * $bitrate)) -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::${inputcodec} $input -hw -async $async_depth -device ${DEVICE:-/dev/dri/renderD128} \ @@ -395,7 +395,7 @@ Example command lines: -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth $async_depth \ -b:v $bitrate -maxrate $((2 * $bitrate)) -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -bf 7 -refs 4 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::${inputcodec} $input -hw -async $async_depth -device ${DEVICE:-/dev/dri/renderD128} \ @@ -456,7 +456,7 @@ Example command lines: -b:v $bitrate -maxrate $((2 * $bitrate)) -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::${inputcodec} $input -hw -async $async_depth -device ${DEVICE:-/dev/dri/renderD128} \ @@ -501,7 +501,7 @@ Example command lines: -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth $async_depth \ -b:v $bitrate -maxrate $((2 * $bitrate)) -bufsize $((4 * $bitrate)) \ -rc_init_occupancy $(($bufsize / 2)) -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding from raw bitstream with Sample Multi-Transcode) sample_multi_transcode -i::$inputcodec $input -hw -async $async_depth \ diff --git a/doc/quality-lowdelay.rst b/doc/quality-lowdelay.rst index ddcce096..12f0ed3b 100644 --- a/doc/quality-lowdelay.rst +++ b/doc/quality-lowdelay.rst @@ -274,14 +274,14 @@ To achieve better quality for low delay use case with Intel GPU H.264/AVC encode -frames:v $numframes -c:v h264_qsv -preset $preset -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) -bitrate_limit 0 -low_power ${LOW_POWER:-true} \ - -bf 0 -refs 5 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 5 -g 9999 -strict 1 -fps_mode passthrough -y $output # LD CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v h264_qsv -preset $preset -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) -bitrate_limit 0 -low_power ${LOW_POWER:-true} \ - -bf 0 -refs 5 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 5 -g 9999 -strict 1 -fps_mode passthrough -y $output # LD CBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 \ @@ -331,14 +331,14 @@ Example command lines: -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) -low_power ${LOW_POWER:-true} \ - -bf 0 -refs 4 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 4 -g 9999 -strict 1 -fps_mode passthrough -y $output # LD CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 4)) \ -rc_init_occupancy $((bitrate / 8)) -low_power ${LOW_POWER:-true} \ - -bf 0 -refs 4 -g 9999 -strict 1 -vsync passthrough -y $output + -bf 0 -refs 4 -g 9999 -strict 1 -fps_mode passthrough -y $output # LD CBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -382,13 +382,13 @@ Example command lines: -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate -i $inputyuv \ -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 2)) -rc_init_occupancy $((bitrate / 4)) \ - -bf 0 -g 9999 -vsync passthrough -y $output + -bf 0 -g 9999 -fps_mode passthrough -y $output # LD CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / 2)) -rc_init_occupancy $((bitrate / 4)) \ - -bf 0 -g 9999 -vsync passthrough -y $output + -bf 0 -g 9999 -fps_mode passthrough -y $output # LD CBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -420,7 +420,7 @@ ffmpeg-x264 -i $inputyuv -vframes $numframes -y \ -c:v libx264 -preset medium -profile:v high \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / N)) \ - -tune zerolatency -threads 12 -vsync passthrough $output + -tune zerolatency -threads 12 -fps_mode passthrough $output ffmpeg-x265 *********** @@ -432,7 +432,7 @@ ffmpeg-x265 -i $inputyuv -vframes $numframes -y \ -c:v libx265 -preset medium \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((bitrate / N)) \ - -tune zerolatency -threads 12 -vsync passthrough $output + -tune zerolatency -threads 12 -fps_mode passthrough $output Links ----- diff --git a/doc/quality.rst b/doc/quality.rst index d56b57f6..31bc3cf8 100644 --- a/doc/quality.rst +++ b/doc/quality.rst @@ -451,7 +451,7 @@ To achieve better quality with Intel GPU H.264/AVC encoder running EncTools BRC -b:v $bitrate -maxrate $((2 * bitrate)) -bitrate_limit 0 -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -460,7 +460,7 @@ To achieve better quality with Intel GPU H.264/AVC encoder running EncTools BRC -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -468,7 +468,7 @@ To achieve better quality with Intel GPU H.264/AVC encoder running EncTools BRC -b:v $bitrate -maxrate $((2 * bitrate)) -bitrate_limit 0 -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -476,7 +476,7 @@ To achieve better quality with Intel GPU H.264/AVC encoder running EncTools BRC -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 \ @@ -564,7 +564,7 @@ Example command lines: -i $inputyuv -frames:v $numframes -c:v h264_qsv -preset $preset -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bitrate_limit 0 -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -572,21 +572,21 @@ Example command lines: -i $inputyuv -vframes $numframes -c:v h264_qsv -preset $preset -profile:v high \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-false} -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v h264_qsv -preset h264_qsv -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bitrate_limit 0 -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v h264_qsv -preset h264_qsv -profile:v high -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-false} -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -682,7 +682,7 @@ Example command lines: -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -691,7 +691,7 @@ Example command lines: -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -699,7 +699,7 @@ Example command lines: -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -707,7 +707,7 @@ Example command lines: -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -792,7 +792,7 @@ Example command lines: -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -bf 7 -refs 4 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -800,21 +800,21 @@ Example command lines: -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-false} -extbrc 1 -bf 7 -refs 4 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-false} -extbrc 1 -bf 7 -refs 4 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-false} -extbrc 1 -bf 7 -refs 4 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -908,7 +908,7 @@ To achieve better quality with Intel GPU AV1 encoder running EncTools BRC we rec -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -917,7 +917,7 @@ To achieve better quality with Intel GPU AV1 encoder running EncTools BRC we rec -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -925,7 +925,7 @@ To achieve better quality with Intel GPU AV1 encoder running EncTools BRC we rec -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \ @@ -933,7 +933,7 @@ To achieve better quality with Intel GPU AV1 encoder running EncTools BRC we rec -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 \ @@ -1015,7 +1015,7 @@ Example command lines: -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (encoding from YUV with ffmpeg-qsv) ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \ @@ -1023,21 +1023,21 @@ Example command lines: -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # CBR (transcoding with ffmpeg-qsv) ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -an -i $input \ -frames:v $numframes -c:v av1_qsv -preset $preset -profile:v main -async_depth 1 \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ -rc_init_occupancy $bitrate -b_strategy 1 -bf 7 -g 256 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output # VBR (encoding from YUV with Sample Multi-Transcode) sample_multi_transcode -i::i420 $inputyuv -hw -async 1 -device ${DEVICE:-/dev/dri/renderD128} \ @@ -1081,14 +1081,14 @@ ffmpeg-x264 -i $inputyuv -vframes $numframes -y \ -c:v libx264 -preset medium -profile:v high \ -b:v $bitrate -bufsize $((2 * bitrate)) -maxrate $((2 * bitrate)) \ - -tune psnr -threads 12 -vsync passthrough $output + -tune psnr -threads 12 -fps_mode passthrough $output # CBR (encoding from YUV) ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -i $inputyuv -vframes $numframes -y \ -c:v libx264 -preset medium -profile:v high \ -b:v $bitrate -x264opts no-sliced-threads:nal-hrd=cbr \ - -tune psnr -threads 12 -vsync passthrough $output + -tune psnr -threads 12 -fps_mode passthrough $output ffmpeg-x265 *********** @@ -1100,14 +1100,14 @@ ffmpeg-x265 -i $inputyuv -vframes $numframes -y \ -c:v libx265 -preset medium \ -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((2 * bitrate)) \ - -tune psnr -threads 12 -vsync passthrough $output + -tune psnr -threads 12 -fps_mode passthrough $output # CBR (encoding from YUV) ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \ -i $inputyuv -vframes $numframes -y \ -c:v libx265 -preset medium \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $((2 * bitrate)) \ - -tune psnr -threads 12 -vsync passthrough $output + -tune psnr -threads 12 -fps_mode passthrough $output Links ----- diff --git a/doc/reference-command-lines.rst b/doc/reference-command-lines.rst index f459d43b..134a1c23 100644 --- a/doc/reference-command-lines.rst +++ b/doc/reference-command-lines.rst @@ -21,7 +21,7 @@ optimized for high quality and performance are given below: -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} \ -look_ahead_depth 8 -extbrc 1 -b_strategy 1 \ -adaptive_i 1 -adaptive_b 1 -bf 7 -refs 5 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output **HEVC/H.265**:: @@ -31,7 +31,7 @@ optimized for high quality and performance are given below: -rc_init_occupancy $((2 * $bitrate)) -low_power ${LOW_POWER:-true} \ -look_ahead_depth 8 -extbrc 1 -b_strategy 1 \ -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output **AV1**:: @@ -40,7 +40,7 @@ optimized for high quality and performance are given below: -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \ -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth 8 -extbrc 1 \ -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output + -fps_mode passthrough -y $output Extra quality boost can be achieved with use of low power look ahead (by setting ``-look_ahead_depth 40`` option) at the expense of a slight performance impact (10-20%). diff --git a/measure/performance/por_FFMPEG_LB.txt b/measure/performance/por_FFMPEG_LB.txt index db4768d5..597ea46b 100644 --- a/measure/performance/por_FFMPEG_LB.txt +++ b/measure/performance/por_FFMPEG_LB.txt @@ -1,23 +1,23 @@ #AV1-AV1 -720p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 1500k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -vsync passthrough -y <>.ivf -report -1080p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 3000k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -vsync passthrough -y <>.ivf -report -2160p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 9000k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -vsync passthrough -y <>.ivf -report +720p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 1500k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -fps_mode passthrough -y <>.ivf -report +1080p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 3000k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -fps_mode passthrough -y <>.ivf -report +2160p_av1-av1: ffmpeg -hwaccel qsv -c:v av1_qsv -i <> -c:v av1_qsv -b:v 9000k -preset <> -profile:v main -g 256 -b_strategy 1 -bf 7 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -fps_mode passthrough -y <>.ivf -report #HEVC-AVC -720p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 1500k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -vsync passthrough -y <>.h264 -report -1080p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 3000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -vsync passthrough -y <>.h264 -report -2160p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 9000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -vsync passthrough -y <>.h264 -report +720p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 1500k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -fps_mode passthrough -y <>.h264 -report +1080p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 3000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -fps_mode passthrough -y <>.h264 -report +2160p_hevc-avc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v h264_qsv -b:v 9000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -fps_mode passthrough -y <>.h264 -report #AVC-AVC -720p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 1500k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -vsync passthrough -y <>.h264 -report -1080p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 3000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -vsync passthrough -y <>.h264 -report -2160p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 9000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -vsync passthrough -y <>.h264 -report +720p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 1500k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -fps_mode passthrough -y <>.h264 -report +1080p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 3000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -fps_mode passthrough -y <>.h264 -report +2160p_avc-avc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v h264_qsv -b:v 9000k -preset <> -profile:v high -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -bitrate_limit 0 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -fps_mode passthrough -y <>.h264 -report #HEVC-HEVC -720p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 1500k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -vsync passthrough -y <>.h265 -report -1080p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 3000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -vsync passthrough -y <>.h265 -report -2160p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 9000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -vsync passthrough -y <>.h265 -report +720p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 1500k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -fps_mode passthrough -y <>.h265 -report +1080p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 3000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -fps_mode passthrough -y <>.h265 -report +2160p_hevc-hevc: ffmpeg -hwaccel qsv -c:v hevc_qsv -i <> -c:v hevc_qsv -b:v 9000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -fps_mode passthrough -y <>.h265 -report #AVC-HEVC -720p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 1500k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -vsync passthrough -y <>.h265 -report -1080p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 3000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -vsync passthrough -y <>.h265 -report -2160p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 9000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -vsync passthrough -y <>.h265 -report +720p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 1500k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 3000k -bufsize 6000k -rc_init_occupancy 3000k -fps_mode passthrough -y <>.h265 -report +1080p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 3000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 6000k -bufsize 12000k -rc_init_occupancy 6000k -fps_mode passthrough -y <>.h265 -report +2160p_avc-hevc: ffmpeg -hwaccel qsv -c:v h264_qsv -i <> -c:v hevc_qsv -b:v 9000k -preset <> -profile:v main -g 256 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -async_depth <> -maxrate 18000k -bufsize 36000k -rc_init_occupancy 18000k -fps_mode passthrough -y <>.h265 -report #DECODE-HEVC decode-hevc: ffmpeg -hwaccel qsv -i <> -f rawvideo -pix_fmt yuv420p -y <>.yuv -report #DECODE-AVC diff --git a/measure/quality/AV1/run_cbr_ffmpeg-qsv-ld.sh b/measure/quality/AV1/run_cbr_ffmpeg-qsv-ld.sh index 978f7625..778469d8 100755 --- a/measure/quality/AV1/run_cbr_ffmpeg-qsv-ld.sh +++ b/measure/quality/AV1/run_cbr_ffmpeg-qsv-ld.sh @@ -80,7 +80,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.ivf) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.ivf) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AV1/run_cbr_ffmpeg-qsv.sh b/measure/quality/AV1/run_cbr_ffmpeg-qsv.sh index 927a22a5..805509d0 100755 --- a/measure/quality/AV1/run_cbr_ffmpeg-qsv.sh +++ b/measure/quality/AV1/run_cbr_ffmpeg-qsv.sh @@ -73,7 +73,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.ivf) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.ivf) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AV1/run_cbr_ffmpeg-ref-ld.sh b/measure/quality/AV1/run_cbr_ffmpeg-ref-ld.sh index f919b7f3..3ad98c36 100755 --- a/measure/quality/AV1/run_cbr_ffmpeg-ref-ld.sh +++ b/measure/quality/AV1/run_cbr_ffmpeg-ref-ld.sh @@ -64,7 +64,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $bufsize -tune zerolatency -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AV1/run_cbr_ffmpeg-ref.sh b/measure/quality/AV1/run_cbr_ffmpeg-ref.sh index 663c4541..1a457e1a 100755 --- a/measure/quality/AV1/run_cbr_ffmpeg-ref.sh +++ b/measure/quality/AV1/run_cbr_ffmpeg-ref.sh @@ -58,7 +58,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $bufsize -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AV1/run_vbr_ffmpeg-qsv.sh b/measure/quality/AV1/run_vbr_ffmpeg-qsv.sh index 34bb0e46..f95e6d5e 100755 --- a/measure/quality/AV1/run_vbr_ffmpeg-qsv.sh +++ b/measure/quality/AV1/run_vbr_ffmpeg-qsv.sh @@ -74,7 +74,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $maxrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.ivf) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.ivf) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AV1/run_vbr_ffmpeg-ref.sh b/measure/quality/AV1/run_vbr_ffmpeg-ref.sh index acce9d15..23d84559 100755 --- a/measure/quality/AV1/run_vbr_ffmpeg-ref.sh +++ b/measure/quality/AV1/run_vbr_ffmpeg-ref.sh @@ -59,7 +59,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -maxrate $maxrate -bufsize $bufsize -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_cbr_ffmpeg-qsv-ld.sh b/measure/quality/AVC/run_cbr_ffmpeg-qsv-ld.sh index 2e7ccb94..b63e6858 100755 --- a/measure/quality/AVC/run_cbr_ffmpeg-qsv-ld.sh +++ b/measure/quality/AVC/run_cbr_ffmpeg-qsv-ld.sh @@ -82,7 +82,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_cbr_ffmpeg-qsv.sh b/measure/quality/AVC/run_cbr_ffmpeg-qsv.sh index 4594283e..88777032 100755 --- a/measure/quality/AVC/run_cbr_ffmpeg-qsv.sh +++ b/measure/quality/AVC/run_cbr_ffmpeg-qsv.sh @@ -81,7 +81,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bitrate_limit 0 \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_cbr_ffmpeg-ref-ld.sh b/measure/quality/AVC/run_cbr_ffmpeg-ref-ld.sh index 808b7793..8b540f56 100755 --- a/measure/quality/AVC/run_cbr_ffmpeg-ref-ld.sh +++ b/measure/quality/AVC/run_cbr_ffmpeg-ref-ld.sh @@ -63,7 +63,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $bufsize -tune zerolatency -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_cbr_ffmpeg-ref.sh b/measure/quality/AVC/run_cbr_ffmpeg-ref.sh index dd670f9b..d7b0f8c7 100755 --- a/measure/quality/AVC/run_cbr_ffmpeg-ref.sh +++ b/measure/quality/AVC/run_cbr_ffmpeg-ref.sh @@ -58,7 +58,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -x264opts no-sliced-threads:nal-hrd=cbr -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_vbr_ffmpeg-qsv.sh b/measure/quality/AVC/run_vbr_ffmpeg-qsv.sh index ba881a98..8215e134 100755 --- a/measure/quality/AVC/run_vbr_ffmpeg-qsv.sh +++ b/measure/quality/AVC/run_vbr_ffmpeg-qsv.sh @@ -82,7 +82,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $maxrate -bitrate_limit 0 \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/AVC/run_vbr_ffmpeg-ref.sh b/measure/quality/AVC/run_vbr_ffmpeg-ref.sh index acce9d15..23d84559 100755 --- a/measure/quality/AVC/run_vbr_ffmpeg-ref.sh +++ b/measure/quality/AVC/run_vbr_ffmpeg-ref.sh @@ -59,7 +59,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx264 $options -b:v $bitrate -maxrate $maxrate -bufsize $bufsize -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h264) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h264) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_cbr_ffmpeg-qsv-ld.sh b/measure/quality/HEVC/run_cbr_ffmpeg-qsv-ld.sh index a2015a46..fd319b03 100755 --- a/measure/quality/HEVC/run_cbr_ffmpeg-qsv-ld.sh +++ b/measure/quality/HEVC/run_cbr_ffmpeg-qsv-ld.sh @@ -82,7 +82,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_cbr_ffmpeg-qsv.sh b/measure/quality/HEVC/run_cbr_ffmpeg-qsv.sh index e3feebbc..287a7214 100755 --- a/measure/quality/HEVC/run_cbr_ffmpeg-qsv.sh +++ b/measure/quality/HEVC/run_cbr_ffmpeg-qsv.sh @@ -81,7 +81,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $bitrate -minrate $bitrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_QSV.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_cbr_ffmpeg-ref-ld.sh b/measure/quality/HEVC/run_cbr_ffmpeg-ref-ld.sh index e1576238..18b7a73a 100755 --- a/measure/quality/HEVC/run_cbr_ffmpeg-ref-ld.sh +++ b/measure/quality/HEVC/run_cbr_ffmpeg-ref-ld.sh @@ -64,7 +64,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx265 $options -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $bufsize -tune zerolatency -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_cbr_ffmpeg-ref.sh b/measure/quality/HEVC/run_cbr_ffmpeg-ref.sh index 386d2967..5f7c7e6d 100755 --- a/measure/quality/HEVC/run_cbr_ffmpeg-ref.sh +++ b/measure/quality/HEVC/run_cbr_ffmpeg-ref.sh @@ -58,7 +58,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx265 $options -b:v $bitrate -maxrate $bitrate -minrate $bitrate -bufsize $bufsize -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_CBR_REF.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_vbr_ffmpeg-qsv.sh b/measure/quality/HEVC/run_vbr_ffmpeg-qsv.sh index d3036fed..4ade085e 100755 --- a/measure/quality/HEVC/run_vbr_ffmpeg-qsv.sh +++ b/measure/quality/HEVC/run_vbr_ffmpeg-qsv.sh @@ -82,7 +82,7 @@ cmd=(ffmpeg $dev -an \ -b:v $bitrate -maxrate $maxrate \ -bufsize $bufsize -rc_init_occupancy $initbuf \ $options \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_QSV.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/measure/quality/HEVC/run_vbr_ffmpeg-ref.sh b/measure/quality/HEVC/run_vbr_ffmpeg-ref.sh index 681fb3c7..fb3137c5 100755 --- a/measure/quality/HEVC/run_vbr_ffmpeg-ref.sh +++ b/measure/quality/HEVC/run_vbr_ffmpeg-ref.sh @@ -59,7 +59,7 @@ vframes="-frames:v $nframes" cmd=(ffmpeg -an \ $rawvideo -i $file $vframes \ -c:v libx265 $options -b:v $bitrate -maxrate $maxrate -bufsize $bufsize -tune psnr -threads 12 \ - -vsync passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h265) + -fps_mode passthrough -y ${prefix}_${bitrate_Mbps}Mbps_VBR_REF.h265) if [ "$dry_run" = "no" ]; then "${cmd[@]}" diff --git a/scripts/ffmpeg-qsv-AV1-1080p.sh b/scripts/ffmpeg-qsv-AV1-1080p.sh index c6812da7..ceb27da1 100755 --- a/scripts/ffmpeg-qsv-AV1-1080p.sh +++ b/scripts/ffmpeg-qsv-AV1-1080p.sh @@ -53,7 +53,7 @@ for ((i=0; i<$nstreams; i++)); do ffmpeg -y -hwaccel qsv -qsv_device $device -c:v av1_qsv -extra_hw_frames 8 -an -i $stream -c:v av1_qsv -preset $preset -vframes 6000 \ -profile:v main -async_depth $async -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) -rc_init_occupancy $((2 * bitrate)) \ -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).av1.qsv.log & + -fps_mode passthrough -y $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).av1.qsv.log & done diff --git a/scripts/ffmpeg-qsv-AV1-4K.sh b/scripts/ffmpeg-qsv-AV1-4K.sh index b9701942..3efe1574 100755 --- a/scripts/ffmpeg-qsv-AV1-4K.sh +++ b/scripts/ffmpeg-qsv-AV1-4K.sh @@ -53,7 +53,7 @@ for ((i=0; i<$nstreams; i++)); do ffmpeg -y -hwaccel qsv -qsv_device $device -c:v av1_qsv -extra_hw_frames 8 -an -i $stream -c:v av1_qsv -preset $preset -vframes 6000 \ -profile:v main -async_depth $async -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) -rc_init_occupancy $((2 * bitrate)) \ -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -adaptive_i 1 -adaptive_b 1 -bf 7 -g 256 -strict -1 \ - -vsync passthrough -y $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).av1.qsv.log & + -fps_mode passthrough -y $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).av1.qsv.log & done diff --git a/scripts/ffmpeg-qsv-AVC-1080p.sh b/scripts/ffmpeg-qsv-AVC-1080p.sh index 52092b05..0c551b7e 100755 --- a/scripts/ffmpeg-qsv-AVC-1080p.sh +++ b/scripts/ffmpeg-qsv-AVC-1080p.sh @@ -53,7 +53,7 @@ for ((i=0; i<$nstreams; i++)); do ffmpeg -y -hwaccel qsv -qsv_device $device -extra_hw_frames 8 -c:v h264_qsv -i $stream -c:v h264_qsv -preset $preset \ -vframes 6000 -profile:v high -async_depth $async -b:v $bitrate -maxrate $((bitrate * 2)) -bufsize $((bitrate * 4)) \ -rc_init_occupancy $((bitrate * 2)) -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 -adaptive_i 1 -adaptive_b 1 \ - -bitrate_limit 0 -strict -1 -vsync passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).avc.qsv.log & + -bitrate_limit 0 -strict -1 -fps_mode passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).avc.qsv.log & done diff --git a/scripts/ffmpeg-qsv-AVC-4K.sh b/scripts/ffmpeg-qsv-AVC-4K.sh index 6fe011a9..b6b859de 100755 --- a/scripts/ffmpeg-qsv-AVC-4K.sh +++ b/scripts/ffmpeg-qsv-AVC-4K.sh @@ -53,7 +53,7 @@ for ((i=0; i<$nstreams; i++)); do ffmpeg -y -hwaccel qsv -qsv_device $device -extra_hw_frames 8 -c:v h264_qsv -i $stream -c:v h264_qsv -preset $preset \ -vframes 6000 -profile:v high -async_depth $async -b:v $bitrate -maxrate $((bitrate * 2)) -bufsize $((bitrate * 4)) \ -rc_init_occupancy $((bitrate * 2)) -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -bf 7 -refs 5 -g 256 -adaptive_i 1 -adaptive_b 1 \ - -bitrate_limit 0 -strict -1 -vsync passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).avc.qsv.log & + -bitrate_limit 0 -strict -1 -fps_mode passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).avc.qsv.log & done diff --git a/scripts/ffmpeg-qsv-HEVC-1080p.sh b/scripts/ffmpeg-qsv-HEVC-1080p.sh index 23451c38..b9a074a1 100755 --- a/scripts/ffmpeg-qsv-HEVC-1080p.sh +++ b/scripts/ffmpeg-qsv-HEVC-1080p.sh @@ -53,7 +53,7 @@ for ((i=0; i<$nstreams; i++)); do ffmpeg -y -hwaccel qsv -qsv_device $device -extra_hw_frames 8 -c:v hevc_qsv -i $stream -c:v hevc_qsv -preset $preset \ -vframes 6000 -profile:v main -async_depth $async -b:v $bitrate -maxrate $((bitrate * 2)) -bufsize $((bitrate * 4)) \ -rc_init_occupancy $((bitrate * 2)) -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -g 256 \ - -idr_interval begin_only -strict -1 -vsync passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).hevc.qsv.log & + -idr_interval begin_only -strict -1 -fps_mode passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).hevc.qsv.log & done diff --git a/scripts/ffmpeg-qsv-HEVC-4K.sh b/scripts/ffmpeg-qsv-HEVC-4K.sh index 50fa6bf2..b33f5552 100755 --- a/scripts/ffmpeg-qsv-HEVC-4K.sh +++ b/scripts/ffmpeg-qsv-HEVC-4K.sh @@ -54,7 +54,7 @@ for ((i=0; i<$nstreams; i++)); do -c:v hevc_qsv -preset $preset -vframes 6000 -profile:v main -async_depth $async -b:v $bitrate \ -maxrate $((bitrate * 2)) -bufsize $((bitrate * 4)) -rc_init_occupancy $((bitrate * 2)) \ -low_power true -look_ahead_depth 8 -extbrc 1 -b_strategy 1 -bf 7 -refs 4 -g 256 -idr_interval begin_only \ - -strict -1 -vsync passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).hevc.qsv.log & + -strict -1 -fps_mode passthrough $output 2>&1 | tee $(basename $stream).${nstreams}.${i}.dev$((i % ndevs)).hevc.qsv.log & done diff --git a/tests/measure-perf.bats b/tests/measure-perf.bats index 0def991a..a0f438a9 100644 --- a/tests/measure-perf.bats +++ b/tests/measure-perf.bats @@ -47,7 +47,7 @@ rawh265="ffmpeg -an -hwaccel qsv -qsv_device $DEVICE \ # prepare raw AV1 stream from an mp4 container rawav1="ffmpeg -hwaccel qsv -qsv_device $DEVICE \ -i /opt/data/embedded/WAR_TRAILER_HiQ_10_withAudio.mp4 -y -vframes 20 \ - -c:v av1_qsv -preset medium -b:v 15M -vsync 0 /tmp/WAR.ivf " + -c:v av1_qsv -preset medium -b:v 15M -fps_mode passthrough /tmp/WAR.ivf " # add mp4 file for mp4 check out submp4="ffmpeg -i \ diff --git a/tests/measure-quality.bats b/tests/measure-quality.bats index e54815c1..8e134296 100644 --- a/tests/measure-quality.bats +++ b/tests/measure-quality.bats @@ -38,7 +38,7 @@ subs="ffmpeg -i \ # convert to 10bit HEVC mp4 getmp4hevc10b="ffmpeg -i WAR.mp4 \ - -pix_fmt p010le -c:v libx265 -preset medium -b:v 15M -vsync passthrough WAR_10bit.mp4" + -pix_fmt p010le -c:v libx265 -preset medium -b:v 15M -fps_mode passthrough WAR_10bit.mp4" @test "measure quality: transcode 50 frames of 10bit mp4 video, calculate metrics, measure bdrate and check measuring artifacts" { run docker_run_opts "--security-opt=no-new-privileges:true -v $(pwd)/tests:/opt/tests" \ @@ -57,7 +57,7 @@ getmp4hevc10b="ffmpeg -i WAR.mp4 \ # convert to yuv420 cyuv="ffmpeg -i WAR.mp4 \ - -c:v rawvideo -pix_fmt yuv420p -vsync passthrough WAR.yuv" + -c:v rawvideo -pix_fmt yuv420p -fps_mode passthrough WAR.yuv" @test "measure quality: encode 5 frames of a user-defined YUV video with AVC" { run docker_run /bin/bash -c "set -ex; $subs; $cyuv; \ @@ -105,7 +105,7 @@ subs2="ffmpeg -i \ # mock ParkScene: convert to yuv cyuv2="ffmpeg -i ParkScene.mp4 -c:v rawvideo -pix_fmt yuv420p \ - -vsync passthrough ParkScene_1280x720_24.yuv" + -fps_mode passthrough ParkScene_1280x720_24.yuv" @test "measure quality: encode 5 frames of a predefined YUV video with AVC" { run docker_run /bin/bash -c "set -ex; $subs2; $cyuv2; \ @@ -129,7 +129,7 @@ cyuv2="ffmpeg -i ParkScene.mp4 -c:v rawvideo -pix_fmt yuv420p \ # mock BalloonFestival: subsample to 1080p cyuv210b="ffmpeg -i /opt/data/embedded/WAR_TRAILER_HiQ_10_withAudio.mp4 -c:v rawvideo -pix_fmt p010le \ - -vframes 240 -vsync passthrough BalloonFestival_1920x1080p_25_10b_pq_709_ct2020_p010le.yuv" + -vframes 240 -fps_mode passthrough BalloonFestival_1920x1080p_25_10b_pq_709_ct2020_p010le.yuv" @test "measure quality: encode 5 frames of a predefined YUV 10bit video with HEVC" { run docker_run_opts "--security-opt=no-new-privileges:true -v $(pwd)/tests:/opt/tests" \ @@ -203,7 +203,7 @@ get264="ffmpeg -i WAR.mp4 -vcodec copy -an WAR.h264" } # get raw HEVC stream from an mp4 container -get265="ffmpeg -i WAR.mp4 -y -vframes 5 -c:v libx265 -preset medium -b:v 15M -vsync 0 WAR.h265" +get265="ffmpeg -i WAR.mp4 -y -vframes 5 -c:v libx265 -preset medium -b:v 15M -fps_mode passthrough WAR.h265" @test "measure quality: transcode 5 frames of a user-defined raw HEVC video stream into AVC stream" { run docker_run /bin/bash -c "set -ex; $subs; $get265; \ @@ -226,7 +226,7 @@ get265="ffmpeg -i WAR.mp4 -y -vframes 5 -c:v libx265 -preset medium -b:v 15M -vs } # get raw HEVC 10bit stream from an mp4 container -get26510b="ffmpeg -i WAR_10bit.mp4 -y -vframes 5 -c:v libx265 -preset medium -b:v 15M -vsync 0 WAR_10bit.h265" +get26510b="ffmpeg -i WAR_10bit.mp4 -y -vframes 5 -c:v libx265 -preset medium -b:v 15M -fps_mode passthrough WAR_10bit.h265" @test "measure quality: transcode 5 frames of a user-defined raw HEVC 10bit video stream into HEVC 10bit stream" { run docker_run_opts "--security-opt=no-new-privileges:true -v $(pwd)/tests:/opt/tests" \ @@ -261,7 +261,7 @@ get26510b="ffmpeg -i WAR_10bit.mp4 -y -vframes 5 -c:v libx265 -preset medium -b: } # get raw AV1 stream from an mp4 container -getav1="ffmpeg -hwaccel qsv -qsv_device $DEVICE -i WAR.mp4 -y -vframes 5 -c:v av1_qsv -preset medium -b:v 15M -vsync 0 WAR.ivf " +getav1="ffmpeg -hwaccel qsv -qsv_device $DEVICE -i WAR.mp4 -y -vframes 5 -c:v av1_qsv -preset medium -b:v 15M -fps_mode passthrough WAR.ivf " @test "measure quality: transcode 5 frames of a user-defined raw AV1 video stream into AV1 stream" { run docker_run_opts "--security-opt=no-new-privileges:true -v $(pwd)/tests:/opt/tests" \ @@ -339,7 +339,7 @@ getav1="ffmpeg -hwaccel qsv -qsv_device $DEVICE -i WAR.mp4 -y -vframes 5 -c:v av # get 10bit yuv from mp4 cyuv10b="ffmpeg -i WAR.mp4 \ - -c:v rawvideo -pix_fmt p010le -vsync passthrough WAR_10bit.yuv" + -c:v rawvideo -pix_fmt p010le -fps_mode passthrough WAR_10bit.yuv" @test "measure quality: encode 5 frames of a YUV 10bit video with HEVC encTools" { run docker_run_opts "--security-opt=no-new-privileges:true -v $(pwd)/tests:/opt/tests" \