2pass + qpfile -> specified frame type ... not compatible with keyframe interval

Issue #67 resolved
Selur created an issue

calling:

mencoder -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TestClips&Co\DVDs\ElephantsDream\VIDEO_TS" dvd://1 | x265 --input - --input-res 720x576 --fps 25 --frames 15900 --no-open-gop --pass 1 --bitrate 1185 --qpfile "H:\Temp\DVD_new_14_17_48_6910_01.qp" --colormatrix bt470bg --stats "H:\Temp\DVD_new_14_17_48_6910_02.stats" --output NUL

creates the attached files,

running:

mencoder -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TestClips&Co\DVDs\ElephantsDream\VIDEO_TS" dvd://1 | x265 --input - --input-res 720x576 --fps 25 --frames 15900 --no-open-gop --pass 2 --bitrate 1185 --qpfile "H:\Temp\DVD_new_14_17_48_6910_01.qp" --colormatrix bt470bg --stats "H:\Temp\DVD_new_14_17_48_6910_02.stats" --output "H:\Temp\DVD_new_14_17_48_6910_03.265"

crashes with:

x265 [info]: Main profile, Level-3 (Main tier) x265 [info]: CU size : 64 x265 [info]: Max RQT depth inter / intra : 1 / 1 x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2 x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40 x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2 x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 3 x265 [info]: Rate Control / AQ-Strength / CUTree : ABR-1185 kbps / 1.0 / 1 x265 [info]: tools: rd=3 lft sao-lcu signhide stats-read x265 [warning]: specified frame type (4) at 7270 is not compatible with keyframe interval x265 [error]: slice=P but 2pass stats say B [45.7%] 7269/15900 frames, 53.08 fps, 1224.74 kb/s, eta 0:02:42

when not using the qp-file and calling:

mencoder -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TestClips&Co\DVDs\ElephantsDream\VIDEO_TS" dvd://1 | x265 --input - --input-res 720x576 --fps 25 --frames 15900 --no-open-gop --pass 1 --bitrate 1185 --colormatrix bt470bg --stats "H:\Temp\DVD_new_14_17_48_6910_02.stats" --output NUL

and

mencoder -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TestClips&Co\DVDs\ElephantsDream\VIDEO_TS" dvd://1 | x265 --input - --input-res 720x576 --fps 25 --frames 15900 --no-open-gop --pass 2 --bitrate 1185 --colormatrix bt470bg --stats "H:\Temp\DVD_new_14_17_48_6910_02.stats" --output "H:\Temp\DVD_new_14_17_48_6910_03.265" the encodes works without a problem.

-> seems like 2pass encoding doesn't work with a qpfile

Comments (5)

  1. Aarthi Thirumalai

    fixed. only the first pass has to read from qpfile to write the slicetype /qp. the other passes should be directly setting those values from stats file only.

  2. Steve Borho

    the second pass will ignore the QP file, if present (as currently implemented)

    I was discussing this on IRC and this is currently not how x264 handles the combination of qpfile and multi-pass. On the second pass the slice-type from the QP file is ignored but the slice QP is still respected, allowing the user to over-ride the smoothing of the 2nd pass for individual frames

  3. Log in to comment