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

TADANO Tokumei aimingoff at pc.nifty.jp
Mon Jul 29 02:14:59 EEST 2024


On 2024/07/29 1:30, 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.
> As message shows, it seems the error is not related to this patch but OpenCL library.

I found I have to add `gopromax_opencl_filter_deps="opencl"` in configure file.
I'll amend the patch later.

>> [...]
>>
>>
>> _______________________________________________
>> 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".
> _______________________________________________
> 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