[FFmpeg-devel] [PATCH v4 1/2] lavfi: add opencl tonemap filter.
Mark Thompson
sw at jkqxz.net
Tue Jul 3 01:33:09 EEST 2018
On 21/06/18 07:03, Song, Ruiling wrote:
>> -----Original Message-----
>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of
>> Mark Thompson
>> Sent: Thursday, June 21, 2018 8:33 AM
>> To: ffmpeg-devel at 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 at 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.song at 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!
More information about the ffmpeg-devel
mailing list