Hi Christian, I checked the height/width of the surface. I get a luma channel with the original size. The Cb and Cr channel with height/2 and width/2. I had tested videos with 4:2:0 chroma format. But I still get the artifacts.
I thought that a possible reason could be that the Cb and Cr should be first interpolated to the original and then only we can apply the filter. So, I tried to use a temporary buffer with original size and writing on it. But I was still getting the artifacts. But since the interpolation that would occur in matrix filter would use the nearest neighbor so I tried to do it using linear interpolation and the artifacts were reduced but still, there were minor artifacts. Regards, Nayan. On Fri, Aug 19, 2016 at 5:57 PM, Christian König <christian.koe...@amd.com> wrote: > Hi Nayan, > > double check the width/height of the surface and also how many you got with > a debugger. > > Actually thinking more about it it could be that top/bottom fields are > separated and so you got width&height/2 and width/2&height/4 compared to the > video mixer. > > Maybe try your idea instead of caching the initialized filters with the > different sizes. > > Regards, > Christian. > > > Am 18.08.2016 um 18:58 schrieb Nayan Deshmukh: >> >> Hi Christian, >> >> I tried using 3 instances of the filter with original height & width, >> height/2 & width and height/2 and width/2. >> I am applying the 3 filters by checking the width and height of >> surfaces respectively. >> >> The chroma artifacts are still present, different from the initial >> ones. Any suggestion for the fixup? >> I tried debugging, but I think I am missing something. >> >> Regards, >> Nayan. >> >> On Wed, Aug 17, 2016 at 2:59 PM, Andy Furniss <adf.li...@gmail.com> wrote: >>> >>> Christian König wrote: >>>> >>>> Top and Bottom field are separated in this representation. >>>> >>>> So you got a maximum of 3 planes multiplied by two fields. >>> >>> >>> Ahh, thanks. >>> >>> >>>> Regards, >>>> Christian. >>>> >>>> Am 17.08.2016 um 11:11 schrieb Andy Furniss: >>>>> >>>>> Nayan Deshmukh wrote: >>>>> >>>>>> Sorry for the misleading language. What I meant was that the filter >>>>>> should only >>>>>> be applied to first resource i.e. use only first sampler_view and >>>>>> surface. As you >>>>>> replaced i by 0 the filter gets applied multiple times. I tried doing >>>>>> that and I am >>>>>> experiencing same problems i.e. artifacts with positive sharpen. >>>>>> >>>>>> So can you please it try it again by replacing VL_MAX_SURFACES with 1 >>>>>> in the >>>>>> for loop. It should probably fix the problems. >>>>> >>>>> >>>>> Possibly a stupid question, because I don't know how this stuff works, >>>>> but why does it loop 6 times per frame rather than 3? >>>>> >>>>> I mean as seen if I put a printf as below. >>>>> >>>>>>>>>>> + for(i = 0; i < VL_MAX_SURFACES; ++i) { >>>>>>>>>>> + if(sampler_views[i] != NULL && surfaces[i] != NULL) { >>>>> >>>>> fprintf(stderr,"ADF: i = %d\n", i); >>>>>>>>>>> >>>>>>>>>>> + if (vmixer->noise_reduction.filter) >>>>>>>>>>> + vl_median_filter_render(vmixer->noise_reduction.filter, >>>>>>>>>>> + sampler_views[i], >>>>>>>>>>> surfaces[i]); >>>>>>>>>>> + >>>>>>>>>>> + if (vmixer->sharpness.filter) >>>>>>>>>>> + vl_matrix_filter_render(vmixer->sharpness.filter, >>>>>>>>>>> + sampler_views[i], >>>>>>>>>>> surfaces[i]); >>>>> >>>>> >>>> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev