[Libva] [Patch intel-driver 2/3] decoder: Remove the dependency on H.264 picture parameter
Xiang, Haihao
haihao.xiang at intel.com
Fri Jun 27 01:48:04 PDT 2014
On Fri, 2014-06-27 at 16:23 +0800, lizhong wrote:
> On 06/27/2014 03:03 PM, Xiang, Haihao wrote:
> > From: "Xiang, Haihao" <haihao.xiang at intel.com>
> >
> > Only POC is needed in the algorithm
> >
> > Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
> > ---
> > src/i965_decoder_utils.c | 23 +++++++++++++++++++----
> > 1 file changed, 19 insertions(+), 4 deletions(-)
> >
> > diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c
> > index 4208bac..c0d6a32 100644
> > --- a/src/i965_decoder_utils.c
> > +++ b/src/i965_decoder_utils.c
> > @@ -497,11 +497,11 @@ compare_avc_ref_store_func(const void *p1, const void *p2)
> > return fs1->ref_age - fs2->ref_age;
> > }
> >
> > -void
> > -intel_update_avc_frame_store_index(
> > +static void
> > +intel_update_codec_frame_store_index(
> > VADriverContextP ctx,
> > struct decode_state *decode_state,
> > - VAPictureParameterBufferH264 *pic_param,
> > + int poc,
> > GenFrameStore frame_store[MAX_GEN_REFERENCE_FRAMES],
> > GenFrameStoreContext *fs_ctx
> > )
> Would you want to re-use function "intel_update_codec_frame_store_index"
> for other codec? There is no POC and DPB conception for othe codec, such
> as vc1/mpeg2/mpeg4/vp8.
Yes, for some codec.
> If this function can only be called by avc, maybe it would be better to
> keep the original function name.
I don't change the function name and parameters for avc,
intel_update_avc_frame_store_index() will call this function. see the
code below.
> > @@ -512,7 +512,6 @@ intel_update_avc_frame_store_index(
> > int i, n, num_free_refs;
> >
> > /* Detect changes of access unit */
> > - const int poc = avc_get_picture_poc(&pic_param->CurrPic);
> > if (fs_ctx->age == 0 || fs_ctx->prev_poc != poc)
> > fs_ctx->age++;
> > fs_ctx->prev_poc = poc;
> > @@ -573,6 +572,22 @@ intel_update_avc_frame_store_index(
> > }
> >
> > void
> > +intel_update_avc_frame_store_index(
> > + VADriverContextP ctx,
> > + struct decode_state *decode_state,
> > + VAPictureParameterBufferH264 *pic_param,
> > + GenFrameStore frame_store[MAX_GEN_REFERENCE_FRAMES],
> > + GenFrameStoreContext *fs_ctx
> > +)
> > +{
> > + intel_update_codec_frame_store_index(ctx,
> > + decode_state,
> > + avc_get_picture_poc(&pic_param->CurrPic),
> > + frame_store,
> > + fs_ctx);
> > +}
> > +
> > +void
> > gen75_update_avc_frame_store_index(
> > VADriverContextP ctx,
> > struct decode_state *decode_state,
>
More information about the Libva
mailing list