summaryrefslogtreecommitdiff
path: root/src/gen6_mfd.c
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-06-04 18:25:33 +0200
committerXiang, Haihao <haihao.xiang@intel.com>2014-06-16 11:53:35 +0800
commitd2262e37a4737d0d03004c0b34165180ddb1d956 (patch)
tree3c539fa4813a42577cdf4578d6ef08a5a2709589 /src/gen6_mfd.c
parentda8a7e9accb5f8e1913440fdd2d662af6a0b7ef1 (diff)
downloadlibva-intel-driver-d2262e37a4737d0d03004c0b34165180ddb1d956.tar.gz
decoder: h264: improve AVC_REF_IDX_STATE for MVC.
Each Reference List Entry has Bit 6 set to one if the reference picture is to be used as a long-term reference picture. However, the H.264 standard, and subsequently the VA-API specs, makes it possible to mark the picture as "used for short-term reference", as "used for long-term reference", or even none of those flags. This means we have to handle a minimum of 3 states. This doesn't fit the range of a single bit. Let's examine how this could be fixed from known practices. There are cases where the picture is added to RefPicListX[] even if it is not marked as "used for short-term reference" or "used for long-term reference": MVC with inter-view reference components or inter-view only reference components [H.8.4]. Ultimately, this has an incidence on the value of colZeroFlag (8.4.1.2.2). Since there is no way to program that, and that it depends on the picture to be marked as "used for short-term reference" or not, then it looks reasonable to imply Bit 6 (LongTermPicFlag) as a picture that is *not* "used for short-term reference", i.e. thus including genuine long-term reference pictures, and those that are neither long-term reference nor short-term reference pictures. In practice, this fixes MVCNV-2.264. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> (cherry picked from commit edbdc0e87919d8b7261d882a32b2d3c271660931)
Diffstat (limited to 'src/gen6_mfd.c')
0 files changed, 0 insertions, 0 deletions