Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -457,6 +457,10 @@ static av_cold int init_denoise_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e · 456 unmodified lines | ||
| 457 | 457 | .elems = planes, |
| 458 | 458 | .stages = VK_SHADER_STAGE_COMPUTE_BIT, |
| 459 | 459 | }, |
| 460 | + }; | |
| 461 | + RET(ff_vk_pipeline_descriptor_set_add(vkctx, pl, shd, desc_set, 2, 0, 0)); | |
| 462 | + | |
| 463 | + desc_set = (FFVulkanDescriptorSetBinding []) { | |
| 460 | 464 | { |
| 461 | 465 | .name = "weights_buffer_0", |
| 462 | 466 | .type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, |
| @@ -514,7 +518,8 @@ static av_cold int init_denoise_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e · 51 unmodified lines | ||
| 514 | 518 | .buf_content = "float sums_3[];", |
| 515 | 519 | }, |
| 516 | 520 | }; |
| 517 | − RET(ff_vk_pipeline_descriptor_set_add(vkctx, pl, shd, desc_set, 2 + 2*desc->nb_components, 0, 0)); | |
| 521 | + | |
| 522 | + RET(ff_vk_pipeline_descriptor_set_add(vkctx, pl, shd, desc_set, 2*desc->nb_components, 0, 0)); | |
| 518 | 523 | |
| 519 | 524 | GLSLC(0, void main() ); |
| 520 | 525 | GLSLC(0, { ); |
| @@ -753,8 +758,8 @@ static int nlmeans_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) · 232 unmodified lines | ||
| 753 | 758 | /* Weights/sums */ |
| 754 | 759 | AVBufferRef *ws_buf = NULL; |
| 755 | 760 | FFVkBuffer *ws_vk; |
| 756 | − VkDeviceSize weights_addr[4]; | |
| 757 | − VkDeviceSize sums_addr[4]; | |
| 761 | + VkDeviceSize weights_offs[4]; | |
| 762 | + VkDeviceSize sums_offs[4]; | |
| 758 | 763 | uint32_t ws_stride[4]; |
| 759 | 764 | size_t ws_size[4]; |
| 760 | 765 | size_t ws_total_size = 0; |
| @@ -812,11 +817,11 @@ static int nlmeans_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) · 51 unmodified lines | ||
| 812 | 817 | return err; |
| 813 | 818 | ws_vk = (FFVkBuffer *)ws_buf->data; |
| 814 | 819 | |
| 815 | − weights_addr[0] = 0; | |
| 816 | − sums_addr[0] = ws_total_size; | |
| 820 | + weights_offs[0] = 0; | |
| 821 | + sums_offs[0] = ws_total_size; | |
| 817 | 822 | for (int i = 1; i < desc->nb_components; i++) { |
| 818 | − weights_addr[i] = weights_addr[i - 1] + ws_size[i - 1]; | |
| 819 | − sums_addr[i] = sums_addr[i - 1] + ws_size[i - 1]; | |
| 823 | + weights_offs[i] = weights_offs[i - 1] + ws_size[i - 1]; | |
| 824 | + sums_offs[i] = sums_offs[i - 1] + ws_size[i - 1]; | |
| 820 | 825 | } |
| 821 | 826 | |
| 822 | 827 | /* Output frame */ |
| @@ -933,10 +938,10 @@ static int nlmeans_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) · 110 unmodified lines | ||
| 933 | 938 | s->sampler); |
| 934 | 939 | for (int i = 0; i < desc->nb_components; i++) { |
| 935 | 940 | RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_weights, exec, 0, 1 + i*2 + 0, 0, |
| 936 | − ws_vk, weights_addr[i], ws_size[i], | |
| 941 | + ws_vk, weights_offs[i], ws_size[i], | |
| 937 | 942 | VK_FORMAT_UNDEFINED)); |
| 938 | 943 | RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_weights, exec, 0, 1 + i*2 + 1, 0, |
| 939 | − ws_vk, sums_addr[i], ws_size[i], | |
| 944 | + ws_vk, sums_offs[i], ws_size[i], | |
| 940 | 945 | VK_FORMAT_UNDEFINED)); |
| 941 | 946 | } |
| 942 | 947 | |
| @@ -947,11 +952,11 @@ static int nlmeans_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) · 4 unmodified lines | ||
| 947 | 952 | ff_vk_update_descriptor_img_array(vkctx, &s->pl_denoise, exec, out, out_views, 0, 1, |
| 948 | 953 | VK_IMAGE_LAYOUT_GENERAL, s->sampler); |
| 949 | 954 | for (int i = 0; i < desc->nb_components; i++) { |
| 950 | − RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_denoise, exec, 0, 2 + i*2 + 0, 0, | |
| 951 | − ws_vk, weights_addr[i], ws_size[i], | |
| 955 | + RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_denoise, exec, 1, i*2 + 0, 0, | |
| 956 | + ws_vk, weights_offs[i], ws_size[i], | |
| 952 | 957 | VK_FORMAT_UNDEFINED)); |
| 953 | − RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_denoise, exec, 0, 2 + i*2 + 1, 0, | |
| 954 | − ws_vk, sums_addr[i], ws_size[i], | |
| 958 | + RET(ff_vk_set_descriptor_buffer(&s->vkctx, &s->pl_denoise, exec, 1, i*2 + 1, 0, | |
| 959 | + ws_vk, sums_offs[i], ws_size[i], | |
| 955 | 960 | VK_FORMAT_UNDEFINED)); |
| 956 | 961 | } |
| 957 | 962 | |