On 21/06/18 07:03, Song, Ruiling wrote: >> -----Original Message----- >> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of >> Mark Thompson >> Sent: Thursday, June 21, 2018 8:33 AM >> To: ffmpeg-devel@ffmpeg.org >> Subject: Re: [FFmpeg-devel] [PATCH v4 1/2] lavfi: add opencl tonemap filter. >> >> On 19/06/18 02:57, Ruiling Song wrote: >>> This filter does HDR(HDR10/HLG) to SDR conversion with tone-mapping. >>> >>> An example command to use this filter with vaapi codecs: >>> FFMPEG -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device \ >>> opencl=ocl@va -hwaccel vaapi -hwaccel_device va -hwaccel_output_format \ >>> vaapi -i INPUT -filter_hw_device ocl -filter_complex \ >>> '[0:v]hwmap,tonemap_opencl=t=bt2020:tonemap=linear:format=p010[x1]; \ >>> [x1]hwmap=derive_device=vaapi:reverse=1' -c:v hevc_vaapi -profile 2 >> OUTPUT >>> >>> Signed-off-by: Ruiling Song <ruiling.s...@intel.com> >>> --- >>> As I didn't receive any other comment on v3, this version only fix the >>> comment >> from Michael. >>> And also include some little change to leverage CL_SET_KERNEL_ARG() macro. >>> >>> Thanks! >>> Ruiling >>> >>> configure | 1 + >>> libavfilter/Makefile | 2 + >>> libavfilter/allfilters.c | 1 + >>> libavfilter/colorspace.c | 90 +++++ >>> libavfilter/colorspace.h | 41 +++ >>> libavfilter/opencl/colorspace_common.cl | 220 +++++++++++ >>> libavfilter/opencl/tonemap.cl | 272 ++++++++++++++ >>> libavfilter/opencl_source.h | 2 + >>> libavfilter/vf_tonemap_opencl.c | 624 >> ++++++++++++++++++++++++++++++++ >>> 9 files changed, 1253 insertions(+) >>> create mode 100644 libavfilter/colorspace.c >>> create mode 100644 libavfilter/colorspace.h >>> create mode 100644 libavfilter/opencl/colorspace_common.cl >>> create mode 100644 libavfilter/opencl/tonemap.cl >>> create mode 100644 libavfilter/vf_tonemap_opencl.c >> >> I did a bit more testing, LGTM; therefore applied. >> >> Some further thoughts: >> * Did you get anywhere with testing on other platforms? (I'm happy with the >> current state with it working on at least two different platforms including >> the >> actually-useful GPU-with-interop ones, but it would be nice to know what was >> going wrong in the other cases.) > So, this version with segfault fix still does not work on Mali platform, same > error as before?
Complete log below, running on a RK3288 with Mali T760. (The input file here is from <http://4kmedia.org/lg-new-york-hdr-uhd-4k-demo/>, but it doesn't appear to matter.) Thanks, - Mark ffmpeg started on 2018-07-02 at 22:27:59 Report written to "ffmpeg-20180702-222759.log" Command line: ./ffmpeg_g -report -v 55 -y -threads 1 -i "/home/mrt/test/LG New York HDR UHD 4K Demo.ts" -init_hw_device opencl -filter_hw_device opencl0 -an -vf "format=p010,hwupload,tonemap_opencl=format=nv12,hwdownload,format=nv12" -c:v libx264 out.mp4 ffmpeg version N-91405-g54b425a7fa Copyright (c) 2000-2018 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --enable-debug --enable-opencl --enable-libdrm --enable-rkmpp --enable-gpl --enable-version3 --enable-libx264 --extra-ldflags='-L/usr/local/lib -lmali-midgard-r13p0-fbdev' libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 20.104 / 58. 20.104 libavformat 58. 17.101 / 58. 17.101 libavdevice 58. 4.101 / 58. 4.101 libavfilter 7. 25.100 / 7. 25.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-v' ... matched as option 'v' (set logging level) with argument '55'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-threads' ... matched as AVOption 'threads' with argument '1'. Reading option '-i' ... matched as input url with argument '/home/mrt/test/LG New York HDR UHD 4K Demo.ts'. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl'. Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'opencl0'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'format=p010,hwupload,tonemap_opencl=format=nv12,hwdownload,format=nv12'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'. Reading option 'out.mp4' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Applying option v (set logging level) with argument 55. Applying option y (overwrite output files) with argument 1. Applying option init_hw_device (initialise hardware device) with argument opencl. [AVHWDeviceContext @ 0x828e42b0] 1 OpenCL platforms found. [AVHWDeviceContext @ 0x828e42b0] 1 OpenCL devices found on platform "ARM Platform". [AVHWDeviceContext @ 0x828e42b0] 0.0: ARM Platform / Mali-T760 [AVHWDeviceContext @ 0x828e42b0] cl_arm_import_memory found as platform extension. [AVHWDeviceContext @ 0x828e42b0] cl_khr_image2d_from_buffer found as platform extension. Applying option filter_hw_device (set hardware device used when filtering) with argument opencl0. Successfully parsed a group of options. Parsing a group of options: input url /home/mrt/test/LG New York HDR UHD 4K Demo.ts. Successfully parsed a group of options. Opening an input file: /home/mrt/test/LG New York HDR UHD 4K Demo.ts. [NULL @ 0x82936f70] Opening '/home/mrt/test/LG New York HDR UHD 4K Demo.ts' for reading [file @ 0x82937760] Setting default whitelist 'file,crypto' [mpegts @ 0x82936f70] Format mpegts probed with size=2048 and score=50 [mpegts @ 0x82936f70] stream=0 stream_type=24 pid=101 prog_reg_desc= [mpegts @ 0x82936f70] stream=1 stream_type=f pid=102 prog_reg_desc= [mpegts @ 0x82936f70] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:2 [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding VPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding SPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding VUI [hevc @ 0x8293b490] Decoding PPS [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 5 [hevc @ 0x8293b490] Decoding SEI [AVBSFContext @ 0x829c6100] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [AVBSFContext @ 0x829c6100] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding VPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding SPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding VUI [hevc @ 0x8293b490] Decoding PPS [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 5 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Format yuv420p10le chosen by get_format(). [hevc @ 0x8293b490] Mastering Display Metadata: [hevc @ 0x8293b490] r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) [hevc @ 0x8293b490] min_luminance=0.050000, max_luminance=1200.000000 [hevc @ 0x8293b490] Output frame with POC 0. [hevc @ 0x8293b490] Decoded frame with POC 0. [hevc @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding VPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding SPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding VUI [hevc @ 0x8293b490] Decoding PPS [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding VPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding SPS [hevc @ 0x8293b490] Main 10 profile bitstream [hevc @ 0x8293b490] Decoding VUI [hevc @ 0x8293b490] Decoding PPS [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 6 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] Skipped PREFIX SEI 5 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [hevc @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x8293b490] Decoding SEI [mpegts @ 0x82936f70] Probe buffer size limit of 5000000 bytes reached [mpegts @ 0x82936f70] start time for stream 1 is not set in estimate_timings_from_pts [mpegts @ 0x82936f70] probing stream 1 pp:2500 [mpegts @ 0x82936f70] Probe with size=1688, packets=1 detected aac with score=25 [mpegts @ 0x82936f70] probed stream 1 [mpegts @ 0x82936f70] stream 1 : no TS found at start of file, duration not set [mpegts @ 0x82936f70] Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x82936f70] After avformat_find_stream_info() pos: 0 bytes read:29676400 seeks:8 frames:18 Input #0, mpegts, from '/home/mrt/test/LG New York HDR UHD 4K Demo.ts': Duration: 00:01:12.24, start: 0.999989, bitrate: 52032 kb/s Program 1 Stream #0:0[0x101], 18, 1/90000: Video: hevc (Main 10), 1 reference frame ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 0/1, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:1[0x102](und), 0, 1/90000: Audio: aac ([15][0][0][0] / 0x000F), 0 channels Successfully opened the file. Parsing a group of options: output url out.mp4. Applying option an (disable audio) with argument 1. Applying option vf (set video filters) with argument format=p010,hwupload,tonemap_opencl=format=nv12,hwdownload,format=nv12. Applying option c:v (codec name) with argument libx264. Successfully parsed a group of options. Opening an output file: out.mp4. [file @ 0x82961e10] Setting default whitelist 'file,crypto' Successfully opened the file. [hevc @ 0x82960f30] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] Decoding VPS [hevc @ 0x82960f30] Main 10 profile bitstream [hevc @ 0x82960f30] Decoding SPS [hevc @ 0x82960f30] Main 10 profile bitstream [hevc @ 0x82960f30] Decoding VUI [hevc @ 0x82960f30] Decoding PPS Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264)) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) [NULL @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] Decoding VPS [NULL @ 0x8293b490] Main 10 profile bitstream [NULL @ 0x8293b490] Decoding SPS [NULL @ 0x8293b490] Main 10 profile bitstream [NULL @ 0x8293b490] Decoding VUI [NULL @ 0x8293b490] Decoding PPS [NULL @ 0x8293b490] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [NULL @ 0x8293b490] Decoding VPS [NULL @ 0x8293b490] Main 10 profile bitstream [NULL @ 0x8293b490] Decoding SPS [NULL @ 0x8293b490] Main 10 profile bitstream [NULL @ 0x8293b490] Decoding VUI [NULL @ 0x8293b490] Decoding PPS [NULL @ 0x8293b490] Decoding SEI [NULL @ 0x8293b490] Decoding SEI [NULL @ 0x8293b490] Skipped PREFIX SEI 0 [NULL @ 0x8293b490] Decoding SEI [NULL @ 0x8293b490] Decoding SEI [NULL @ 0x8293b490] Skipped PREFIX SEI 5 [NULL @ 0x8293b490] Decoding SEI [hevc @ 0x82960f30] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] nal_unit_type: 38(FD_NUT), nuh_layer_id: 0, temporal_id: 0 [hevc @ 0x82960f30] Decoding VPS [hevc @ 0x82960f30] Main 10 profile bitstream [hevc @ 0x82960f30] Decoding SPS [hevc @ 0x82960f30] Main 10 profile bitstream [hevc @ 0x82960f30] Decoding VUI [hevc @ 0x82960f30] Decoding PPS [hevc @ 0x82960f30] Decoding SEI [hevc @ 0x82960f30] Decoding SEI [hevc @ 0x82960f30] Skipped PREFIX SEI 0 [hevc @ 0x82960f30] Decoding SEI [hevc @ 0x82960f30] Decoding SEI [hevc @ 0x82960f30] Skipped PREFIX SEI 5 [hevc @ 0x82960f30] Decoding SEI [hevc @ 0x82960f30] Format yuv420p10le chosen by get_format(). [hevc @ 0x82960f30] Mastering Display Metadata: [hevc @ 0x82960f30] r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) [hevc @ 0x82960f30] min_luminance=0.050000, max_luminance=1200.000000 [hevc @ 0x82960f30] Output frame with POC 0. [hevc @ 0x82960f30] Decoded frame with POC 0. detected 4 logical cores [Parsed_format_0 @ 0x829b7ee0] Setting 'pix_fmts' to value 'p010' [Parsed_tonemap_opencl_2 @ 0x829b8460] Setting 'format' to value 'nv12' [Parsed_format_4 @ 0x829b8d00] Setting 'pix_fmts' to value 'nv12' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'video_size' to value '3840x2160' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'pix_fmt' to value '64' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'time_base' to value '1/90000' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x829b92c0] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0x829b92c0] w:3840 h:2160 pixfmt:yuv420p10le tb:1/90000 fr:25/1 sar:1/1 sws_param:flags=2 [format @ 0x8295b990] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21' [AVHWDeviceContext @ 0x828e42b0] Maximum supported image size 65536x65536. [AVHWDeviceContext @ 0x828e42b0] Format yuv420p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv422p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv444p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv410p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv411p supported. [AVHWDeviceContext @ 0x828e42b0] Format gray supported. [AVHWDeviceContext @ 0x828e42b0] Format yuvj420p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuvj422p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuvj444p supported. [AVHWDeviceContext @ 0x828e42b0] Format nv12 supported. [AVHWDeviceContext @ 0x828e42b0] Format nv21 supported. [AVHWDeviceContext @ 0x828e42b0] Format argb supported. [AVHWDeviceContext @ 0x828e42b0] Format rgba supported. [AVHWDeviceContext @ 0x828e42b0] Format abgr supported. [AVHWDeviceContext @ 0x828e42b0] Format bgra supported. [AVHWDeviceContext @ 0x828e42b0] Format gray16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv440p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuvj440p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva420p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv420p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv422p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuv444p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format ya8 supported. [AVHWDeviceContext @ 0x828e42b0] Format gbrp supported. [AVHWDeviceContext @ 0x828e42b0] Format gbrp16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva422p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva444p supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva420p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva422p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuva444p16le supported. [AVHWDeviceContext @ 0x828e42b0] Format nv16 supported. [AVHWDeviceContext @ 0x828e42b0] Format rgba64le supported. [AVHWDeviceContext @ 0x828e42b0] Format bgra64le supported. [AVHWDeviceContext @ 0x828e42b0] Format ya16le supported. [AVHWDeviceContext @ 0x828e42b0] Format gbrap supported. [AVHWDeviceContext @ 0x828e42b0] Format gbrap16le supported. [AVHWDeviceContext @ 0x828e42b0] Format yuvj411p supported. [AVHWDeviceContext @ 0x828e42b0] Format ayuv64le supported. [AVHWDeviceContext @ 0x828e42b0] Format p010le supported. [AVHWDeviceContext @ 0x828e42b0] Format p016le supported. [auto_scaler_0 @ 0x829b9d60] Setting 'flags' to value 'bicubic' [auto_scaler_0 @ 0x829b9d60] w:iw h:ih flags:'bicubic' interl:0 [Parsed_format_0 @ 0x829b7ee0] auto-inserting filter 'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_format_0' [AVFilterGraph @ 0x829c8440] query_formats: 8 queried, 6 merged, 1 already done, 0 delayed [auto_scaler_0 @ 0x829b9d60] w:3840 h:2160 fmt:yuv420p10le sar:1/1 -> w:3840 h:2160 fmt:p010le sar:1/1 flags:0x4 [hwupload @ 0x8295ff20] Surface format is p010le. [tonemap_opencl @ 0x829b84d0] Filter input: opencl, 3840x2160 (0). [tonemap_opencl @ 0x829b84d0] tone mapping transfer from smpte2084 to bt709 [tonemap_opencl @ 0x829b84d0] mapping colorspace from bt2020nc to bt2020nc [tonemap_opencl @ 0x829b84d0] mapping primaries from bt2020 to bt2020 [tonemap_opencl @ 0x829b84d0] mapping range from tv to tv [Parsed_tonemap_opencl_2 @ 0x829b8460] Generated OpenCL header: __constant const float tone_param = 1.0000f; __constant const float desat_param = 0.5000f; __constant const float target_peak = 1.0000f; __constant const float sdr_avg = 0.2500f; __constant const float scene_threshold = 0.2000f; #define TONE_FUNC direct #define DETECTION_FRAMES 63 #define chroma_loc 0 #define RGB2RGB_PASSTHROUGH #define rgb_matrix yuv2rgb_bt2020 #define yuv_matrix rgb2yuv_bt2020 constant float3 luma_src = {0.2627f, 0.6780f, 0.0593f}; constant float3 luma_dst = {0.2627f, 0.6780f, 0.0593f}; #define linearize eotf_st2084 #define delinearize inverse_eotf_bt1886 [Parsed_tonemap_opencl_2 @ 0x829b8460] Failed to enqueue kernel: -5. Error while filtering: Input/output error Failed to inject frame into filter network: Input/output error Error while processing the decoded data for stream #0:0 [AVIOContext @ 0x8295f1d0] Statistics: 0 seeks, 0 writeouts [AVIOContext @ 0x8293f8b0] Statistics: 30167920 bytes read, 8 seeks Conversion failed! _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel