On Fri, Jul 5, 2024 at 5:11 PM TADANO Tokumei <aiming...@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 <aiming...@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 <dmng...@gmail.com> > wrote: > >>> > >>>> On Tue, 25 Jun 2024 at 16:07, Paul B Mahol <one...@gmail.com> wrote: > >>>> > >>>>> On Tue, Jun 25, 2024 at 2:47 PM Dennis Mungai <dmng...@gmail.com> > >> wrote: > >>>>> > >>>>>> On Sun, 28 Jun 2020 at 16:59, James Almer <jamr...@gmail.com> > wrote: > >>>>>> > >>>>>>> On 6/27/2020 7:54 AM, Paul B Mahol wrote: > >>>>>>>> On 6/26/20, James Almer <jamr...@gmail.com> wrote: > >>>>>>>>> On 6/26/2020 4:16 PM, Lynne wrote: > >>>>>>>>>> Jun 26, 2020, 19:05 by jamr...@gmail.com: > >>>>>>>>>> > >>>>>>>>>>> On 6/26/2020 1:58 PM, Paul B Mahol wrote: > >>>>>>>>>>> > >>>>>>>>>>>> On 6/26/20, James Almer <jamr...@gmail.com> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> On 6/26/2020 1:13 PM, Paul B Mahol wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> On 6/26/20, Paul B Mahol <one...@gmail.com> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On 6/24/20, Paul B Mahol <one...@gmail.com> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Signed-off-by: Paul B Mahol <one...@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-requ...@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-requ...@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-requ...@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-requ...@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-requ...@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-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".