# HG changeset patch # User cehoyos # Date 1231555507 0 # Node ID a5a04d73a57057cca6722a1729ce087ecee85ab2 # Parent 24c5744c3e9670d5cea35c95d3c771b036a684d9 Move vdpau_h264_set_reference_frames() call from vdpauvideo.c into h264.c. diff -r 24c5744c3e96 -r a5a04d73a570 h264.c --- a/h264.c Fri Jan 09 22:22:40 2009 +0000 +++ b/h264.c Sat Jan 10 02:45:07 2009 +0000 @@ -7624,6 +7624,9 @@ s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_H264; s->current_picture_ptr->pict_type= s->pict_type; + if (ENABLE_H264_VDPAU_DECODER && avctx->codec_id == CODEC_ID_H264_VDPAU) + ff_vdpau_h264_set_reference_frames(h); + if(!s->dropable) { execute_ref_pic_marking(h, h->mmco, h->mmco_index); h->prev_poc_msb= h->poc_msb; diff -r 24c5744c3e96 -r a5a04d73a570 vdpau_internal.h --- a/vdpau_internal.h Fri Jan 09 22:22:40 2009 +0000 +++ b/vdpau_internal.h Sat Jan 10 02:45:07 2009 +0000 @@ -29,6 +29,7 @@ void ff_vdpau_h264_add_data_chunk(H264Context *h, const uint8_t *buf, int buf_size); +void ff_vdpau_h264_set_reference_frames(H264Context *h); void ff_vdpau_h264_picture_complete(H264Context *h); #endif /* AVCODEC_VDPAU_INTERNAL_H */ diff -r 24c5744c3e96 -r a5a04d73a570 vdpauvideo.c --- a/vdpauvideo.c Fri Jan 09 22:22:40 2009 +0000 +++ b/vdpauvideo.c Sat Jan 10 02:45:07 2009 +0000 @@ -37,7 +37,7 @@ * @{ */ -static void vdpau_h264_set_reference_frames(H264Context *h) +void ff_vdpau_h264_set_reference_frames(H264Context *h) { MpegEncContext * s = &h->s; struct vdpau_render_state * render, * render_ref; @@ -114,9 +114,6 @@ render = (struct vdpau_render_state*)s->current_picture_ptr->data[0]; assert(render); - if (!render->bitstream_buffers_used) - vdpau_h264_set_reference_frames(h); - render->bitstream_buffers= av_fast_realloc( render->bitstream_buffers, &render->bitstream_buffers_allocated,