[FFmpeg-devel] [PATCH]Move call to vdpau_h264_set_reference_frames()
Carl Eugen Hoyos
cehoyos
Sat Jan 10 03:17:42 CET 2009
Hi!
Attached patch is my solution to the problem of
vdpau_h264_set_reference_frames() currently called from within add_chunks.
Fortunately, Stephen Warren just wrote me via pm that this was also his
original solution.
Please comment, Carl Eugen
-------------- next part --------------
Index: libavcodec/vdpau_internal.h
===================================================================
--- libavcodec/vdpau_internal.h (revision 16508)
+++ libavcodec/vdpau_internal.h (working copy)
@@ -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 */
Index: libavcodec/h264.c
===================================================================
--- libavcodec/h264.c (revision 16508)
+++ libavcodec/h264.c (working copy)
@@ -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;
Index: libavcodec/vdpauvideo.c
===================================================================
--- libavcodec/vdpauvideo.c (revision 16508)
+++ libavcodec/vdpauvideo.c (working copy)
@@ -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,
More information about the ffmpeg-devel
mailing list