Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#8748 closed defect (invalid)

ffmpeg doesn't pass recent x265 options (--tune=animation ; --frame-dup) when encoding

Reported by: loic Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Some recent x265 options like frame-dup and tune=animation are not passed to the libx265 library when encoding, even when passed as key=value after -x265-params. I checked that when using an older tune option (by replacing animation=1 with psnr=1 or ssim=1) that option gets applied properly, as well as any common option.

How to reproduce:

ffmpeg -i input.mkv -map 0:v:0 -c:v libx265 -x265-params "frame-dup=1:animation=1" output.mkv

The output is identical to :

ffmpeg -i input.mkv -map 0:v:0 -c:v libx265 output.mkv

and to:

ffmpeg -i input.mkv -map 0:v:0 -c:v libx265 -x265-params "frame-dup=0:animation=0" output.mkv

ffmpeg builds tested:

ffmpeg version N-53260-ga37109d555-static from https://johnvansickle.com/ffmpeg/
built with gcc 8 (Debian 8.3.0-6) for the amd64 architecture

The problem occurs with the latest Git as well as release 4.3, and with the static Windows amd64 builds (Git) from https://ffmpeg.zeranoe.com/builds/

The resulting videos all have the same options applied as a default encode:

cpuid=1111039 / frame-threads=5 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=6 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=1 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=28.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=255 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0

Change History (3)

comment:1 by James, 4 years ago

Resolution: invalid
Status: newclosed

Running those command lines i get

[libx265 @ 0000018dbddbebc0] Unknown option: animation

and

x265 [warning]: Frame-duplication require NAL HRD and VBV parameters. Disabling frame duplication

So that would be why the output is the same with them as without them.

comment:2 by pdr0, 4 years ago

tune animation gets applied outside of -x265-params as just -tune animation

comment:3 by Carl Eugen Hoyos, 4 years ago

Component: ffmpegundetermined
Keywords: x265 libx265 options animation tune frame-dup removed
Note: See TracTickets for help on using tickets.