[FFmpeg-devel] [PATCH v2 1/1] lavfi/vf_gopromax_opencl: add GoPor Max 360 video filter

TADANO Tokumei aimingoff at pc.nifty.jp
Wed Jul 31 17:45:29 EEST 2024


On 2024/07/31 5:44, Michael Niedermayer wrote:
> On Mon, Jul 29, 2024 at 01:30:34AM +0900, TADANO Tokumei wrote:
>> On 2024/07/28 18:26, Michael Niedermayer wrote:
>>> On Sun, Jul 28, 2024 at 01:42:09AM +0900, TADANO Tokumei wrote:
>>>>
>>>> On 2024/07/27 13:30, TADANO Tokumei wrote:
>>>>> Add an OpenCL filter for filtering GoPro Max native .360 files
>>>>> into standard equirectangular or youtube equiangular cubemap (eac)
>>>>> projection.
>>>>>
>>>>> The .360 file contains separated two video streams.
>>>>> This filter combine two streams into single stream with standard
>>>>> format.
>>>>> ---
>>>>>     doc/filters.texi                 |  78 +++++++
>>>>>     libavfilter/Makefile             |   2 +
>>>>>     libavfilter/allfilters.c         |   1 +
>>>>>     libavfilter/opencl/gopromax.cl   | 280 ++++++++++++++++++++++++
>>>>>     libavfilter/opencl_source.h      |   1 +
>>>>>     libavfilter/vf_gopromax_opencl.c | 351 +++++++++++++++++++++++++++++++
>>>>>     6 files changed, 713 insertions(+)
>>>>>     create mode 100644 libavfilter/opencl/gopromax.cl
>>>>>     create mode 100644 libavfilter/vf_gopromax_opencl.c
>>>>
>>>> The patchwork failed, but it was caused by opencl.c (not by this patch):
>>>>
>>>> 	In file included from ./libavutil/common.h:48:0,
>>>>                    from ./libavutil/avutil.h:301,
>>>>                    from ./libavutil/opt.h:31,
>>>>                    from libavdevice/sdl2.c:31:
>>>> ./config.h:335:0: warning: 'HAVE_PTHREAD_SETNAME_NP' redefined
>>>>    #define HAVE_PTHREAD_SETNAME_NP 0
>>>> In file included from /usr/include/SDL2/SDL_stdinc.h:31:0,
>>>>                    from /usr/include/SDL2/SDL_main.h:25,
>>>>                    from /usr/include/SDL2/SDL.h:32,
>>>>                    from libavdevice/sdl2.c:26:
>>>> /usr/include/SDL2/SDL_config.h:186:0: note: this is the location of the previous definition
>>>>    #define HAVE_PTHREAD_SETNAME_NP 1
>>>> In file included from libavfilter/opencl.h:31:0,
>>>>                    from libavfilter/opencl.c:26:
>>>> ./libavutil/hwcontext_opencl.h:25:10: fatal error: CL/cl.h: No such file or directory
>>>>    #include
>>>>             ^~~~~~~~~
>>>> compilation terminated.
>>>> make: *** [libavfilter/opencl.o] Error 1
>>>
>>> with this patch it fails here on ubuntu:
>>> /usr/bin/ld: libavfilter/libavfilter.a(opencl.o): undefined reference to symbol 'clBuildProgram@@OPENCL_1.0'
>>> /usr/bin/ld: /usr/local/cuda/targets/x86_64-linux/lib/libOpenCL.so.1: error adding symbols: DSO missing from command line
>>>
>>> thx
>>
>> I tested on Ubuntu 22.04, and it works fine.
> 
> My failure was on a 20.04
> 
> thx

Did you try v3 patch?
Anyway, your OpenCL library seems to be Nvidia's proprietary one.
I'm not sure, but I guess the library has some incompatibility like:
https://github.com/OpenKinect/libfreenect2/issues/804#issuecomment-286515571

> [...]
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list