* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter [not found] ` <ab5eb27d-1f49-0a53-7308-ee41fa8632c5@gmail.com> @ 2024-06-25 12:37 ` Dennis Mungai 2024-06-25 13:06 ` Paul B Mahol 0 siblings, 1 reply; 8+ messages in thread From: Dennis Mungai @ 2024-06-25 12:37 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: > On 6/27/2020 7:54 AM, Paul B Mahol wrote: > > On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >> On 6/26/2020 4:16 PM, Lynne wrote: > >>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > >>> > >>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > >>>> > >>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >>>>> > >>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > >>>>>> > >>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>> > >>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>>> > >>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > >>>>>>>>> --- > >>>>>>>>> Please test it and reports benchmark results on non toyish GPUs. > >>>>>>>>> > >>>>>>>> > >>>>>>>> Please, I really need it! > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> Why nobody wants to help? > >>>>>>> > >>>>>>> This makes me really really sad. > >>>>>>> > >>>>>> > >>>>>> I can try. Can you give an example command line with a publicly > >>>>>> available sample? > >>>>>> > >>>>> > >>>>> You can use any sample, samples are irrelevant. just report > resolution > >>>>> used. > >>>>> Also compare with CPU solution with just v360 filter. > >>>>> > >>>>> For yuv420p inputs: > >>>>> > >>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device > vulkan > >>>>> -vf > >>>>> > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > >>>>> -f null - > >>>>> > >>>>> ffmpeg -i INPUT -vf > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 > >>>>> -f null - > >>>>> > >>>>> Just make sure that you get same output resolution in both cases. If > >>>>> not, adjust w/h accordingly. > >>>>> > >>>> > >>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't know if > >>>> it's your filter or some issue in the driver. gdb is not being > helpful. > >>>> _______________________________________________ > >>>> ffmpeg-devel mailing list > >>>> ffmpeg-devel@ffmpeg.org > >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >>>> > >>>> To unsubscribe, visit link above, or email > >>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > >>>> > >>> > >>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > >>> optional_device_exts > >>> with EXT_NO_FLAG? > >> > >> Applying > >> > >>> diff --git a/libavutil/hwcontext_vulkan.c > b/libavutil/hwcontext_vulkan.c > >>> index 5e51d0390f..49fb7827ba 100644 > >>> --- a/libavutil/hwcontext_vulkan.c > >>> +++ b/libavutil/hwcontext_vulkan.c > >>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > optional_device_exts[] > >>> = { > >>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > >>> EXT_EXTERNAL_DMABUF_MEMORY, }, > >>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > >>> EXT_DRM_MODIFIER_FLAGS, }, > >>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > >>> EXT_EXTERNAL_FD_SEM, }, > >>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>> EXT_EXTERNAL_HOST_MEMORY, }, > >>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>> EXT_NO_FLAG, }, > >>> }; > >>> > >>> /* Converts return values to strings */ > >> > >> I still get a segfault: > >> > >>> Thread 1 received signal SIGSEGV, Segmentation fault. > >>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > >>> from > >>> > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > >> > >> Debug output shows > >> > >>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > >>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > (discrete) > >>> (0x2184) > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 (total > queues: > >>> 16) for graphics > >>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) > >>> (compute) (transfers) (sparse) > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 (total > queues: > >>> 8) for compute > >>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > >>> (transfers) (sparse) > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 (total > queues: > >>> 2) for transfers > >>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) > >>> (sparse) > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>> "VK_EXT_external_memory_host" > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>> VK_EXT_external_memory_host > >>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX 1660 > >>> [AVHWDeviceContext @ 000001532a762800] Alignments: > >>> [AVHWDeviceContext @ 000001532a762800] > >>> optimalBufferCopyRowPitchAlignment: 1 > >>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: > >>> 64 > >> > >> And crashes right after printing: > >> > >>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute linked! > >>> Size: 5508 bytes > >> > >> I'm using the latest driver, 451.48, on Windows 10 2004. > > > > So other vulkan filters, like vulkan_chromaber works for you? > > All fail the same way in vkGetInstanceProcAddr, so the issue is in > hwcontext. > > Lynne should be able to test/bench this filter. > Hello Paul, et al, Any updates on this filter? _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-06-25 12:37 ` [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter Dennis Mungai @ 2024-06-25 13:06 ` Paul B Mahol 2024-06-25 13:16 ` Dennis Mungai 0 siblings, 1 reply; 8+ messages in thread From: Paul B Mahol @ 2024-06-25 13:06 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> wrote: > On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: > > > On 6/27/2020 7:54 AM, Paul B Mahol wrote: > > > On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > >> On 6/26/2020 4:16 PM, Lynne wrote: > > >>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > > >>> > > >>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > > >>>> > > >>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > >>>>> > > >>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > > >>>>>> > > >>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > > >>>>>>> > > >>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > > >>>>>>>> > > >>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > > >>>>>>>>> --- > > >>>>>>>>> Please test it and reports benchmark results on non toyish > GPUs. > > >>>>>>>>> > > >>>>>>>> > > >>>>>>>> Please, I really need it! > > >>>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> Why nobody wants to help? > > >>>>>>> > > >>>>>>> This makes me really really sad. > > >>>>>>> > > >>>>>> > > >>>>>> I can try. Can you give an example command line with a publicly > > >>>>>> available sample? > > >>>>>> > > >>>>> > > >>>>> You can use any sample, samples are irrelevant. just report > > resolution > > >>>>> used. > > >>>>> Also compare with CPU solution with just v360 filter. > > >>>>> > > >>>>> For yuv420p inputs: > > >>>>> > > >>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device > > vulkan > > >>>>> -vf > > >>>>> > > > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > > >>>>> -f null - > > >>>>> > > >>>>> ffmpeg -i INPUT -vf > > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 > > >>>>> -f null - > > >>>>> > > >>>>> Just make sure that you get same output resolution in both cases. > If > > >>>>> not, adjust w/h accordingly. > > >>>>> > > >>>> > > >>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't know if > > >>>> it's your filter or some issue in the driver. gdb is not being > > helpful. > > >>>> _______________________________________________ > > >>>> ffmpeg-devel mailing list > > >>>> ffmpeg-devel@ffmpeg.org > > >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > >>>> > > >>>> To unsubscribe, visit link above, or email > > >>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > > >>>> > > >>> > > >>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > > >>> optional_device_exts > > >>> with EXT_NO_FLAG? > > >> > > >> Applying > > >> > > >>> diff --git a/libavutil/hwcontext_vulkan.c > > b/libavutil/hwcontext_vulkan.c > > >>> index 5e51d0390f..49fb7827ba 100644 > > >>> --- a/libavutil/hwcontext_vulkan.c > > >>> +++ b/libavutil/hwcontext_vulkan.c > > >>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > > optional_device_exts[] > > >>> = { > > >>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > > >>> EXT_EXTERNAL_DMABUF_MEMORY, }, > > >>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > > >>> EXT_DRM_MODIFIER_FLAGS, }, > > >>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > > >>> EXT_EXTERNAL_FD_SEM, }, > > >>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > >>> EXT_EXTERNAL_HOST_MEMORY, }, > > >>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > >>> EXT_NO_FLAG, }, > > >>> }; > > >>> > > >>> /* Converts return values to strings */ > > >> > > >> I still get a segfault: > > >> > > >>> Thread 1 received signal SIGSEGV, Segmentation fault. > > >>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > > >>> from > > >>> > > > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > > >> > > >> Debug output shows > > >> > > >>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > > >>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > > (discrete) > > >>> (0x2184) > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 (total > > queues: > > >>> 16) for graphics > > >>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) > > >>> (compute) (transfers) (sparse) > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 (total > > queues: > > >>> 8) for compute > > >>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > > >>> (transfers) (sparse) > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 (total > > queues: > > >>> 2) for transfers > > >>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) > > >>> (sparse) > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > >>> "VK_EXT_external_memory_host" > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > >>> VK_EXT_external_memory_host > > >>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX 1660 > > >>> [AVHWDeviceContext @ 000001532a762800] Alignments: > > >>> [AVHWDeviceContext @ 000001532a762800] > > >>> optimalBufferCopyRowPitchAlignment: 1 > > >>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: > > >>> 64 > > >> > > >> And crashes right after printing: > > >> > > >>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute linked! > > >>> Size: 5508 bytes > > >> > > >> I'm using the latest driver, 451.48, on Windows 10 2004. > > > > > > So other vulkan filters, like vulkan_chromaber works for you? > > > > All fail the same way in vkGetInstanceProcAddr, so the issue is in > > hwcontext. > > > > Lynne should be able to test/bench this filter. > > > > Hello Paul, et al, > > Any updates on this filter? > I'm no longer working on FFmpeg. The v360_opencl filter got in more useful state but due complete lack of interest in it from users, I forgot about its existence. The v360_vulkan filter is probably in worse shape than v360_opencl filter and 0/negative interest, and I forgot about its existence too. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-06-25 13:06 ` Paul B Mahol @ 2024-06-25 13:16 ` Dennis Mungai 2024-06-25 13:27 ` Paul B Mahol 0 siblings, 1 reply; 8+ messages in thread From: Dennis Mungai @ 2024-06-25 13:16 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: > On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> wrote: > > > On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: > > > > > On 6/27/2020 7:54 AM, Paul B Mahol wrote: > > > > On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > > >> On 6/26/2020 4:16 PM, Lynne wrote: > > > >>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > > > >>> > > > >>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > > > >>>> > > > >>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > > >>>>> > > > >>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > > > >>>>>> > > > >>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > > > >>>>>>> > > > >>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > > > >>>>>>>> > > > >>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > > > >>>>>>>>> --- > > > >>>>>>>>> Please test it and reports benchmark results on non toyish > > GPUs. > > > >>>>>>>>> > > > >>>>>>>> > > > >>>>>>>> Please, I really need it! > > > >>>>>>>> > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> Why nobody wants to help? > > > >>>>>>> > > > >>>>>>> This makes me really really sad. > > > >>>>>>> > > > >>>>>> > > > >>>>>> I can try. Can you give an example command line with a publicly > > > >>>>>> available sample? > > > >>>>>> > > > >>>>> > > > >>>>> You can use any sample, samples are irrelevant. just report > > > resolution > > > >>>>> used. > > > >>>>> Also compare with CPU solution with just v360 filter. > > > >>>>> > > > >>>>> For yuv420p inputs: > > > >>>>> > > > >>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device > > > vulkan > > > >>>>> -vf > > > >>>>> > > > > > > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > > > >>>>> -f null - > > > >>>>> > > > >>>>> ffmpeg -i INPUT -vf > > > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 > > > >>>>> -f null - > > > >>>>> > > > >>>>> Just make sure that you get same output resolution in both cases. > > If > > > >>>>> not, adjust w/h accordingly. > > > >>>>> > > > >>>> > > > >>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't know > if > > > >>>> it's your filter or some issue in the driver. gdb is not being > > > helpful. > > > >>>> _______________________________________________ > > > >>>> ffmpeg-devel mailing list > > > >>>> ffmpeg-devel@ffmpeg.org > > > >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > >>>> > > > >>>> To unsubscribe, visit link above, or email > > > >>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > > > >>>> > > > >>> > > > >>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > > > >>> optional_device_exts > > > >>> with EXT_NO_FLAG? > > > >> > > > >> Applying > > > >> > > > >>> diff --git a/libavutil/hwcontext_vulkan.c > > > b/libavutil/hwcontext_vulkan.c > > > >>> index 5e51d0390f..49fb7827ba 100644 > > > >>> --- a/libavutil/hwcontext_vulkan.c > > > >>> +++ b/libavutil/hwcontext_vulkan.c > > > >>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > > > optional_device_exts[] > > > >>> = { > > > >>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > > > >>> EXT_EXTERNAL_DMABUF_MEMORY, }, > > > >>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > > > >>> EXT_DRM_MODIFIER_FLAGS, }, > > > >>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > > > >>> EXT_EXTERNAL_FD_SEM, }, > > > >>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > > >>> EXT_EXTERNAL_HOST_MEMORY, }, > > > >>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > > >>> EXT_NO_FLAG, }, > > > >>> }; > > > >>> > > > >>> /* Converts return values to strings */ > > > >> > > > >> I still get a segfault: > > > >> > > > >>> Thread 1 received signal SIGSEGV, Segmentation fault. > > > >>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > > > >>> from > > > >>> > > > > > > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > > > >> > > > >> Debug output shows > > > >> > > > >>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > > > >>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > > > (discrete) > > > >>> (0x2184) > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 (total > > > queues: > > > >>> 16) for graphics > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) > > > >>> (compute) (transfers) (sparse) > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 (total > > > queues: > > > >>> 8) for compute > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > > > >>> (transfers) (sparse) > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 (total > > > queues: > > > >>> 2) for transfers > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) > > > >>> (sparse) > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > > >>> "VK_EXT_external_memory_host" > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > > >>> VK_EXT_external_memory_host > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX > 1660 > > > >>> [AVHWDeviceContext @ 000001532a762800] Alignments: > > > >>> [AVHWDeviceContext @ 000001532a762800] > > > >>> optimalBufferCopyRowPitchAlignment: 1 > > > >>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: > > > >>> 64 > > > >> > > > >> And crashes right after printing: > > > >> > > > >>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute > linked! > > > >>> Size: 5508 bytes > > > >> > > > >> I'm using the latest driver, 451.48, on Windows 10 2004. > > > > > > > > So other vulkan filters, like vulkan_chromaber works for you? > > > > > > All fail the same way in vkGetInstanceProcAddr, so the issue is in > > > hwcontext. > > > > > > Lynne should be able to test/bench this filter. > > > > > > > Hello Paul, et al, > > > > Any updates on this filter? > > > > I'm no longer working on FFmpeg. > > The v360_opencl filter got in more useful state but due complete lack of > interest in it from users, I forgot about its existence. > The v360_vulkan filter is probably in worse shape than v360_opencl filter > and 0/negative interest, and I forgot about its existence too. > Is there an FFmpeg tree with v360_opencl (or a similar filter) out there? A GPU-accelerated v360 filter is definitely useful to test and implement. Definitely more useful than the DNN stack in FFmpeg (by leaps and bounds) as far as applicability is concerned. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-06-25 13:16 ` Dennis Mungai @ 2024-06-25 13:27 ` Paul B Mahol 2024-07-04 14:47 ` TADANO Tokumei 0 siblings, 1 reply; 8+ messages in thread From: Paul B Mahol @ 2024-06-25 13:27 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Tue, Jun 25, 2024 at 3:17 PM Dennis Mungai <dmngaie@gmail.com> wrote: > On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: > > > On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> wrote: > > > > > On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: > > > > > > > On 6/27/2020 7:54 AM, Paul B Mahol wrote: > > > > > On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > > > >> On 6/26/2020 4:16 PM, Lynne wrote: > > > > >>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > > > > >>> > > > > >>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > > > > >>>> > > > > >>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > > > > >>>>> > > > > >>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > > > > >>>>>> > > > > >>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > > > > >>>>>>> > > > > >>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > > > > >>>>>>>> > > > > >>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > > > > >>>>>>>>> --- > > > > >>>>>>>>> Please test it and reports benchmark results on non toyish > > > GPUs. > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>>>> Please, I really need it! > > > > >>>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> Why nobody wants to help? > > > > >>>>>>> > > > > >>>>>>> This makes me really really sad. > > > > >>>>>>> > > > > >>>>>> > > > > >>>>>> I can try. Can you give an example command line with a > publicly > > > > >>>>>> available sample? > > > > >>>>>> > > > > >>>>> > > > > >>>>> You can use any sample, samples are irrelevant. just report > > > > resolution > > > > >>>>> used. > > > > >>>>> Also compare with CPU solution with just v360 filter. > > > > >>>>> > > > > >>>>> For yuv420p inputs: > > > > >>>>> > > > > >>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device > > > > vulkan > > > > >>>>> -vf > > > > >>>>> > > > > > > > > > > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > > > > >>>>> -f null - > > > > >>>>> > > > > >>>>> ffmpeg -i INPUT -vf > > > > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 > > > > >>>>> -f null - > > > > >>>>> > > > > >>>>> Just make sure that you get same output resolution in both > cases. > > > If > > > > >>>>> not, adjust w/h accordingly. > > > > >>>>> > > > > >>>> > > > > >>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't > know > > if > > > > >>>> it's your filter or some issue in the driver. gdb is not being > > > > helpful. > > > > >>>> _______________________________________________ > > > > >>>> ffmpeg-devel mailing list > > > > >>>> ffmpeg-devel@ffmpeg.org > > > > >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > >>>> > > > > >>>> To unsubscribe, visit link above, or email > > > > >>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > > > > >>>> > > > > >>> > > > > >>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > > > > >>> optional_device_exts > > > > >>> with EXT_NO_FLAG? > > > > >> > > > > >> Applying > > > > >> > > > > >>> diff --git a/libavutil/hwcontext_vulkan.c > > > > b/libavutil/hwcontext_vulkan.c > > > > >>> index 5e51d0390f..49fb7827ba 100644 > > > > >>> --- a/libavutil/hwcontext_vulkan.c > > > > >>> +++ b/libavutil/hwcontext_vulkan.c > > > > >>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > > > > optional_device_exts[] > > > > >>> = { > > > > >>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > > > > >>> EXT_EXTERNAL_DMABUF_MEMORY, }, > > > > >>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > > > > >>> EXT_DRM_MODIFIER_FLAGS, }, > > > > >>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > > > > >>> EXT_EXTERNAL_FD_SEM, }, > > > > >>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > > > >>> EXT_EXTERNAL_HOST_MEMORY, }, > > > > >>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > > > > >>> EXT_NO_FLAG, }, > > > > >>> }; > > > > >>> > > > > >>> /* Converts return values to strings */ > > > > >> > > > > >> I still get a segfault: > > > > >> > > > > >>> Thread 1 received signal SIGSEGV, Segmentation fault. > > > > >>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > > > > >>> from > > > > >>> > > > > > > > > > > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > > > > >> > > > > >> Debug output shows > > > > >> > > > > >>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > > > > >>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > > > > (discrete) > > > > >>> (0x2184) > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 > (total > > > > queues: > > > > >>> 16) for graphics > > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) > > > > >>> (compute) (transfers) (sparse) > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 > (total > > > > queues: > > > > >>> 8) for compute > > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > > > > >>> (transfers) (sparse) > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 > (total > > > > queues: > > > > >>> 2) for transfers > > > > >>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: > (transfers) > > > > >>> (sparse) > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > > > >>> "VK_EXT_external_memory_host" > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device extension > > > > >>> VK_EXT_external_memory_host > > > > >>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX > > 1660 > > > > >>> [AVHWDeviceContext @ 000001532a762800] Alignments: > > > > >>> [AVHWDeviceContext @ 000001532a762800] > > > > >>> optimalBufferCopyRowPitchAlignment: 1 > > > > >>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: > > > > >>> 64 > > > > >> > > > > >> And crashes right after printing: > > > > >> > > > > >>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute > > linked! > > > > >>> Size: 5508 bytes > > > > >> > > > > >> I'm using the latest driver, 451.48, on Windows 10 2004. > > > > > > > > > > So other vulkan filters, like vulkan_chromaber works for you? > > > > > > > > All fail the same way in vkGetInstanceProcAddr, so the issue is in > > > > hwcontext. > > > > > > > > Lynne should be able to test/bench this filter. > > > > > > > > > > Hello Paul, et al, > > > > > > Any updates on this filter? > > > > > > > I'm no longer working on FFmpeg. > > > > The v360_opencl filter got in more useful state but due complete lack of > > interest in it from users, I forgot about its existence. > > The v360_vulkan filter is probably in worse shape than v360_opencl filter > > and 0/negative interest, and I forgot about its existence too. > > > > Is there an FFmpeg tree with v360_opencl (or a similar filter) out there? > I can give you patches/files for both v360 vulkan and opencl filter if you want to hack on it. But I will not adapt them for free to current library versions, nor provide any kind of free support for it. > A GPU-accelerated v360 filter is definitely useful to test and implement. > Definitely more useful than the DNN stack in FFmpeg (by leaps and bounds) > as far as applicability is concerned. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-06-25 13:27 ` Paul B Mahol @ 2024-07-04 14:47 ` TADANO Tokumei 2024-07-04 15:03 ` Paul B Mahol 0 siblings, 1 reply; 8+ messages in thread From: TADANO Tokumei @ 2024-07-04 14:47 UTC (permalink / raw) To: ffmpeg-devel; +Cc: Lynne On 2024/06/25 22:27, Paul B Mahol wrote: > On Tue, Jun 25, 2024 at 3:17 PM Dennis Mungai <dmngaie@gmail.com> wrote: > >> On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: >> >>> On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> wrote: >>> >>>> On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: >>>> >>>>> On 6/27/2020 7:54 AM, Paul B Mahol wrote: >>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: >>>>>>> On 6/26/2020 4:16 PM, Lynne wrote: >>>>>>>> Jun 26, 2020, 19:05 by jamrial@gmail.com: >>>>>>>> >>>>>>>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: >>>>>>>>> >>>>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: >>>>>>>>>>> >>>>>>>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> >>>>>>>>>>>>>> --- >>>>>>>>>>>>>> Please test it and reports benchmark results on non toyish GPUs. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Please, I really need it! >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Why nobody wants to help? >>>>>>>>>>>> >>>>>>>>>>>> This makes me really really sad. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I can try. Can you give an example command line with a publicly >>>>>>>>>>> available sample? >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> You can use any sample, samples are irrelevant. just report resolution >>>>>>>>>> used. >>>>>>>>>> Also compare with CPU solution with just v360 filter. >>>>>>>>>> >>>>>>>>>> For yuv420p inputs: >>>>>>>>>> >>>>>>>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device vulkan >>>>>>>>>> -vf hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p -f null - >>>>>>>>>> >>>>>>>>>> ffmpeg -i INPUT -vf v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 -f null - >>>>>>>>>> >>>>>>>>>> Just make sure that you get same output resolution in both cases. If >>>>>>>>>> not, adjust w/h accordingly. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't know if >>>>>>>>> it's your filter or some issue in the driver. gdb is not being helpful. >>>>>>>>> _______________________________________________ >>>>>>>>> ffmpeg-devel mailing list >>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>> >>>>>>>>> To unsubscribe, visit link above, or email >>>>>>>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". >>>>>>>>> >>>>>>>> >>>>>>>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in >>>>>>>> optional_device_exts >>>>>>>> with EXT_NO_FLAG? >>>>>>> >>>>>>> Applying >>>>>>> >>>>>>>> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c >>>>>>>> index 5e51d0390f..49fb7827ba 100644 >>>>>>>> --- a/libavutil/hwcontext_vulkan.c >>>>>>>> +++ b/libavutil/hwcontext_vulkan.c >>>>>>>> @@ -228,7 +228,7 @@ static const VulkanOptExtension optional_device_exts[] >>>>>>>> = { >>>>>>>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, >>>>>>>> EXT_EXTERNAL_DMABUF_MEMORY, }, >>>>>>>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, >>>>>>>> EXT_DRM_MODIFIER_FLAGS, }, >>>>>>>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, >>>>>>>> EXT_EXTERNAL_FD_SEM, }, >>>>>>>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, >>>>>>>> EXT_EXTERNAL_HOST_MEMORY, }, >>>>>>>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, >>>>>>>> EXT_NO_FLAG, }, >>>>>>>> }; >>>>>>>> >>>>>>>> /* Converts return values to strings */ >>>>>>> >>>>>>> I still get a segfault: >>>>>>> >>>>>>>> Thread 1 received signal SIGSEGV, Segmentation fault. >>>>>>>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () >>>>>>>> from >>>>>>>> >>>>> >>>> >>> >> C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll >>>>>>> >>>>>>> Debug output shows >>>>>>> >>>>>>>> [AVHWDeviceContext @ 000001532a762800] GPU listing: >>>>>>>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 (discrete) >>>>>>>> (0x2184) >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 (total queues: >>>>>>>> 16) for graphics >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) >>>>>>>> (compute) (transfers) (sparse) >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 (total queues: >>>>>>>> 8) for compute >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) >>>>>>>> (transfers) (sparse) >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 (total queues: >>>>>>>> 2) for transfers >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) >>>>>>>> (sparse) >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension >>>>>>>> "VK_EXT_external_memory_host" >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension >>>>>>>> VK_EXT_external_memory_host >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX 1660 >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Alignments: >>>>>>>> [AVHWDeviceContext @ 000001532a762800] >>>>>>>> optimalBufferCopyRowPitchAlignment: 1 >>>>>>>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: 64 >>>>>>> >>>>>>> And crashes right after printing: >>>>>>> >>>>>>>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute linked! >>>>>>>> Size: 5508 bytes >>>>>>> >>>>>>> I'm using the latest driver, 451.48, on Windows 10 2004. >>>>>> >>>>>> So other vulkan filters, like vulkan_chromaber works for you? >>>>> >>>>> All fail the same way in vkGetInstanceProcAddr, so the issue is in >>>>> hwcontext. >>>>> >>>>> Lynne should be able to test/bench this filter. >>>>> >>>> >>>> Hello Paul, et al, >>>> >>>> Any updates on this filter? >>>> >>> >>> I'm no longer working on FFmpeg. >>> >>> The v360_opencl filter got in more useful state but due complete lack of >>> interest in it from users, I forgot about its existence. >>> The v360_vulkan filter is probably in worse shape than v360_opencl filter >>> and 0/negative interest, and I forgot about its existence too. >>> >> >> Is there an FFmpeg tree with v360_opencl (or a similar filter) out there? >> > > > I can give you patches/files for both v360 vulkan and opencl filter if you > want to hack on it. > But I will not adapt them for free to current library versions, nor provide > any kind of free support for it. > I tested v360_opencl filter with slight modification to your patch. It works, but it generates different output from v360 filter. For example, I tested a sample GoPro Max 360 video on: https://drive.google.com/drive/folders/1DlP6FVw-O6AIm6O0nSsC-mIoCrEBtmdG ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf "hwupload,v360_opencl=yaw=90,hwdownload,format=yuvj420p" output-v360cl.mkv ffmpeg -i GS010010.360 -vf v360=yaw=90 output-v360.mkv I'm not sure which is correct, but I feel the output of v360_opencl filter is better. > >> A GPU-accelerated v360 filter is definitely useful to test and implement. >> Definitely more useful than the DNN stack in FFmpeg (by leaps and bounds) >> as far as applicability is concerned. >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-07-04 14:47 ` TADANO Tokumei @ 2024-07-04 15:03 ` Paul B Mahol 2024-07-05 15:11 ` TADANO Tokumei 0 siblings, 1 reply; 8+ messages in thread From: Paul B Mahol @ 2024-07-04 15:03 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Thu, Jul 4, 2024 at 4:48 PM TADANO Tokumei <aimingoff@pc.nifty.jp> wrote: > > > On 2024/06/25 22:27, Paul B Mahol wrote: > > On Tue, Jun 25, 2024 at 3:17 PM Dennis Mungai <dmngaie@gmail.com> wrote: > > > >> On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: > >> > >>> On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> > wrote: > >>> > >>>> On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: > >>>> > >>>>> On 6/27/2020 7:54 AM, Paul B Mahol wrote: > >>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >>>>>>> On 6/26/2020 4:16 PM, Lynne wrote: > >>>>>>>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > >>>>>>>> > >>>>>>>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > >>>>>>>>> > >>>>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >>>>>>>>>> > >>>>>>>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > >>>>>>>>>>> > >>>>>>>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > >>>>>>>>>>>>>> --- > >>>>>>>>>>>>>> Please test it and reports benchmark results on non toyish > GPUs. > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> Please, I really need it! > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> Why nobody wants to help? > >>>>>>>>>>>> > >>>>>>>>>>>> This makes me really really sad. > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> I can try. Can you give an example command line with a publicly > >>>>>>>>>>> available sample? > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> You can use any sample, samples are irrelevant. just report > resolution > >>>>>>>>>> used. > >>>>>>>>>> Also compare with CPU solution with just v360 filter. > >>>>>>>>>> > >>>>>>>>>> For yuv420p inputs: > >>>>>>>>>> > >>>>>>>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device > vulkan > >>>>>>>>>> -vf > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > -f null - > >>>>>>>>>> > >>>>>>>>>> ffmpeg -i INPUT -vf > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 -f null - > >>>>>>>>>> > >>>>>>>>>> Just make sure that you get same output resolution in both > cases. If > >>>>>>>>>> not, adjust w/h accordingly. > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't > know if > >>>>>>>>> it's your filter or some issue in the driver. gdb is not being > helpful. > >>>>>>>>> _______________________________________________ > >>>>>>>>> ffmpeg-devel mailing list > >>>>>>>>> ffmpeg-devel@ffmpeg.org > >>>>>>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >>>>>>>>> > >>>>>>>>> To unsubscribe, visit link above, or email > >>>>>>>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > >>>>>>>>> > >>>>>>>> > >>>>>>>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > >>>>>>>> optional_device_exts > >>>>>>>> with EXT_NO_FLAG? > >>>>>>> > >>>>>>> Applying > >>>>>>> > >>>>>>>> diff --git a/libavutil/hwcontext_vulkan.c > b/libavutil/hwcontext_vulkan.c > >>>>>>>> index 5e51d0390f..49fb7827ba 100644 > >>>>>>>> --- a/libavutil/hwcontext_vulkan.c > >>>>>>>> +++ b/libavutil/hwcontext_vulkan.c > >>>>>>>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > optional_device_exts[] > >>>>>>>> = { > >>>>>>>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > >>>>>>>> EXT_EXTERNAL_DMABUF_MEMORY, }, > >>>>>>>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > >>>>>>>> EXT_DRM_MODIFIER_FLAGS, }, > >>>>>>>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > >>>>>>>> EXT_EXTERNAL_FD_SEM, }, > >>>>>>>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>>>>>>> EXT_EXTERNAL_HOST_MEMORY, }, > >>>>>>>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>>>>>>> EXT_NO_FLAG, }, > >>>>>>>> }; > >>>>>>>> > >>>>>>>> /* Converts return values to strings */ > >>>>>>> > >>>>>>> I still get a segfault: > >>>>>>> > >>>>>>>> Thread 1 received signal SIGSEGV, Segmentation fault. > >>>>>>>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > >>>>>>>> from > >>>>>>>> > >>>>> > >>>> > >>> > >> > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > >>>>>>> > >>>>>>> Debug output shows > >>>>>>> > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > (discrete) > >>>>>>>> (0x2184) > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 > (total queues: > >>>>>>>> 16) for graphics > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) > >>>>>>>> (compute) (transfers) (sparse) > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 > (total queues: > >>>>>>>> 8) for compute > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > >>>>>>>> (transfers) (sparse) > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 > (total queues: > >>>>>>>> 2) for transfers > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) > >>>>>>>> (sparse) > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>>>>>>> "VK_EXT_external_memory_host" > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>>>>>>> VK_EXT_external_memory_host > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX > 1660 > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] Alignments: > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] > >>>>>>>> optimalBufferCopyRowPitchAlignment: 1 > >>>>>>>> [AVHWDeviceContext @ 000001532a762800] > minMemoryMapAlignment: 64 > >>>>>>> > >>>>>>> And crashes right after printing: > >>>>>>> > >>>>>>>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute > linked! > >>>>>>>> Size: 5508 bytes > >>>>>>> > >>>>>>> I'm using the latest driver, 451.48, on Windows 10 2004. > >>>>>> > >>>>>> So other vulkan filters, like vulkan_chromaber works for you? > >>>>> > >>>>> All fail the same way in vkGetInstanceProcAddr, so the issue is in > >>>>> hwcontext. > >>>>> > >>>>> Lynne should be able to test/bench this filter. > >>>>> > >>>> > >>>> Hello Paul, et al, > >>>> > >>>> Any updates on this filter? > >>>> > >>> > >>> I'm no longer working on FFmpeg. > >>> > >>> The v360_opencl filter got in more useful state but due complete lack > of > >>> interest in it from users, I forgot about its existence. > >>> The v360_vulkan filter is probably in worse shape than v360_opencl > filter > >>> and 0/negative interest, and I forgot about its existence too. > >>> > >> > >> Is there an FFmpeg tree with v360_opencl (or a similar filter) out > there? > >> > > > > > > I can give you patches/files for both v360 vulkan and opencl filter if > you > > want to hack on it. > > But I will not adapt them for free to current library versions, nor > provide > > any kind of free support for it. > > > > I tested v360_opencl filter with slight modification to your patch. > It works, but it generates different output from v360 filter. > > For example, I tested a sample GoPro Max 360 video on: > https://drive.google.com/drive/folders/1DlP6FVw-O6AIm6O0nSsC-mIoCrEBtmdG > > ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf > "hwupload,v360_opencl=yaw=90,hwdownload,format=yuvj420p" output-v360cl.mkv > ffmpeg -i GS010010.360 -vf v360=yaw=90 output-v360.mkv > > I'm not sure which is correct, but I feel the output of v360_opencl filter > is better. > Make sure that difference is not because you used yuvj420p pixel format at end. The output should be very similar - minus rounding, with visually no difference. Also why you transcode? > > > > >> A GPU-accelerated v360 filter is definitely useful to test and > implement. > >> Definitely more useful than the DNN stack in FFmpeg (by leaps and > bounds) > >> as far as applicability is concerned. > >> _______________________________________________ > >> ffmpeg-devel mailing list > >> ffmpeg-devel@ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >> > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-07-04 15:03 ` Paul B Mahol @ 2024-07-05 15:11 ` TADANO Tokumei 2024-07-05 19:04 ` Paul B Mahol 0 siblings, 1 reply; 8+ messages in thread From: TADANO Tokumei @ 2024-07-05 15:11 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne [-- Attachment #1: Type: text/plain, Size: 10451 bytes --] On 2024/07/05 0:03, Paul B Mahol wrote: > On Thu, Jul 4, 2024 at 4:48 PM TADANO Tokumei <aimingoff@pc.nifty.jp> wrote: > >> >> On 2024/06/25 22:27, Paul B Mahol wrote: >>> On Tue, Jun 25, 2024 at 3:17 PM Dennis Mungai <dmngaie@gmail.com> wrote: >>> >>>> On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: >>>> >>>>> On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> >> wrote: >>>>> >>>>>> On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> wrote: >>>>>> >>>>>>> On 6/27/2020 7:54 AM, Paul B Mahol wrote: >>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: >>>>>>>>> On 6/26/2020 4:16 PM, Lynne wrote: >>>>>>>>>> Jun 26, 2020, 19:05 by jamrial@gmail.com: >>>>>>>>>> >>>>>>>>>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: >>>>>>>>>>> >>>>>>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> >>>>>>>>>>>>>>>> --- >>>>>>>>>>>>>>>> Please test it and reports benchmark results on non toyish >> GPUs. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please, I really need it! >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Why nobody wants to help? >>>>>>>>>>>>>> >>>>>>>>>>>>>> This makes me really really sad. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I can try. Can you give an example command line with a publicly >>>>>>>>>>>>> available sample? >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> You can use any sample, samples are irrelevant. just report resolution >>>>>>>>>>>> used. >>>>>>>>>>>> Also compare with CPU solution with just v360 filter. >>>>>>>>>>>> >>>>>>>>>>>> For yuv420p inputs: >>>>>>>>>>>> >>>>>>>>>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT -filter_hw_device vulkan >>>>>>>>>>>> -vf hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p -f null - >>>>>>>>>>>> >>>>>>>>>>>> ffmpeg -i INPUT -vf v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 -f null - >>>>>>>>>>>> >>>>>>>>>>>> Just make sure that you get same output resolution in both cases. If >>>>>>>>>>>> not, adjust w/h accordingly. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't know if >>>>>>>>>>> it's your filter or some issue in the driver. gdb is not being helpful. >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>>> >>>>>>>>>>> To unsubscribe, visit link above, or email >>>>>>>>>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in >>>>>>>>>> optional_device_exts >>>>>>>>>> with EXT_NO_FLAG? >>>>>>>>> >>>>>>>>> Applying >>>>>>>>> >>>>>>>>>> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c >>>>>>>>>> index 5e51d0390f..49fb7827ba 100644 >>>>>>>>>> --- a/libavutil/hwcontext_vulkan.c >>>>>>>>>> +++ b/libavutil/hwcontext_vulkan.c >>>>>>>>>> @@ -228,7 +228,7 @@ static const VulkanOptExtension optional_device_exts[] >>>>>>>>>> = { >>>>>>>>>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, >>>>>>>>>> EXT_EXTERNAL_DMABUF_MEMORY, }, >>>>>>>>>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, >>>>>>>>>> EXT_DRM_MODIFIER_FLAGS, }, >>>>>>>>>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, >>>>>>>>>> EXT_EXTERNAL_FD_SEM, }, >>>>>>>>>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, >>>>>>>>>> EXT_EXTERNAL_HOST_MEMORY, }, >>>>>>>>>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, >>>>>>>>>> EXT_NO_FLAG, }, >>>>>>>>>> }; >>>>>>>>>> >>>>>>>>>> /* Converts return values to strings */ >>>>>>>>> >>>>>>>>> I still get a segfault: >>>>>>>>> >>>>>>>>>> Thread 1 received signal SIGSEGV, Segmentation fault. >>>>>>>>>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () >>>>>>>>>> from >>>>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll >>>>>>>>> >>>>>>>>> Debug output shows >>>>>>>>> >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] GPU listing: >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 (discrete) >>>>>>>>>> (0x2184) >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 (total queues: >>>>>>>>>> 16) for graphics >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: (graphics) >>>>>>>>>> (compute) (transfers) (sparse) >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 (total queues: >>>>>>>>>> 8) for compute >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) >>>>>>>>>> (transfers) (sparse) >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 (total queues: >>>>>>>>>> 2) for transfers >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: (transfers) >>>>>>>>>> (sparse) >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension >>>>>>>>>> "VK_EXT_external_memory_host" >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension >>>>>>>>>> VK_EXT_external_memory_host >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce GTX 1660 >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Alignments: >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] >>>>>>>>>> optimalBufferCopyRowPitchAlignment: 1 >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] minMemoryMapAlignment: 64 >>>>>>>>> >>>>>>>>> And crashes right after printing: >>>>>>>>> >>>>>>>>>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute linked! >>>>>>>>>> Size: 5508 bytes >>>>>>>>> >>>>>>>>> I'm using the latest driver, 451.48, on Windows 10 2004. >>>>>>>> >>>>>>>> So other vulkan filters, like vulkan_chromaber works for you? >>>>>>> >>>>>>> All fail the same way in vkGetInstanceProcAddr, so the issue is in >>>>>>> hwcontext. >>>>>>> >>>>>>> Lynne should be able to test/bench this filter. >>>>>>> >>>>>> >>>>>> Hello Paul, et al, >>>>>> >>>>>> Any updates on this filter? >>>>>> >>>>> >>>>> I'm no longer working on FFmpeg. >>>>> >>>>> The v360_opencl filter got in more useful state but due complete lack of >>>>> interest in it from users, I forgot about its existence. >>>>> The v360_vulkan filter is probably in worse shape than v360_opencl filter >>>>> and 0/negative interest, and I forgot about its existence too. >>>>> >>>> >>>> Is there an FFmpeg tree with v360_opencl (or a similar filter) out there? >>>> >>> >>> >>> I can give you patches/files for both v360 vulkan and opencl filter if you >>> want to hack on it. >>> But I will not adapt them for free to current library versions, nor provide >>> any kind of free support for it. >>> >> >> I tested v360_opencl filter with slight modification to your patch. >> It works, but it generates different output from v360 filter. >> >> For example, I tested a sample GoPro Max 360 video on: >> https://drive.google.com/drive/folders/1DlP6FVw-O6AIm6O0nSsC-mIoCrEBtmdG >> >> ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf >> "hwupload,v360_opencl=yaw=90,hwdownload,format=yuvj420p" output-v360cl.mkv >> ffmpeg -i GS010010.360 -vf v360=yaw=90 output-v360.mkv >> >> I'm not sure which is correct, but I feel the output of v360_opencl filter >> is better. >> > > Make sure that difference is not because you used yuvj420p pixel format at > end. > The output should be very similar - minus rounding, with visually no > difference. > Also why you transcode? Without specifying format parameter, the ffmpeg command would fails: $ ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf "hwupload,v360_opencl=yaw=90,hwdownload" output-v360cl.mkv ... Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GS010010.360': ... Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 4096x1344 [SAR 1:1 DAR 64:21], 29970 kb/s, 29.97 fps, 29.97 tbr, 90k tbn (default) ... [hwdownload @ 0x7ef9e4005680] Invalid output format gray for hwframe download. [Parsed_hwdownload_2 @ 0x7ef9e4005540] Failed to configure output pad on Parsed_hwdownload_2 [vf#0:0 @ 0x5621681baf00] Error reinitializing filters! [vf#0:0 @ 0x5621681baf00] Task finished with error code: -22 (Invalid argument) [vf#0:0 @ 0x5621681baf00] Terminating thread with return code -22 (Invalid argument) [vost#0:0/libx264 @ 0x5621680cf680] Could not open encoder before EOF [vost#0:0/libx264 @ 0x5621680cf680] Task finished with error code: -22 (Invalid argument) [vost#0:0/libx264 @ 0x5621680cf680] Terminating thread with return code -22 (Invalid argument) [out#0/matroska @ 0x562167eac000] Nothing was written into output file, because at least one of its streams received no packets. The yuvj420p is same as input. I didn't intended to transcode. I'm not sure if this ML accepts attachments, but I attach (resized) snapshots. > >> >>> >>>> A GPU-accelerated v360 filter is definitely useful to test and >> implement. >>>> Definitely more useful than the DNN stack in FFmpeg (by leaps and >> bounds) >>>> as far as applicability is concerned. >>>> _______________________________________________ >>>> ffmpeg-devel mailing list >>>> ffmpeg-devel@ffmpeg.org >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>> >>>> To unsubscribe, visit link above, or email >>>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >>>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". [-- Attachment #2: v360.png --] [-- Type: image/png, Size: 200215 bytes --] [-- Attachment #3: v360_opencl.png --] [-- Type: image/png, Size: 140112 bytes --] [-- Attachment #4: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter 2024-07-05 15:11 ` TADANO Tokumei @ 2024-07-05 19:04 ` Paul B Mahol 0 siblings, 0 replies; 8+ messages in thread From: Paul B Mahol @ 2024-07-05 19:04 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Lynne On Fri, Jul 5, 2024 at 5:11 PM TADANO Tokumei <aimingoff@pc.nifty.jp> wrote: > > On 2024/07/05 0:03, Paul B Mahol wrote: > > On Thu, Jul 4, 2024 at 4:48 PM TADANO Tokumei <aimingoff@pc.nifty.jp> > wrote: > > > >> > >> On 2024/06/25 22:27, Paul B Mahol wrote: > >>> On Tue, Jun 25, 2024 at 3:17 PM Dennis Mungai <dmngaie@gmail.com> > wrote: > >>> > >>>> On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <onemda@gmail.com> wrote: > >>>> > >>>>> On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmngaie@gmail.com> > >> wrote: > >>>>> > >>>>>> On Sun, 28 Jun 2020 at 16:59, James Almer <jamrial@gmail.com> > wrote: > >>>>>> > >>>>>>> On 6/27/2020 7:54 AM, Paul B Mahol wrote: > >>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >>>>>>>>> On 6/26/2020 4:16 PM, Lynne wrote: > >>>>>>>>>> Jun 26, 2020, 19:05 by jamrial@gmail.com: > >>>>>>>>>> > >>>>>>>>>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > >>>>>>>>>>> > >>>>>>>>>>>> On 6/26/20, James Almer <jamrial@gmail.com> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> On 6/26/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On 6/24/20, Paul B Mahol <onemda@gmail.com> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> > >>>>>>>>>>>>>>>> --- > >>>>>>>>>>>>>>>> Please test it and reports benchmark results on non toyish > >> GPUs. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Please, I really need it! > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Why nobody wants to help? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> This makes me really really sad. > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> I can try. Can you give an example command line with a > publicly > >>>>>>>>>>>>> available sample? > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> You can use any sample, samples are irrelevant. just report > resolution > >>>>>>>>>>>> used. > >>>>>>>>>>>> Also compare with CPU solution with just v360 filter. > >>>>>>>>>>>> > >>>>>>>>>>>> For yuv420p inputs: > >>>>>>>>>>>> > >>>>>>>>>>>> ffmpeg -init_hw_device vulkan=vulkan -i INPUT > -filter_hw_device vulkan > >>>>>>>>>>>> -vf > hwupload,v360_vulkan=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024,hwdownload,format=yuv420p > -f null - > >>>>>>>>>>>> > >>>>>>>>>>>> ffmpeg -i INPUT -vf > v360=fisheye:e:ih_fov=180:iv_fov=180:w=2048:h=1024 -f null - > >>>>>>>>>>>> > >>>>>>>>>>>> Just make sure that you get same output resolution in both > cases. If > >>>>>>>>>>>> not, adjust w/h accordingly. > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> I'm getting a segfault on vkGetInstanceProcAddr, and i don't > know if > >>>>>>>>>>> it's your filter or some issue in the driver. gdb is not being > helpful. > >>>>>>>>>>> _______________________________________________ > >>>>>>>>>>> ffmpeg-devel mailing list > >>>>>>>>>>> ffmpeg-devel@ffmpeg.org > >>>>>>>>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >>>>>>>>>>> > >>>>>>>>>>> To unsubscribe, visit link above, or email > >>>>>>>>>>> ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe". > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> Can you test again but replace EXT_EXTERNAL_HOST_MEMORY in > >>>>>>>>>> optional_device_exts > >>>>>>>>>> with EXT_NO_FLAG? > >>>>>>>>> > >>>>>>>>> Applying > >>>>>>>>> > >>>>>>>>>> diff --git a/libavutil/hwcontext_vulkan.c > b/libavutil/hwcontext_vulkan.c > >>>>>>>>>> index 5e51d0390f..49fb7827ba 100644 > >>>>>>>>>> --- a/libavutil/hwcontext_vulkan.c > >>>>>>>>>> +++ b/libavutil/hwcontext_vulkan.c > >>>>>>>>>> @@ -228,7 +228,7 @@ static const VulkanOptExtension > optional_device_exts[] > >>>>>>>>>> = { > >>>>>>>>>> { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, > >>>>>>>>>> EXT_EXTERNAL_DMABUF_MEMORY, }, > >>>>>>>>>> { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, > >>>>>>>>>> EXT_DRM_MODIFIER_FLAGS, }, > >>>>>>>>>> { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, > >>>>>>>>>> EXT_EXTERNAL_FD_SEM, }, > >>>>>>>>>> - { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>>>>>>>>> EXT_EXTERNAL_HOST_MEMORY, }, > >>>>>>>>>> + { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, > >>>>>>>>>> EXT_NO_FLAG, }, > >>>>>>>>>> }; > >>>>>>>>>> > >>>>>>>>>> /* Converts return values to strings */ > >>>>>>>>> > >>>>>>>>> I still get a segfault: > >>>>>>>>> > >>>>>>>>>> Thread 1 received signal SIGSEGV, Segmentation fault. > >>>>>>>>>> 0x00007ff8ed9274c0 in vkGetInstanceProcAddr () > >>>>>>>>>> from > >>>>>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>> > >> > C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ccad5caddc3a3d35\nvoglv64.dll > >>>>>>>>> > >>>>>>>>> Debug output shows > >>>>>>>>> > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] GPU listing: > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] 0: GeForce GTX 1660 > (discrete) > >>>>>>>>>> (0x2184) > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 0 > (total queues: > >>>>>>>>>> 16) for graphics > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 0 flags: > (graphics) > >>>>>>>>>> (compute) (transfers) (sparse) > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 2 > (total queues: > >>>>>>>>>> 8) for compute > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 2 flags: (compute) > >>>>>>>>>> (transfers) (sparse) > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using queue family 1 > (total queues: > >>>>>>>>>> 2) for transfers > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] QF 1 flags: > (transfers) > >>>>>>>>>> (sparse) > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>>>>>>>>> "VK_EXT_external_memory_host" > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device extension > >>>>>>>>>> VK_EXT_external_memory_host > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Using device: GeForce > GTX 1660 > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] Alignments: > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] > >>>>>>>>>> optimalBufferCopyRowPitchAlignment: 1 > >>>>>>>>>> [AVHWDeviceContext @ 000001532a762800] > minMemoryMapAlignment: 64 > >>>>>>>>> > >>>>>>>>> And crashes right after printing: > >>>>>>>>> > >>>>>>>>>> [Parsed_v360_vulkan_1 @ 000001532abd5c80] Shader v360_compute > linked! > >>>>>>>>>> Size: 5508 bytes > >>>>>>>>> > >>>>>>>>> I'm using the latest driver, 451.48, on Windows 10 2004. > >>>>>>>> > >>>>>>>> So other vulkan filters, like vulkan_chromaber works for you? > >>>>>>> > >>>>>>> All fail the same way in vkGetInstanceProcAddr, so the issue is in > >>>>>>> hwcontext. > >>>>>>> > >>>>>>> Lynne should be able to test/bench this filter. > >>>>>>> > >>>>>> > >>>>>> Hello Paul, et al, > >>>>>> > >>>>>> Any updates on this filter? > >>>>>> > >>>>> > >>>>> I'm no longer working on FFmpeg. > >>>>> > >>>>> The v360_opencl filter got in more useful state but due complete > lack of > >>>>> interest in it from users, I forgot about its existence. > >>>>> The v360_vulkan filter is probably in worse shape than v360_opencl > filter > >>>>> and 0/negative interest, and I forgot about its existence too. > >>>>> > >>>> > >>>> Is there an FFmpeg tree with v360_opencl (or a similar filter) out > there? > >>>> > >>> > >>> > >>> I can give you patches/files for both v360 vulkan and opencl filter if > you > >>> want to hack on it. > >>> But I will not adapt them for free to current library versions, nor > provide > >>> any kind of free support for it. > >>> > >> > >> I tested v360_opencl filter with slight modification to your patch. > >> It works, but it generates different output from v360 filter. > >> > >> For example, I tested a sample GoPro Max 360 video on: > >> > https://drive.google.com/drive/folders/1DlP6FVw-O6AIm6O0nSsC-mIoCrEBtmdG > >> > >> ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf > >> "hwupload,v360_opencl=yaw=90,hwdownload,format=yuvj420p" > output-v360cl.mkv > >> ffmpeg -i GS010010.360 -vf v360=yaw=90 output-v360.mkv > >> > >> I'm not sure which is correct, but I feel the output of v360_opencl > filter > >> is better. > >> > > > > Make sure that difference is not because you used yuvj420p pixel format > at > > end. > > The output should be very similar - minus rounding, with visually no > > difference. > > Also why you transcode? > > Without specifying format parameter, the ffmpeg command would fails: > > $ ffmpeg -i GS010010.360 -init_hw_device opencl:0.0 -vf > "hwupload,v360_opencl=yaw=90,hwdownload" output-v360cl.mkv > ... > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GS010010.360': > ... > Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), > yuvj420p(pc, bt709), 4096x1344 [SAR 1:1 DAR 64:21], 29970 kb/s, 29.97 fps, > 29.97 tbr, 90k tbn (default) > ... > [hwdownload @ 0x7ef9e4005680] Invalid output format gray for hwframe > download. > [Parsed_hwdownload_2 @ 0x7ef9e4005540] Failed to configure output pad on > Parsed_hwdownload_2 > [vf#0:0 @ 0x5621681baf00] Error reinitializing filters! > [vf#0:0 @ 0x5621681baf00] Task finished with error code: -22 (Invalid > argument) > [vf#0:0 @ 0x5621681baf00] Terminating thread with return code -22 (Invalid > argument) > [vost#0:0/libx264 @ 0x5621680cf680] Could not open encoder before EOF > [vost#0:0/libx264 @ 0x5621680cf680] Task finished with error code: -22 > (Invalid argument) > [vost#0:0/libx264 @ 0x5621680cf680] Terminating thread with return code > -22 (Invalid argument) > [out#0/matroska @ 0x562167eac000] Nothing was written into output file, > because at least one of its streams received no packets. > > The yuvj420p is same as input. > I didn't intended to transcode. > > I'm not sure if this ML accepts attachments, but I attach (resized) > snapshots. > Both outputs are garbage. Just that v360 by default converts from equirectangular to cube 3x2, and v360_opencl does not support that one. Dunno what projection you are trying to transfer from whatever product you want to work with. As I said already not going to help you with this for free. Developers are also humans. > > > >> > >>> > >>>> A GPU-accelerated v360 filter is definitely useful to test and > >> implement. > >>>> Definitely more useful than the DNN stack in FFmpeg (by leaps and > >> bounds) > >>>> as far as applicability is concerned. > >>>> _______________________________________________ > >>>> ffmpeg-devel mailing list > >>>> ffmpeg-devel@ffmpeg.org > >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >>>> > >>>> To unsubscribe, visit link above, or email > >>>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >>>> > >>> _______________________________________________ > >>> ffmpeg-devel mailing list > >>> ffmpeg-devel@ffmpeg.org > >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >>> > >>> To unsubscribe, visit link above, or email > >>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >> _______________________________________________ > >> ffmpeg-devel mailing list > >> ffmpeg-devel@ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >> > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject > "unsubscribe"._______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-07-05 19:05 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20200624201636.24828-1-onemda@gmail.com> [not found] ` <CAPYw7P6rdCMbOp0MKU4db9JvehcBE2==B5etPhJy7L7wKhWZyA@mail.gmail.com> [not found] ` <CAPYw7P7BJSbcyO78AD_mdeEPZ5fQ_jdO2c5K5BDv7QRd1eZprQ@mail.gmail.com> [not found] ` <129aa6d8-10c2-d955-d0a7-2c2370037bce@gmail.com> [not found] ` <CAPYw7P6=j2oOfTRjvunnr2hd9Ks9vG3c7V84ecGmxU-5C3U9qg@mail.gmail.com> [not found] ` <8f34accb-9723-f539-eb93-e4db821bd87f@gmail.com> [not found] ` <MAm2iy7--3-2@lynne.ee> [not found] ` <bd015ccf-61b5-bd60-934d-809ec419cb94@gmail.com> [not found] ` <CAPYw7P62gOeEmzoUkMsf_y+BGQdiDfqrUq9eddATKMA0cg+hiw@mail.gmail.com> [not found] ` <ab5eb27d-1f49-0a53-7308-ee41fa8632c5@gmail.com> 2024-06-25 12:37 ` [FFmpeg-devel] [PATCH] avfilter: add v360_vulkan filter Dennis Mungai 2024-06-25 13:06 ` Paul B Mahol 2024-06-25 13:16 ` Dennis Mungai 2024-06-25 13:27 ` Paul B Mahol 2024-07-04 14:47 ` TADANO Tokumei 2024-07-04 15:03 ` Paul B Mahol 2024-07-05 15:11 ` TADANO Tokumei 2024-07-05 19:04 ` Paul B Mahol
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git