diff --git a/src/gallium/frontends/omx/bellagio/vid_dec_h265.c b/src/gallium/frontends/omx/bellagio/vid_dec_h265.c index c50be7804cb3b19f4eb9617a6585b9d27f066b1c..11766691668b47b471ec3b8ac7924c3c1db0d4c8 100644 --- a/src/gallium/frontends/omx/bellagio/vid_dec_h265.c +++ b/src/gallium/frontends/omx/bellagio/vid_dec_h265.c @@ -598,6 +598,9 @@ static void picture_parameter_set(vid_dec_PrivateType *priv, } } + if (vl_vlc_bits_left(&rbsp->nal) == 0) + return; + /* pps_scaling_list_data_present_flag */ if (vl_rbsp_u(rbsp, 1)) scaling_list_data(priv, rbsp, sps); diff --git a/src/gallium/frontends/omx/vid_dec_common.c b/src/gallium/frontends/omx/vid_dec_common.c index 0a59aad1ea7f2e963bae8b669efa2313859ff0bd..b22883b13def4529039acc0a9614cdef70868eff 100644 --- a/src/gallium/frontends/omx/vid_dec_common.c +++ b/src/gallium/frontends/omx/vid_dec_common.c @@ -56,13 +56,13 @@ void vid_dec_NeedTarget(vid_dec_PrivateType *priv) templat.height = priv->codec->height; templat.buffer_format = pscreen->get_video_param( pscreen, - PIPE_VIDEO_PROFILE_UNKNOWN, + priv->profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM, PIPE_VIDEO_CAP_PREFERED_FORMAT ); templat.interlaced = pscreen->get_video_param( pscreen, - PIPE_VIDEO_PROFILE_UNKNOWN, + priv->profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM, PIPE_VIDEO_CAP_PREFERS_INTERLACED );