[Mesa-dev] [PATCH v3] st/vdpau: change the order in which filters are applied(v3)

Nayan Deshmukh nayan26deshmukh at gmail.com
Thu Aug 18 16:58:10 UTC 2016


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.lists at 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]);
>>>
>>>
>>
>>
>


More information about the mesa-dev mailing list