summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/vdpau
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-08-26 09:56:18 +0200
committerChristian König <christian.koenig@amd.com>2016-08-29 11:23:51 +0200
commit77e4424106290208ebf33eb021766c50741c55e0 (patch)
tree90cea6dffe799a4baec01151b8b7575a33a35f38 /src/gallium/state_trackers/vdpau
parent9c9f45b82410646d2f7a8576d03de9916118bf07 (diff)
downloadexternal_mesa3d-77e4424106290208ebf33eb021766c50741c55e0.zip
external_mesa3d-77e4424106290208ebf33eb021766c50741c55e0.tar.gz
external_mesa3d-77e4424106290208ebf33eb021766c50741c55e0.tar.bz2
st/vdpau: Revert "change the order in which filters are applied(v3)"
This reverts commit 09dff7ae2e179d5a3490481762c6bd3d50430c9f. Turned out this can cause some artifacts in the output. Let's revert it for now until we have sorted out all issues. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Diffstat (limited to 'src/gallium/state_trackers/vdpau')
-rw-r--r--src/gallium/state_trackers/vdpau/mixer.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/gallium/state_trackers/vdpau/mixer.c b/src/gallium/state_trackers/vdpau/mixer.c
index 56b667d..cb0ef03 100644
--- a/src/gallium/state_trackers/vdpau/mixer.c
+++ b/src/gallium/state_trackers/vdpau/mixer.c
@@ -240,8 +240,8 @@ VdpStatus vlVdpVideoMixerRender(VdpVideoMixer mixer,
struct u_rect rect, clip, *prect, dirty_area;
unsigned i, layer = 0;
struct pipe_video_buffer *video_buffer;
- struct pipe_sampler_view *sampler_view, **sampler_views;
- struct pipe_surface *surface, **surfaces;
+ struct pipe_sampler_view *sampler_view;
+ struct pipe_surface *surface;
vlVdpVideoMixer *vmixer;
vlVdpSurface *surf;
@@ -325,22 +325,6 @@ VdpStatus vlVdpVideoMixerRender(VdpVideoMixer mixer,
}
}
- surfaces = video_buffer->get_surfaces(video_buffer);
- sampler_views = video_buffer->get_sampler_view_planes(video_buffer);
-
- for(i = 0; i < VL_MAX_SURFACES; ++i) {
- if(sampler_views[i] != NULL && surfaces[i] != NULL) {
- 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]);
-
- }
- }
-
prect = RectToPipe(video_source_rect, &rect);
if (!prect) {
rect.x0 = 0;
@@ -410,6 +394,14 @@ VdpStatus vlVdpVideoMixerRender(VdpVideoMixer mixer,
else {
vl_compositor_render(&vmixer->cstate, compositor, surface, &dirty_area, true);
+ if (vmixer->noise_reduction.filter)
+ vl_median_filter_render(vmixer->noise_reduction.filter,
+ sampler_view, surface);
+
+ if (vmixer->sharpness.filter)
+ vl_matrix_filter_render(vmixer->sharpness.filter,
+ sampler_view, surface);
+
if (vmixer->bicubic.filter)
vl_bicubic_filter_render(vmixer->bicubic.filter,
sampler_view, dst->surface,