[Mesa-stable] [Mesa-dev] [PATCH v2 2/2] st/omx/h264: fix corruption when scaling matrix present flag is set

Ilia Mirkin imirkin at alum.mit.edu
Mon Feb 1 18:59:56 CET 2016


On Mon, Feb 1, 2016 at 12:35 PM, Leo Liu <leo.liu at amd.com> wrote:
> The scaling list should be filled out with zig zag scan
>
> v2: integrate zig zag scan for list 4x4 to vl(Christian)
>
> Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Leo Liu <leo.liu at amd.com>
> ---
>  src/gallium/state_trackers/omx/vid_dec_h264.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/omx/vid_dec_h264.c b/src/gallium/state_trackers/omx/vid_dec_h264.c
> index f66ed89..f17be91 100644
> --- a/src/gallium/state_trackers/omx/vid_dec_h264.c
> +++ b/src/gallium/state_trackers/omx/vid_dec_h264.c
> @@ -35,6 +35,7 @@
>  #include "util/u_memory.h"
>  #include "util/u_video.h"
>  #include "vl/vl_rbsp.h"
> +#include "vl/vl_zscan.h"
>
>  #include "entrypoint.h"
>  #include "vid_dec.h"
> @@ -215,6 +216,7 @@ static void scaling_list(struct vl_rbsp *rbsp, uint8_t *scalingList, unsigned si
>     }
>
>     for (i = 0; i < sizeOfScalingList; ++i ) {
> +      unsigned scan = (sizeOfScalingList == 16) ? vl_zscan_normal_16[i] : vl_zscan_normal[i];

Perhaps determine the list just once rather than on each loop iter?
Also (and more importantly) it appears like you forgot to add
vl_zscan_normal_16?

>
>        if (nextScale != 0) {
>           signed delta_scale = vl_rbsp_se(rbsp);
> @@ -224,8 +226,8 @@ static void scaling_list(struct vl_rbsp *rbsp, uint8_t *scalingList, unsigned si
>              return;
>           }
>        }
> -      scalingList[i] = nextScale == 0 ? lastScale : nextScale;
> -      lastScale = scalingList[i];
> +      scalingList[scan] = nextScale == 0 ? lastScale : nextScale;
> +      lastScale = scalingList[scan];
>     }
>  }
>
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-stable mailing list