[x264-devel] Poor coding efficiency with ARM asm enabled
林镇安
linzhenan at kuaishou.com
Mon Dec 26 15:22:07 CET 2016
Dear experts,
I compared the coding efficiency of x264, and only to find ~20% loss with ARM asm enabled when using CRF/ABR. I want to know what is the cause?
Seq: Foreman, 352x288
RC: CQP / CRF / ABR
x86 platform:Mac OS
ARM platform:OPPO R7s (NDK-build)
The encoding command line as follows:
CQP:--threads 1 --lookahead-thread 1 --tune psnr --psnr --preset medium --keyint 60 --fps 30 --qp <QP> --bframes 0 --b-adapt 0 --scenecut 0 --weightp 1 --rc-lookahead=20 -o <OUTPUT> <INPU>
CRF: --threads 1 --lookahead-thread 1 --tune psnr --psnr --preset medium --keyint 60 --fps 30 --crf <CRF> --bframes 0 --b-adapt 0 --scenecut 0 --weightp 1 --rc-lookahead=20 -o <OUTPUT> <INPUT>
ABR: --threads 1 --lookahead-thread 1 --tune psnr --psnr --preset medium --keyint 60 --fps 30 --bitrate <BITRATE> --bframes 0 --b-adapt 0 --scenecut 0 --weightp 1 --rc-lookahead=20 -o <OUTPUT> <INPUT>
Group1: configure x264 as —disabled-asm (C code only), run on x86 / ARM platform respectively, the bitstreams are identical.
Group2: configure x264 as —disabled-asm (C code only) and —enabled-asm (asm code enabled) respectively, run on ARM platform, ~20% loss when using CRF/ABR.(Why?)
Group3: configure x264 as —disabled-asm (C code only) and —enabled-asm (asm code enabled) respectively, run on x86 Platform, the bitstreams have slight differences.(Cased by difference float point precision?)
Reference Tested BD-Rate
Bitrate PSNR Bitrate PSNR
Foreman QP 22 1219.91 41.73 1219.91 41.73 0.0%
27 540.06 38.44 540.06 38.44
Ref: 32 251.10 35.40 251.10 35.40
x264_mac_c 37 132.00 32.73 132.00 32.73
CRF 18 1586.15 42.79 1586.15 42.79 0.0%
Tested: 23 703.55 39.54 703.55 39.54
x264_ndk_c 28 318.79 36.49 318.79 36.49
33 157.80 33.69 157.80 33.69
ABR 300 305.63 36.22 305.63 36.22 0.0%
500 526.42 38.34 526.42 38.34
700 750.71 39.72 750.71 39.72
900 972.14 40.74 972.14 40.74
Foreman QP 22 1219.91 41.73 1219.91 41.73 0.0%
27 540.06 38.44 540.06 38.44
Ref: 32 251.10 35.40 251.10 35.40
x264_ndk_c 37 132.00 32.73 132.00 32.73
CRF 18 1586.15 42.79 1098.41 40.64 22.1%
Tested: 23 703.55 39.54 511.86 37.53
x264_ndk 28 318.79 36.49 247.83 34.65
33 157.80 33.69 129.00 32.07
ABR 300 305.63 36.22 307.83 35.33 23.1%
500 526.42 38.34 522.58 37.48
700 750.71 39.72 738.25 38.84
900 972.14 40.74 955.22 39.97
Foreman QP 22 1219.91 41.73 1220.85 41.73 -0.2%
27 540.06 38.44 539.48 38.44
Ref: 32 251.10 35.40 250.64 35.42
x264_mac_c 37 132.00 32.73 131.56 32.72
CRF 18 1586.15 42.79 1586.08 42.79 0.1%
Tested: 23 703.55 39.54 703.27 39.54
x264_mac 28 318.79 36.49 319.34 36.49
33 157.80 33.69 158.12 33.68
ABR 300 305.63 36.22 305.91 36.23 -0.1%
500 526.42 38.34 526.46 38.35
700 750.71 39.72 750.58 39.72
900 972.14 40.74 970.81 40.73
Thanks,
Zhenan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20161226/575847f4/attachment-0001.html>
More information about the x264-devel
mailing list