Jim Worrall wrote:

It seems ffmpeg swscale/png honors the 709 for the master.

testing -

ffmpeg -i in.mkv -vframes 1  frame1-master.png

ffmpeg -i in.mkv -vframes 1  -vcodec rawvideo -f rawvideo frame1-master.yuv

ffmpeg -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i frame1-master.yuv 
frame1-yuv.png

and frame1-yuv.png is darker than frame1-master.png

do

ffmpeg -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i frame1-master.yuv -vf 
scale=in_color_matrix=bt709  frame1-yuv-709.png

and frame1-yuv-709.png visually (but not md5sum) matches frame1-master.png

I’m not sure if you’ve already done this, or you’re predicting.
In any case, you’re not going to like the result.
frame1-yuv-709.png is actually intermediate in darkness to the other two,
but closer to frame1-yuv.png.

Strange, unless there is something in the pngs that causes a different viewer to produce different output.

I looked again (display from ancient imagemagic) and can't see any difference - psnr/ssim agree.

The pngs are not the same md5sum wise

md5sum frame1-yuv-709.png frame1-master.png
1c086ed015ebe05aa1cfc66d9fe754a3  frame1-yuv-709.png
91ab580b1db4361fcceadaffd24930bd  frame1-master.png

below 709 compared to master followed by "default" vs master.

ffmpeg -i frame1-yuv-709.png -i frame1-master.png -lavfi "ssim;[0:v][1:v]psnr" -f null - ffmpeg version N-77624-gf00e12e Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl --enable-libvpx --enable-libschroedinger --enable-libx265 --enable-libdcadec --enable-libmp3lame --enable-libfdk-aac --enable-nonfree --enable-libx264
  libavutil      55. 12.100 / 55. 12.100
  libavcodec     57. 21.100 / 57. 21.100
  libavformat    57. 21.100 / 57. 21.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 22.100 /  6. 22.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, png_pipe, from 'frame1-yuv-709.png':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 1920x1080, 25 tbr, 25 tbn, 25 tbc
Input #1, png_pipe, from 'frame1-master.png':
  Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgb24(pc), 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.21.100
Stream #0:0: Video: wrapped_avframe, gbrp, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.21.100 wrapped_avframe
Stream #0:1: Video: wrapped_avframe, gbrp, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.21.100 wrapped_avframe
Stream mapping:
  Stream #0:0 (png) -> ssim:main
  Stream #0:0 (png) -> psnr:main
  Stream #1:0 (png) -> ssim:reference
  Stream #1:0 (png) -> psnr:reference
  ssim -> Stream #0:0 (wrapped_avframe)
  psnr -> Stream #0:1 (wrapped_avframe)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=-0.0 Lq=-0.0 size=N/A time=00:00:00.04 bitrate=N/A speed=0.201x video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [Parsed_ssim_0 @ 0x1f93340] SSIM R:1.000000 (inf) G:1.000000 (inf) B:1.000000 (inf) All:1.000000 (inf) [Parsed_psnr_1 @ 0x1f9f280] PSNR r:inf g:inf b:inf average:inf min:inf max:inf


ffmpeg -i frame1-yuv.png -i frame1-master.png -lavfi "ssim;[0:v][1:v]psnr" -f null - ffmpeg version N-77624-gf00e12e Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl --enable-libvpx --enable-libschroedinger --enable-libx265 --enable-libdcadec --enable-libmp3lame --enable-libfdk-aac --enable-nonfree --enable-libx264
  libavutil      55. 12.100 / 55. 12.100
  libavcodec     57. 21.100 / 57. 21.100
  libavformat    57. 21.100 / 57. 21.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 22.100 /  6. 22.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, png_pipe, from 'frame1-yuv.png':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 1920x1080, 25 tbr, 25 tbn, 25 tbc
Input #1, png_pipe, from 'frame1-master.png':
  Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgb24(pc), 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.21.100
Stream #0:0: Video: wrapped_avframe, gbrp, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.21.100 wrapped_avframe
Stream #0:1: Video: wrapped_avframe, gbrp, 1920x1080, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.21.100 wrapped_avframe
Stream mapping:
  Stream #0:0 (png) -> ssim:main
  Stream #0:0 (png) -> psnr:main
  Stream #1:0 (png) -> ssim:reference
  Stream #1:0 (png) -> psnr:reference
  ssim -> Stream #0:0 (wrapped_avframe)
  psnr -> Stream #0:1 (wrapped_avframe)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=-0.0 Lq=-0.0 size=N/A time=00:00:00.04 bitrate=N/A speed=0.224x video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [Parsed_ssim_0 @ 0x20778a0] SSIM R:0.998602 (28.543734) G:0.958310 (13.799701) B:0.999853 (38.334318) All:0.985588 (18.412869) [Parsed_psnr_1 @ 0x20781a0] PSNR r:45.156870 g:45.088679 b:51.539840 average:46.414348 min:46.414348 max:46.414348

_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to