Skip to content

Latest commit

 

History

History
# Trying to test what HDR looks like in a browser, and what
# the tonemapping looks like - https://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BT.2390-12-2025-PDF-E.pdf



# Firstly we convert the test image, which should have a "Bad Image" in full rec2020 red, and a background which should be a rec709 red. I think the resulting image should be just red when tonemapped properly.

ffmpeg -y -i hdr_test_chart_v3_pq.tif -c:v libx265 -crf 18 -pix_fmt yuv420p10le -c:v libx265 -crf 18 -pix_fmt yuv420p10le -x265-params " \
    colorprim=bt2020: \
    transfer=smpte2084: \
    colormatrix=bt2020nc: \
    master-display=G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,1): \
    max-cll=2000,50 " \
    -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc  -movflags faststart -tag:v hvc1 output_hdr10.mp4

ffmpeg -y -i hdr_test_chart_v3_pq.tif -c:v libx265 -crf 18 -pix_fmt yuv420p10le \-c:v libx265 -crf 18 -pix_fmt yuv420p10le -x265-params " \
    colorprim=bt2020: \
    transfer=smpte2084: \
    colormatrix=bt2020nc: \
    master-display=G(15000,30000)B(7500,3000)R(32000,16500)WP(15635,16450)L(1000000,1): \
    max-cll=100,50 \
" -movflags faststart -tag:v hvc1 output_hdr10_rec709.mp4

ffmpeg -y -i hdr_test_chart_v3_pq.tif -c:v libx265 -crf 18 -pix_fmt yuv420p10le \-c:v libx265 -crf 18 -pix_fmt yuv420p10le -x265-params " \
    colorprim=bt2020: \
    transfer=smpte2084: \
    colormatrix=bt2020nc: \
    master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1):max-cll=2000,400 " -movflags faststart -tag:v hvc1 output_hdr10_p3.mp4

# Trying to tonemap with zscale
ffmpeg -y -i output_hdr10_rec709.mp4 -vf "zscale=t=linear:npl=100,tonemap=tonemap=hable:desat=0,zscale=p=bt709:t=bt709:m=bt709:r=tv,format=yuv420p10le" -color_primaries bt709 -color_trc bt709 -colorspace bt709 -c:v libx265 -crf 18 -preset medium -c:a copy -tag:v hvc1 output_srgb.mov

# Trying to tonemap with libplacebo, which needs vulkan
#ffmpeg -y -i output_hdr10_rec709.mp4 -vf "libplacebo=tonemapping=bt.2390:color_primaries=bt709:color_trc=bt709:colorspace=bt709" -color_primaries bt709 -color_trc bt709 -colorspace bt709 -c:v libx265 -crf 18 -preset medium -c:a copy output_srgb.mp4


ffmpeg -y -i gamut_test_chart_v2_rec2020.tif -c:v libx265 -crf 18 -pix_fmt yuv420p10le -c:v libx265 -crf 18 -pix_fmt yuv420p10le -x265-params " \
    colorprim=bt2020: \
    transfer=bt709: \
    colormatrix=bt2020nc " \
    -color_primaries bt2020 -color_trc bt709 -colorspace bt2020nc  -movflags faststart -tag:v hvc1 output_gamut.mp4