diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2014-05-09 15:08:05 +0200 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2014-06-16 11:53:35 +0800 |
commit | da8a7e9accb5f8e1913440fdd2d662af6a0b7ef1 (patch) | |
tree | 123eb593e8dae92896e16a7bc9da8269661dd2dd /src/gen6_mfd.c | |
parent | aeef40157a7d3349ea8afc5dca0c198055027601 (diff) | |
download | libva-intel-driver-da8a7e9accb5f8e1913440fdd2d662af6a0b7ef1.tar.gz libva-intel-driver-da8a7e9accb5f8e1913440fdd2d662af6a0b7ef1.tar.bz2 libva-intel-driver-da8a7e9accb5f8e1913440fdd2d662af6a0b7ef1.zip |
surface: drop SURFACE_DISPLAYED flag.
The optimization by which the VA surface storage is deallocated after
it is displayed and not used for reference or vaDeriveImage() purposes
cannot be implemented safely. We need to honour explicit lifetimes
defined by the upper codec layer.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
(cherry picked from commit 84926ace7a2c5b88df1ada167a1c273128469aad)
Diffstat (limited to 'src/gen6_mfd.c')
-rwxr-xr-x | src/gen6_mfd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c index e22e57a..437ad3b 100755 --- a/src/gen6_mfd.c +++ b/src/gen6_mfd.c @@ -830,8 +830,10 @@ gen6_mfd_avc_decode_init(VADriverContextP ctx, /* Current decoded picture */ obj_surface = decode_state->render_object; - obj_surface->flags &= ~SURFACE_REF_DIS_MASK; - obj_surface->flags |= (pic_param->pic_fields.bits.reference_pic_flag ? SURFACE_REFERENCED : 0); + if (pic_param->pic_fields.bits.reference_pic_flag) + obj_surface->flags |= SURFACE_REFERENCED; + else + obj_surface->flags &= ~SURFACE_REFERENCED; avc_ensure_surface_bo(ctx, decode_state, obj_surface, pic_param); gen6_mfd_init_avc_surface(ctx, pic_param, obj_surface); |