Mercurial > mplayer.hg
changeset 29017:c9a2d95c580a
New vdpau deinterlacing code needs one reference surface less.
author | cehoyos |
---|---|
date | Tue, 24 Mar 2009 21:47:56 +0000 |
parents | 8e95cca7c58d |
children | b04ff8b244bb |
files | libvo/vo_vdpau.c |
diffstat | 1 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/vo_vdpau.c Tue Mar 24 21:45:39 2009 +0000 +++ b/libvo/vo_vdpau.c Tue Mar 24 21:47:56 2009 +0000 @@ -148,7 +148,7 @@ #define osd_surface output_surfaces[NUM_OUTPUT_SURFACES] static VdpOutputSurface output_surfaces[NUM_OUTPUT_SURFACES + 1]; static VdpVideoSurface deint_surfaces[3]; -static mp_image_t *deint_mpi[3]; +static mp_image_t *deint_mpi[2]; static int output_surface_width, output_surface_height; static VdpVideoMixer video_mixer; @@ -466,7 +466,7 @@ for (i = 0; i < 3; i++) deint_surfaces[i] = VDP_INVALID_HANDLE; - for (i = 0; i < 3; i++) + for (i = 0; i < 2; i++) if (deint_mpi[i]) { deint_mpi[i]->usage_count--; deint_mpi[i] = NULL; @@ -872,9 +872,8 @@ vid_surface_num = rndr - surface_render; if (deint_buffer_past_frames) { mpi->usage_count++; - if (deint_mpi[2]) - deint_mpi[2]->usage_count--; - deint_mpi[2] = deint_mpi[1]; + if (deint_mpi[1]) + deint_mpi[1]->usage_count--; deint_mpi[1] = deint_mpi[0]; deint_mpi[0] = mpi; } @@ -1035,7 +1034,7 @@ deint_type = 3; deint_counter = 0; deint_buffer_past_frames = 0; - deint_mpi[0] = deint_mpi[1] = deint_mpi[2] = NULL; + deint_mpi[0] = deint_mpi[1] = NULL; chroma_deint = 1; pullup = 0; denoise = 0;