On Tue, 25 Aug 2015 09:50:47 -0700 Philip Langdale <phil...@overt.org> wrote:
> On 2015-08-24 19:58, James Almer wrote: > > Signed-off-by: James Almer <jamr...@gmail.com> > > --- > > Untested as i don't have a vdpau system. > > See > > http://fate.ffmpeg.org/report.cgi?time=20150823144028&slot=x86_64-archlinux-gcc-random > > > > libavcodec/vdpau.c | 44 > > +++++++++++++++++++++++--------------------- 1 file changed, 23 > > insertions(+), 21 deletions(-) > > > > diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c > > index 7cb8ad2..b530466 100644 > > --- a/libavcodec/vdpau.c > > +++ b/libavcodec/vdpau.c > > @@ -358,7 +358,25 @@ int ff_vdpau_add_buffer(struct > > vdpau_picture_context *pic_ctx, > > > > /* Obsolete non-hwaccel VDPAU support below... */ > > > > -#if CONFIG_H264_VDPAU_DECODER && FF_API_VDPAU > > +#if FF_API_VDPAU > > +void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf, > > int buf_size) > > +{ > > + struct vdpau_render_state *render = (struct > > vdpau_render_state*)data; > > + assert(render); > > + > > + render->bitstream_buffers= av_fast_realloc( > > + render->bitstream_buffers, > > + &render->bitstream_buffers_allocated, > > + > > sizeof(*render->bitstream_buffers)*(render->bitstream_buffers_used > > + 1) > > + ); > > + > > + > > render->bitstream_buffers[render->bitstream_buffers_used].struct_version > > = VDP_BITSTREAM_BUFFER_VERSION; > > + > > render->bitstream_buffers[render->bitstream_buffers_used].bitstream > > = buf; > > + > > render->bitstream_buffers[render->bitstream_buffers_used].bitstream_bytes > > = buf_size; > > + render->bitstream_buffers_used++; > > +} > > + > > +#if CONFIG_H264_VDPAU_DECODER > > void ff_vdpau_h264_set_reference_frames(H264Context *h) > > { > > struct vdpau_render_state *render, *render_ref; > > @@ -427,23 +445,6 @@ void > > ff_vdpau_h264_set_reference_frames(H264Context *h) > > } > > } > > > > -void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf, > > int buf_size) > > -{ > > - struct vdpau_render_state *render = (struct > > vdpau_render_state*)data; > > - assert(render); > > - > > - render->bitstream_buffers= av_fast_realloc( > > - render->bitstream_buffers, > > - &render->bitstream_buffers_allocated, > > - > > sizeof(*render->bitstream_buffers)*(render->bitstream_buffers_used > > + 1) > > - ); > > - > > - > > render->bitstream_buffers[render->bitstream_buffers_used].struct_version > > = VDP_BITSTREAM_BUFFER_VERSION; > > - > > render->bitstream_buffers[render->bitstream_buffers_used].bitstream > > = buf; > > - > > render->bitstream_buffers[render->bitstream_buffers_used].bitstream_bytes > > = buf_size; > > - render->bitstream_buffers_used++; > > -} > > - > > void ff_vdpau_h264_picture_start(H264Context *h) > > { > > struct vdpau_render_state *render; > > @@ -506,7 +507,7 @@ void ff_vdpau_h264_picture_complete(H264Context > > *h) } > > #endif /* CONFIG_H264_VDPAU_DECODER */ > > > > -#if (CONFIG_MPEG_VDPAU_DECODER || CONFIG_MPEG1_VDPAU_DECODER) && > > FF_API_VDPAU > > +#if CONFIG_MPEG_VDPAU_DECODER || CONFIG_MPEG1_VDPAU_DECODER > > void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const > > uint8_t *buf, > > int buf_size, int slice_count) > > { > > @@ -565,7 +566,7 @@ void > > ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t > > *buf, } > > #endif /* CONFIG_MPEG_VDPAU_DECODER || CONFIG_MPEG1_VDPAU_DECODER > > */ > > > > -#if CONFIG_VC1_VDPAU_DECODER && FF_API_VDPAU > > +#if CONFIG_VC1_VDPAU_DECODER > > void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t > > *buf, > > int buf_size) > > { > > @@ -636,7 +637,7 @@ void ff_vdpau_vc1_decode_picture(MpegEncContext > > *s, const uint8_t *buf, > > } > > #endif /* (CONFIG_VC1_VDPAU_DECODER */ > > > > -#if CONFIG_MPEG4_VDPAU_DECODER && FF_API_VDPAU > > +#if CONFIG_MPEG4_VDPAU_DECODER > > void ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *ctx, const > > uint8_t *buf, > > int buf_size) > > { > > @@ -692,6 +693,7 @@ void > > ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *ctx, const uint8_t > > *buf, render->bitstream_buffers_used = 0; > > } > > #endif /* CONFIG_MPEG4_VDPAU_DECODER */ > > +#endif /* FF_API_VDPAU */ > > > > int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile > > *profile) > > { > > This looks correct, but I won't be able to test it until tonight. Compiles fine. Ship it. --phil _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel