Opened 8 years ago

Closed 8 years ago

Last modified 4 years ago

#5321 closed defect (invalid)

strange SSIM and PSNR

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

Description

thank you for good app.

can't get correct SSIM and PSNR under mkv lossless, mp4 one without audio, raw one which are made with ffmpeg.

the results of mp4 are gotten even in other lossless codecs or file formats.

i don't understand whether causes are demux or SSIM and PSNR.

source from https://www.youtube.com/watch?v=xEbMxYuuOM8
http://speedy.sh/yc3tZ/test.flv

encoded file
http://speedy.sh/xJQD8/libx264-without-a.mkv
http://speedy.sh/ueBNF/libx264.mkv
http://speedy.sh/QXrkp/libx264.mp4
http://speedy.sh/z2ynq/libx264-without-a.mp4
http://speedy.sh/5su3c/libx264-without-a.h264

How to reproduce:

 ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0 -an libx264_without_a.mkv
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
[libx264 @ 0x7fdda180ae00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fdda180ae00] profile High 4:4:4 Predictive, level 2.1, 4:2:0 8-bit
[libx264 @ 0x7fdda180ae00] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, matroska, to 'libx264_without_a.mkv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 426x240, q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 4068 fps=381 q=-1.0 Lsize=   53903kB time=00:02:15.77 bitrate=3252.4kbits/s speed=12.7x    
video:53872kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.058454%
[libx264 @ 0x7fdda180ae00] frame I:37    Avg QP: 0.00  size: 18927
[libx264 @ 0x7fdda180ae00] frame P:4031  Avg QP: 0.00  size: 13511
[libx264 @ 0x7fdda180ae00] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 0x7fdda180ae00] mb P  I16..4:  4.7%  0.0%  6.3%  P16..4: 26.8%  5.1% 10.1%  0.0%  0.0%    skip:47.0%
[libx264 @ 0x7fdda180ae00] 8x8 transform intra:0.0% inter:54.1%
[libx264 @ 0x7fdda180ae00] coded y,uvDC,uvAC intra: 88.1% 65.9% 65.2% inter: 25.6% 27.0% 26.9%
[libx264 @ 0x7fdda180ae00] i16 v,h,dc,p: 34% 64%  2%  0%
[libx264 @ 0x7fdda180ae00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 41%  4%  1%  2%  1%  1%  1%  1%
[libx264 @ 0x7fdda180ae00] i8c dc,h,v,p: 22% 48% 29%  0%
[libx264 @ 0x7fdda180ae00] Weighted P-Frames: Y:6.0% UV:3.9%
[libx264 @ 0x7fdda180ae00] ref P L0: 87.1%  6.5%  5.6%  0.8%  0.0%
[libx264 @ 0x7fdda180ae00] kb/s:3251.26

 ffmpeg -y -i test.flv  -i libx264_without_a.mkv -lavfi  "ssim;[0:v][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, matroska,webm, from 'libx264_without_a.mkv':
  Metadata:
    CANSEEKONTIME   : true
    STARTTIME       : 0
    TOTALDURATION   : 136
    TOTALDATARATE   : 340
    BYTELENGTH      : 5780639
    ENCODER         : Lavf57.28.100
  Duration: 00:02:15.77, start: 0.033000, bitrate: 3252 kb/s
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, SAR 1:1 DAR 71:40, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libx264
      DURATION        : 00:02:15.769000000
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> ssim:main (graph 0)
  Stream #0:0 (flv) -> psnr:main (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1654 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=55.2x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_ssim_0 @ 0x7fcd69e00000] SSIM Y:0.969070 (15.096131) U:0.994469 (22.571879) V:0.994201 (22.366746) All:0.977491 (16.476515)
[Parsed_psnr_1 @ 0x7fcd69e004a0] PSNR y:29.204098 u:42.070730 v:40.228806 average:30.791282 min:6.083989 max:inf

 ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0  libx264.mkv
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
[libx264 @ 0x7f862a014800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7f862a014800] profile High 4:4:4 Predictive, level 2.1, 4:2:0 8-bit
[libx264 @ 0x7f862a014800] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, matroska, to 'libx264.mkv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 426x240, q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 22050 Hz, stereo, fltp
    Metadata:
      encoder         : Lavc57.28.100 libvorbis
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
frame= 4068 fps=363 q=-1.0 Lsize=   54868kB time=00:02:15.91 bitrate=3307.1kbits/s speed=12.1x    
video:53872kB audio:919kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 0.141451%
[libx264 @ 0x7f862a014800] frame I:37    Avg QP: 0.00  size: 18927
[libx264 @ 0x7f862a014800] frame P:4031  Avg QP: 0.00  size: 13511
[libx264 @ 0x7f862a014800] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 0x7f862a014800] mb P  I16..4:  4.7%  0.0%  6.3%  P16..4: 26.8%  5.1% 10.1%  0.0%  0.0%    skip:47.0%
[libx264 @ 0x7f862a014800] 8x8 transform intra:0.0% inter:54.1%
[libx264 @ 0x7f862a014800] coded y,uvDC,uvAC intra: 88.1% 65.9% 65.2% inter: 25.6% 27.0% 26.9%
[libx264 @ 0x7f862a014800] i16 v,h,dc,p: 34% 64%  2%  0%
[libx264 @ 0x7f862a014800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 41%  4%  1%  2%  1%  1%  1%  1%
[libx264 @ 0x7f862a014800] i8c dc,h,v,p: 22% 48% 29%  0%
[libx264 @ 0x7f862a014800] Weighted P-Frames: Y:6.0% UV:3.9%
[libx264 @ 0x7f862a014800] ref P L0: 87.1%  6.5%  5.6%  0.8%  0.0%
[libx264 @ 0x7f862a014800] kb/s:3251.26

 ffmpeg -y -i test.flv  -i libx264.mkv -lavfi  "ssim;[0:v][1:v]psnr" -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, matroska,webm, from 'libx264.mkv':
  Metadata:
    CANSEEKONTIME   : true
    STARTTIME       : 0
    TOTALDURATION   : 136
    TOTALDATARATE   : 340
    BYTELENGTH      : 5780639
    ENCODER         : Lavf57.28.100
  Duration: 00:02:15.93, start: 0.000000, bitrate: 3306 kb/s
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, SAR 1:1 DAR 71:40, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libx264
      DURATION        : 00:02:15.781000000
    Stream #1:1: Audio: vorbis, 22050 Hz, stereo, fltp (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libvorbis
      DURATION        : 00:02:15.927000000
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> ssim:main (graph 0)
  Stream #0:0 (flv) -> psnr:main (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1703 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.9x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_ssim_0 @ 0x7fd3c3f00000] SSIM Y:0.951360 (13.130029) U:0.991438 (20.674209) V:0.991157 (20.533778) All:0.964672 (14.518832)
[Parsed_psnr_1 @ 0x7fd3c3f004e0] PSNR y:27.101447 u:39.462946 v:38.873184 average:28.695057 min:6.083989 max:inf

 ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0  -an libx264_without_a.mp4
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
[libx264 @ 0x7fbd4b814200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fbd4b814200] profile High 4:4:4 Predictive, level 2.1, 4:2:0 8-bit
[libx264 @ 0x7fbd4b814200] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to 'libx264_without_a.mp4':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 426x240, q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 4069 fps=382 q=-1.0 Lsize=   53889kB time=00:02:15.76 bitrate=3251.5kbits/s dup=1 drop=0 speed=12.7x    
video:53871kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.032710%
[libx264 @ 0x7fbd4b814200] frame I:37    Avg QP: 0.00  size: 18927
[libx264 @ 0x7fbd4b814200] frame P:4032  Avg QP: 0.00  size: 13508
[libx264 @ 0x7fbd4b814200] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 0x7fbd4b814200] mb P  I16..4:  4.7%  0.0%  6.3%  P16..4: 26.8%  5.1% 10.1%  0.0%  0.0%    skip:47.0%
[libx264 @ 0x7fbd4b814200] 8x8 transform intra:0.0% inter:54.1%
[libx264 @ 0x7fbd4b814200] coded y,uvDC,uvAC intra: 88.2% 66.0% 65.3% inter: 25.6% 27.0% 26.9%
[libx264 @ 0x7fbd4b814200] i16 v,h,dc,p: 34% 64%  2%  0%
[libx264 @ 0x7fbd4b814200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 41%  4%  1%  2%  1%  1%  1%  1%
[libx264 @ 0x7fbd4b814200] i8c dc,h,v,p: 22% 48% 29%  0%
[libx264 @ 0x7fbd4b814200] Weighted P-Frames: Y:6.0% UV:3.9%
[libx264 @ 0x7fbd4b814200] ref P L0: 87.1%  6.5%  5.6%  0.8%  0.0%
[libx264 @ 0x7fbd4b814200] kb/s:3250.43

 ffmpeg -y -i test.flv  -i libx264_without_a.mp4 -lavfi  "ssim;[0:v][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'libx264_without_a.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100
  Duration: 00:02:15.77, start: 0.000000, bitrate: 3251 kb/s
    Stream #1:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 426x240, 3250 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> ssim:main (graph 0)
  Stream #0:0 (flv) -> psnr:main (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1574 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=52.6x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_ssim_0 @ 0x7fae08d07240] SSIM Y:1.000000 (nan) U:1.000000 (inf) V:1.000000 (inf) All:1.000000 (nan)
[Parsed_psnr_1 @ 0x7fae08d07660] PSNR y:inf u:inf v:inf average:inf min:inf max:inf

 ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0  libx264.mp4
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
[libx264 @ 0x7fb700814200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fb700814200] profile High 4:4:4 Predictive, level 2.1, 4:2:0 8-bit
[libx264 @ 0x7fb700814200] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to 'libx264.mp4':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 426x240, q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 22050 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc57.28.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 4069 fps=364 q=-1.0 Lsize=   56128kB time=00:02:15.92 bitrate=3382.6kbits/s dup=1 drop=0 speed=12.1x    
video:53871kB audio:2178kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.139955%
[libx264 @ 0x7fb700814200] frame I:37    Avg QP: 0.00  size: 18927
[libx264 @ 0x7fb700814200] frame P:4032  Avg QP: 0.00  size: 13508
[libx264 @ 0x7fb700814200] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 0x7fb700814200] mb P  I16..4:  4.7%  0.0%  6.3%  P16..4: 26.8%  5.1% 10.1%  0.0%  0.0%    skip:47.0%
[libx264 @ 0x7fb700814200] 8x8 transform intra:0.0% inter:54.1%
[libx264 @ 0x7fb700814200] coded y,uvDC,uvAC intra: 88.2% 66.0% 65.3% inter: 25.6% 27.0% 26.9%
[libx264 @ 0x7fb700814200] i16 v,h,dc,p: 34% 64%  2%  0%
[libx264 @ 0x7fb700814200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 41%  4%  1%  2%  1%  1%  1%  1%
[libx264 @ 0x7fb700814200] i8c dc,h,v,p: 22% 48% 29%  0%
[libx264 @ 0x7fb700814200] Weighted P-Frames: Y:6.0% UV:3.9%
[libx264 @ 0x7fb700814200] ref P L0: 87.1%  6.5%  5.6%  0.8%  0.0%
[libx264 @ 0x7fb700814200] kb/s:3250.43
[aac @ 0x7fb700815400] Qavg: 929.466

 ffmpeg -y -i test.flv  -i libx264.mp4 -lavfi  "ssim;[0:v][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'libx264.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100
  Duration: 00:02:15.96, start: 0.046440, bitrate: 3381 kb/s
    Stream #1:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 426x240, 3250 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 131 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> ssim:main (graph 0)
  Stream #0:0 (flv) -> psnr:main (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1687 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.4x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_ssim_0 @ 0x7fcda3d00000] SSIM Y:0.919152 (10.923282) U:0.984412 (18.072199) V:0.983766 (17.895847) All:0.940798 (12.276600)
[Parsed_psnr_1 @ 0x7fcda3d004e0] PSNR y:24.092341 u:36.334121 v:35.685455 average:25.681305 min:6.083289 max:inf

 ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0  -an libx264_without_a.h264
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
[libx264 @ 0x7fde5b814200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fde5b814200] profile High 4:4:4 Predictive, level 2.1, 4:2:0 8-bit
Output #0, h264, to 'libx264_without_a.h264':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 426x240, q=-1--1, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 4069 fps=369 q=-1.0 Lsize=   53872kB time=00:02:15.76 bitrate=3250.5kbits/s dup=1 drop=0 speed=12.3x    
video:53872kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
[libx264 @ 0x7fde5b814200] frame I:37    Avg QP: 0.00  size: 18976
[libx264 @ 0x7fde5b814200] frame P:4032  Avg QP: 0.00  size: 13508
[libx264 @ 0x7fde5b814200] mb I  I16..4: 58.1%  0.0% 41.9%
[libx264 @ 0x7fde5b814200] mb P  I16..4:  4.7%  0.0%  6.3%  P16..4: 26.8%  5.1% 10.1%  0.0%  0.0%    skip:47.0%
[libx264 @ 0x7fde5b814200] 8x8 transform intra:0.0% inter:54.1%
[libx264 @ 0x7fde5b814200] coded y,uvDC,uvAC intra: 88.2% 66.0% 65.3% inter: 25.6% 27.0% 26.9%
[libx264 @ 0x7fde5b814200] i16 v,h,dc,p: 34% 64%  2%  0%
[libx264 @ 0x7fde5b814200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 41%  4%  1%  2%  1%  1%  1%  1%
[libx264 @ 0x7fde5b814200] i8c dc,h,v,p: 22% 48% 29%  0%
[libx264 @ 0x7fde5b814200] Weighted P-Frames: Y:6.0% UV:3.9%
[libx264 @ 0x7fde5b814200] ref P L0: 87.1%  6.5%  5.6%  0.8%  0.0%
[libx264 @ 0x7fde5b814200] kb/s:3250.54

 ffmpeg -y -i test.flv  -i libx264_without_a.h264 -lavfi  "ssim;[0:v][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, h264, from 'libx264_without_a.h264':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> ssim:main (graph 0)
  Stream #0:0 (flv) -> psnr:main (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1664 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=55.6x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_ssim_0 @ 0x7fa9535018e0] SSIM Y:0.951372 (13.131097) U:0.991440 (20.675277) V:0.991159 (20.534846) All:0.964681 (14.519899)
[Parsed_psnr_1 @ 0x7fa953508e00] PSNR y:27.102515 u:39.464014 v:38.874252 average:28.696125 min:6.083989 max:inf

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (5)

comment:1 by ponpon, 8 years ago

correction
not "can't get correct SSIM and PSNR under mkv lossless, mp4 one without audio, raw one which are made with ffmpeg."
but "can't get correct SSIM and PSNR under mkv lossless, mp4 one with audio, raw one which are made with ffmpeg."

comment:2 by Elon Musk, 8 years ago

Resolution: invalid
Status: newclosed

Use "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr".

Your first input pts does not start from 0.

comment:3 by Carl Eugen Hoyos, 8 years ago

Component: ffmpegundetermined

comment:4 by ponpon, 8 years ago

thank you for your reply.
i tested "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr". And i got the correct result only in mkv without audio.

previous test
good: mp4 without audio
bad: mkv without audio, mkv with audio, mp4 with audio, h264

present test
good: mkv without audio
bad: mkv with audio, mp4 without audio, mp4 with audio, h264

i don't understand whether these are normal.

ffmpeg -y -i test.flv  -i libx264_without_a.mkv -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, matroska,webm, from 'libx264_without_a.mkv':
  Metadata:
    CANSEEKONTIME   : true
    STARTTIME       : 0
    TOTALDURATION   : 136
    TOTALDATARATE   : 340
    BYTELENGTH      : 5780639
    ENCODER         : Lavf57.28.100
  Duration: 00:02:15.77, start: 0.033000, bitrate: 3252 kb/s
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, SAR 1:1 DAR 71:40, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libx264
      DURATION        : 00:02:15.769000000
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> setpts (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1697 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.7x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_psnr_3 @ 0x7f9900700d80] PSNR y:inf u:inf v:inf average:inf min:inf max:inf
[Parsed_ssim_2 @ 0x7f9900700960] SSIM Y:1.000000 (inf) U:1.000000 (inf) V:1.000000 (inf) All:1.000000 (inf)

ffmpeg -y -i test.flv  -i libx264.mkv -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr" -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, matroska,webm, from 'libx264.mkv':
  Metadata:
    CANSEEKONTIME   : true
    STARTTIME       : 0
    TOTALDURATION   : 136
    TOTALDATARATE   : 340
    BYTELENGTH      : 5780639
    ENCODER         : Lavf57.28.100
  Duration: 00:02:15.93, start: 0.000000, bitrate: 3306 kb/s
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, SAR 1:1 DAR 71:40, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libx264
      DURATION        : 00:02:15.781000000
    Stream #1:1: Audio: vorbis, 22050 Hz, stereo, fltp (default)
    Metadata:
      ENCODER         : Lavc57.28.100 libvorbis
      DURATION        : 00:02:15.927000000
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> setpts (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1689 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.4x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_psnr_3 @ 0x7f83c2500d60] PSNR y:24.091316 u:36.333058 v:35.684405 average:25.680279 min:6.083289 max:inf
[Parsed_ssim_2 @ 0x7f83c2500940] SSIM Y:0.919136 (10.922455) U:0.984409 (18.071169) V:0.983763 (17.894852) All:0.940786 (12.275757)

ffmpeg -y -i test.flv -c:v libx264 -x264opts qp=0  -an libx264_without_a.mp4
cd "/Users/m/Downloads/2016-03-10/"
ffmpeg -y -i test.flv  -i libx264_without_a.mp4 -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr"  -f null - 
ffmpeg -y -i test.flv  -i libx264_without_a.mp4 -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'libx264_without_a.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100
  Duration: 00:02:15.77, start: 0.000000, bitrate: 3251 kb/s
    Stream #1:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 426x240, 3250 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> setpts (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1684 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.2x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_psnr_3 @ 0x7ffe8a700d80] PSNR y:27.102515 u:39.464014 v:38.874252 average:28.696125 min:6.083989 max:inf
[Parsed_ssim_2 @ 0x7ffe8a700960] SSIM Y:0.951372 (13.131097) U:0.991440 (20.675277) V:0.991159 (20.534846) All:0.964681 (14.519899)

ffmpeg -y -i test.flv  -i libx264.mp4 -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'libx264.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100
  Duration: 00:02:15.96, start: 0.046440, bitrate: 3381 kb/s
    Stream #1:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 426x240, 3250 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 131 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> setpts (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1709 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=57.1x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_psnr_3 @ 0x7f9203600d80] PSNR y:22.417777 u:34.467720 v:33.790665 average:24.000120 min:6.083333 max:inf
[Parsed_ssim_2 @ 0x7f9203600960] SSIM Y:0.896930 (9.868672) U:0.978251 (16.625703) V:0.977157 (16.412444) All:0.923855 (11.183568)

ffmpeg -y -i test.flv  -i libx264_without_a.h264 -lavfi  "setpts=PTS-STARTPTS,split=2[a][b],[a][1:v]ssim;[b][1:v]psnr"  -f null - 
ffmpeg version N-78980-ga008a7c Copyright (c) 2000-2016 the FFmpeg developers
  built with clang version 3.7.0 (tags/RELEASE_370/final)
  configuration: --prefix=/sw --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --cc=clang-mp-3.7 --cxx=clang++-mp-3.7 --optflags=-Ofast --target-os=darwin --arch=x86_64 --cpu=corei7-avx --enable-avresample --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libfdk-aac --enable-libschroedinger --enable-libmodplug --enable-libxvid --enable-libopus --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfribidi --enable-libsmbclient --enable-libopenjpeg --enable-libfreetype --enable-openssl --enable-libass --enable-libbluray --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libx264 --enable-librtmp --enable-libx265 --enable-opencl --enable-libzimg --enable-libvidstab --enable-libsoxr --enable-gcrypt --enable-gmp --enable-libdc1394 --enable-libcaca --enable-libcdio
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, flv, from 'test.flv':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
  Duration: 00:02:15.74, start: 0.000000, bitrate: 340 kb/s
    Stream #0:0: Video: flv1, yuv420p, 426x240, 274 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 65 kb/s
Input #1, h264, from 'libx264_without_a.h264':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: h264 (High 4:4:4 Predictive), yuv420p, 426x240, 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc
Output #0, null, to 'pipe:':
  Metadata:
    starttime       : 0
    totalduration   : 136
    totaldatarate   : 340
    bytelength      : 5780639
    canseekontime   : true
    encoder         : Lavf57.28.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:1: Video: wrapped_avframe, yuv420p, 426x240, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.28.100 wrapped_avframe
    Stream #0:2: Audio: pcm_s16le, 22050 Hz, stereo, s16, 705 kb/s
    Metadata:
      encoder         : Lavc57.28.100 pcm_s16le
Stream mapping:
  Stream #0:0 (flv) -> setpts (graph 0)
  Stream #1:0 (h264) -> ssim:reference (graph 0)
  Stream #1:0 (h264) -> psnr:reference (graph 0)
  ssim (graph 0) -> Stream #0:0 (wrapped_avframe)
  psnr (graph 0) -> Stream #0:1 (wrapped_avframe)
  Stream #0:1 -> #0:2 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 4068 fps=1678 q=-0.0 Lq=-0.0 size=N/A time=00:02:15.91 bitrate=N/A speed=56.1x    
video:3877kB audio:11707kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_psnr_3 @ 0x7fc111d02320] PSNR y:24.093409 u:36.335188 v:35.686523 average:25.682373 min:6.083289 max:inf
[Parsed_ssim_2 @ 0x7fc111d01ee0] SSIM Y:0.919171 (10.924350) U:0.984416 (18.073267) V:0.983770 (17.896915) All:0.940812 (12.277668)
}}}'

comment:5 by Elon Musk, 4 years ago

You also need to use settb to set both inputs to same timebase, and do that before using setpts filters.

Note: See TracTickets for help on using tickets.