[Ffmpeg-devel-irc] ffmpeg-devel.log.20190923

burek burek at teamnet.rs
Tue Sep 24 03:05:06 EEST 2019


[02:46:37 CEST] <philipl> Lynne jkqxz: Progress. I'm using hwupload_cuda as a base as it's simpler, and I can get it to correctly initialise a context for the dst side and then call transfer_data_from. Got a pipeline to run producing empty output frames. Now just need to run the copy.
[02:58:18 CEST] <philipl> and I have frames copied. w00t.
[05:05:15 CEST] <cone-071> ffmpeg 03vectronic 07master:598962cd3a68: avformat/dashdec: fix pointer being freed was not allocated
[05:05:15 CEST] <cone-071> ffmpeg 03vectronic 07master:8c90bb8ebb6e: avformat/dashdec: fix segfault when parsing segmentlist
[05:14:39 CEST] <philipl> Lynne: jkqxz: BtbN: https://github.com/philipl/FFmpeg/commit/9be8e74ee9d4897614aa0d541bef05c6c0a2344d
[10:20:48 CEST] <JEEB> hmm
[10:21:26 CEST] <JEEB> when a stream gets removed from PMT in MPEG-TS, should the end-of-stream come from a) demuxer b) the application should catch the "program has updated" metadata and make the EOS happen
[11:07:19 CEST] <durandal_1707> Lynne: what should i read to get friendly with vulkan programming?
[11:31:17 CEST] <BtbN> philipl, btw., sdk 8.0 is dead, no point in pushing patches there
[11:31:44 CEST] <JEEB> the problem is, there are users that can't upgrade drivers and it seems like newer SDK requires newer drivers?
[11:32:09 CEST] <JEEB> we hit that on mpv it seems, where a user had built nvdec with newer headers, and then they failed to load on his older drivers?
[11:32:14 CEST] <BtbN> The oldest still supported legacy driver by nvidia supports SDK 8.1.
[11:32:27 CEST] <BtbN> So there is zero point in still taking care of the 8.0 branch.
[11:32:31 CEST] <JEEB> right
[11:32:38 CEST] <JEEB> I forgot about 8.0/8.1
[11:33:25 CEST] <BtbN> And I'm about to bump the driver req to 435 with SDK 9.1.
[12:06:28 CEST] <Lynne> durandal_1707: I don't know; its complex
[12:08:36 CEST] <Lynne> as far as the lavfi framework goes: shaders (some text) has descritors (which tell what "arguments" the shader has, the type, etc), both of which get fed into the pipeline layout creation, which allocates the "arguments" of the shader, which finally gets compiled into a pipeline
[12:09:18 CEST] <Lynne> a pipeline represents a single compute shader (and optionally vertex+fragment+compute shader which is done differently and there's no code for yet)
[12:10:37 CEST] <Lynne> to run the pipeline, you need a command buffer which you record commands into, one of which should be to bind the pipeline layout, and then you submit that to a queue which manages behind the scenes queueing of the GPU and such
[12:11:22 CEST] <Lynne> I skipped a lot but just look at something like the scale filter
[12:30:20 CEST] <cone-346> ffmpeg 03Paul B Mahol 07master:eaf3c4b8bf29: avfilter/vf_v360: fix regression introduced in b342678bc47b4e5
[12:32:20 CEST] <durandal_1707> Lynne: i wish to work on that once it get pushed to ffmpeg master branch
[14:24:50 CEST] <durandal_1707> i found out that my intel card is not supported by vulkan
[14:26:49 CEST] <kierank> Get better one
[14:28:30 CEST] <durandal_1707> kierank: which repo holds source code of vulkan?
[14:29:04 CEST] <kierank> I have no idea, I don't even know what vulkan is
[14:29:08 CEST] <kierank> Ask Lynne
[15:02:39 CEST] <cone-346> ffmpeg 03James Almer 07master:d889ae33962e: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:06:27 CEST] <Lynne> philipl: that's a much nicer solution that hwmap
[15:12:59 CEST] <cone-346> ffmpeg 03James Almer 07release/3.2:7df1cb3dce1e: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:13:02 CEST] <cone-346> ffmpeg 03James Almer 07release/3.4:45bf2f4d72f1: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:13:04 CEST] <cone-346> ffmpeg 03James Almer 07release/4.0:693f3926ddd9: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:13:07 CEST] <cone-346> ffmpeg 03James Almer 07release/4.1:11cce24e04e1: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:13:09 CEST] <cone-346> ffmpeg 03James Almer 07release/4.2:25273ef23aef: avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
[15:32:04 CEST] <BtbN> Nvidia is deprecating parts of cuvid in SDK 9.1, pointing to use FFmpeg instead.
[15:32:19 CEST] <BtbN> SDK 9.1 is now imported into ffnvcodec
[15:50:42 CEST] <philipl> BtbN: thanks. what did they deprecate? the weird parts we never used? presumably not the parser yet.
[15:51:00 CEST] <BtbN> Yeah, the weird video source API
[15:51:15 CEST] <BtbN> basically libavformat kinda features
[16:01:59 CEST] <cone-346> ffmpeg 03Timo Rothenpieler 07master:648f5c93820e: avcodec/nvenc: add driver version info for SDK 9.1
[16:56:26 CEST] <Lynne> philipl: could the cuda->vulkan mapping also be done using the other transfer function?
[17:11:51 CEST] <philipl> Lynne: yes. I'll experiment with that this week
[17:14:37 CEST] <Lynne> tnx, would be nice to not have to do a pool init in the mapping function
[17:17:43 CEST] <durandal_1707> the only way i can try vulkan is to enable 820M nvidia card, but i can not enable it at all
[17:18:22 CEST] <Lynne> sacrifice a usb flash and install arch on it with the proprietary drivers
[17:19:40 CEST] <durandal_1707> i already have drivers
[17:19:49 CEST] <durandal_1707> but on ubuntu
[17:50:57 CEST] <BtbN> ah shit, I typoed the windows version...
[17:58:01 CEST] <jamrial> BtbN: in ffmpeg or nv-codec-headers?
[17:58:37 CEST] <BtbN> ffmpeg
[17:58:41 CEST] <BtbN> codec-headers is correct
[19:22:53 CEST] <durandal_1707> Lynne: do you have command example how to use vulkan filters?
[19:47:18 CEST] <durandal_1707> ffmpeg -i ~/Videos/red-leaf-tips.avi -init_hw_device vulkan=v:'Intel(R) HD Graphics 5500 (Broadwell GT2)' -filter_hw_device v -vf format=gbrp,hwupload,avgblur_vulkan=5:15:5,hwdownload -f null -
[19:47:37 CEST] <durandal_1707> i get: Invalid output format monow for hwframe download.
[19:50:49 CEST] <durandal_1707> i get zero pixels in output
[19:54:33 CEST] <durandal_1707> the avgblur_vulkan filter does not work for me, scale_vulkan and chromaber_vulkan work as expected
[19:55:09 CEST] <kierank> Very sad
[19:57:43 CEST] <durandal_1707> it may also hang here
[19:58:07 CEST] <durandal_1707> kierank: everything OK with you?
[19:58:31 CEST] <kierank> Yes
[20:04:27 CEST] <philipl> durandal_1707: you need a format=<something> after the hwdownload
[20:05:10 CEST] <durandal_1707> yes i added it on both sided
[20:05:46 CEST] <Lynne> durandal_1707: does the avgblur filter crash your gpu or what do you mean it doesn't work?
[20:07:45 CEST] <Lynne> it should crash your gpu if you 1.) hwmap from vaapi/drm and 2.) the image size is not modulo 16 iirc
[20:07:54 CEST] <durandal_1707> Lynne: it either gives green output or hangs gpu, so mesa reset it
[20:08:27 CEST] <durandal_1707> and yes i use drm i think
[20:08:58 CEST] <Lynne> yes, its a known bug, its in their issue tracker, they haven't done anything about it for a year, so I'm letting them take the shame
[20:09:21 CEST] <durandal_1707> and hwupload/hwdownload overhead is sooo HUGE that it is not worth using single instance of filter (scale_vulkan in this case)
[20:10:04 CEST] <Lynne> I know, right? that's why there was a lot of work to do on the interops
[20:10:51 CEST] <Lynne> but nlmeans_vulkan should be faster than the software nlmeans so it would be worth it for such a filter, similar to nlmeans_opencl
[20:13:33 CEST] <Lynne> also the 360 software filter should also be much slower than a hwupload/filter/hwdownload
[20:14:36 CEST] <durandal_1707> Lynne: well, 360 use LUTs, i doubt vulkan one could do the same, (allocating bunch of textures)
[20:15:02 CEST] <durandal_1707> actual slowdown comes from interpolation in CPU
[20:16:23 CEST] <durandal_1707> if one does not do LUTs approach, but use sin/cos/tan.. functions in direct approach, how still one can gain?
[20:16:49 CEST] <Lynne> bilinear interpolation is free on GPUs and anything above is hugely faster than the CPU
[20:17:53 CEST] <durandal_1707> Lynne: how one do bilinear on GPUs? in 360 you give pixels with weights to use.
[20:18:11 CEST] <Lynne> trig operations are also very fast, and you have a few thousand threads working on a block of the image
[20:18:58 CEST] <Lynne> durandal_1707: texture(image, position) does bilinear sampling, where position is a float
[20:20:39 CEST] <Lynne> so texture(image, position + vec2(0.5, 0.0)) will give you a bilinearly interpolated value of 2 horizontally neighbouring pixels
[22:52:48 CEST] <cone-769> ffmpeg 03Moritz Barsnick 07master:e9e9f79a1908: avformat/hashenc: fix incorrect use of av_mallocz_array()
[22:52:48 CEST] <cone-769> ffmpeg 03Limin Wang 07master:3104100a1270: avcodec/exr: cosmetics
[00:00:00 CEST] --- Tue Sep 24 2019


More information about the Ffmpeg-devel-irc mailing list