[FFmpeg-user] how to resolve “Impossible to convert between the formats supported by the filter”, in yadif to opencl

hydra3333 at gmail.com hydra3333 at gmail.com
Mon Nov 27 09:05:09 EET 2017


Hello.  I have an issue with using yadif and OpenCL (opencl with the latest
git updates) in combination.

Using the latest ffmpeg master built as at 2017.11.26, I'm having trouble
deciphering what the error messages means and, more importantly, what to do
about them.

Changing from -vf to -filter_complex did nothing (I had to try). The main
error message seems to be
"Impossible to convert between the formats supported by the filter "

I have tried to insert "format=" and "scale" before/between/after yadif and
unsharp_opencl but to no avail.

I wonder, could it be something to do with needing hwupload/hwdownload/hwmap
or is that a red herring ?

What am I doing wrong ?  Advice welcomed.

".\ffmpeg_3.latest_master.exe" -hide_banner -v verbose -init_hw_device
opencl=ocl:1.0 -filter_hw_device ocl -i
".\test_01.mpg" -an -map_metadata -1 -sws_flags
lanczos+accurate_rnd+full_chroma_int+full_chroma_inp -filter_complex
"[0:v]yadif=0:0:0,scale=flags=lanczos+accurate_rnd+full_chroma_int+full_chroma_inp,unsharp_opencl=lx=3:ly=3:la=0.5:cx=3:cy=3:ca=0.5,setdar=dar=16/9"
-r 25 -c:v h264_nvenc -preset slow -bf 2 -g 50 -refs 3 -rc:v
vbr_hq -rc-lookahead:v 32 -cq 22 -qmin 16 -qmax 25 -coder cabac -movflags
+faststart -profile:v high -level 4.1 -pixel_format yuv420p -y
".\test_01.newest.MP4"
[AVHWDeviceContext @ 0000020e229aad40] 1.0: NVIDIA CUDA / GeForce GTX 750 Ti
[AVHWDeviceContext @ 0000020e229aad40] DXVA2 to OpenCL mapping function
found (clCreateFromDX9MediaSurfaceKHR).
[AVHWDeviceContext @ 0000020e229aad40] DXVA2 in OpenCL acquire function
found (clEnqueueAcquireDX9MediaSurfacesKHR).
[AVHWDeviceContext @ 0000020e229aad40] DXVA2 in OpenCL release function
found (clEnqueueReleaseDX9MediaSurfacesKHR).
[AVHWDeviceContext @ 0000020e229aad40] The cl_khr_d3d11_sharing extension is
required for D3D11 to OpenCL mapping.
[AVHWDeviceContext @ 0000020e229aad40] D3D11 to OpenCL mapping not usable.
[mpeg @ 0000020e229ae240] max_analyze_duration 5000000 reached at 5000000
microseconds st:0
Input #0, mpeg, from '.\test_01.mpg':
  Duration: 00:06:29.96, start: 0.240000, bitrate: 2799 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), 1 reference frame,
yuv420p(tv, top first, left), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr,
90k tbn, 50 tbc
    Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s
[Parsed_scale_1 @ 0000020e29951a20] w:iw h:ih
flags:'lanczos+accurate_rnd+full_chroma_int+full_chroma_inp' interl:0
Stream mapping:
  Stream #0:0 (mpeg2video) -> yadif
  setdar -> Stream #0:0 (h264_nvenc)
Press [q] to stop, [?] for help
[Parsed_scale_1 @ 0000020e29cccda0] w:iw h:ih
flags:'lanczos+accurate_rnd+full_chroma_int+full_chroma_inp' interl:0
[graph 0 input from stream 0:0 @ 0000020e29ccc980] w:720 h:576
pixfmt:yuv420p tb:1/90000 fr:25/1 sar:64/45 sws_param:flags=2
[auto_scaler_0 @ 0000020e29ccc580] w:iw h:ih flags:'bilinear' interl:0
[Parsed_unsharp_opencl_2 @ 0000020e29ccc4a0] auto-inserting filter
'auto_scaler_0' between the filter 'Parsed_scale_1' and the filter
'Parsed_unsharp_opencl_2'
Impossible to convert between the formats supported by the filter
'Parsed_scale_1' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
Conversion failed!



More information about the ffmpeg-user mailing list