diff options
author | Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com> | 2009-05-05 23:13:25 +0200 |
---|---|---|
committer | Jan Schmidt <thaytan@noraisin.net> | 2009-06-20 15:21:39 +0100 |
commit | 0ffaf06a9ab7dd780a85f0072e3d3571a5e8639e (patch) | |
tree | 0f8fd6e05f41e988204fefea019dc0a09b6dd46f | |
parent | c7c60ad02931019bd5d50f2a01852f63364868b2 (diff) | |
download | gst-plugins-bad-0ffaf06a9ab7dd780a85f0072e3d3571a5e8639e.tar.gz gst-plugins-bad-0ffaf06a9ab7dd780a85f0072e3d3571a5e8639e.tar.bz2 gst-plugins-bad-0ffaf06a9ab7dd780a85f0072e3d3571a5e8639e.zip |
vdpaumpegdec: small code cleanup
-rw-r--r-- | sys/vdpau/gstvdpmpegdecoder.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/sys/vdpau/gstvdpmpegdecoder.c b/sys/vdpau/gstvdpmpegdecoder.c index 680a5496..fe9b3e7c 100644 --- a/sys/vdpau/gstvdpmpegdecoder.c +++ b/sys/vdpau/gstvdpmpegdecoder.c @@ -143,6 +143,7 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, GstClockTime timestamp) { GstVdpDecoder *dec; + VdpPictureInfoMPEG1Or2 *info; GstBuffer *buffer; GstVdpVideoBuffer *outbuf; VdpVideoSurface surface; @@ -151,37 +152,37 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, VdpStatus status; dec = GST_VDP_DECODER (mpeg_dec); + info = &mpeg_dec->vdp_info; buffer = gst_adapter_take_buffer (mpeg_dec->adapter, gst_adapter_available (mpeg_dec->adapter)); - if (mpeg_dec->vdp_info.picture_coding_type != B_FRAME) { - if (mpeg_dec->vdp_info.backward_reference != VDP_INVALID_HANDLE) { + if (info->picture_coding_type != B_FRAME) { + if (info->backward_reference != VDP_INVALID_HANDLE) { gst_buffer_ref (mpeg_dec->b_buffer); gst_vdp_decoder_push_video_buffer (dec, GST_VDP_VIDEO_BUFFER (mpeg_dec->b_buffer)); } - if (mpeg_dec->vdp_info.forward_reference != VDP_INVALID_HANDLE) { + if (info->forward_reference != VDP_INVALID_HANDLE) { gst_buffer_unref (mpeg_dec->f_buffer); - mpeg_dec->vdp_info.forward_reference = VDP_INVALID_HANDLE; + info->forward_reference = VDP_INVALID_HANDLE; } - mpeg_dec->vdp_info.forward_reference = - mpeg_dec->vdp_info.backward_reference; + info->forward_reference = info->backward_reference; mpeg_dec->f_buffer = mpeg_dec->b_buffer; - mpeg_dec->vdp_info.backward_reference = VDP_INVALID_HANDLE; + info->backward_reference = VDP_INVALID_HANDLE; } outbuf = gst_vdp_video_buffer_new (dec->device, VDP_CHROMA_TYPE_420, dec->width, dec->height); GST_BUFFER_TIMESTAMP (outbuf) = timestamp; - if (mpeg_dec->vdp_info.forward_reference != VDP_INVALID_HANDLE && - mpeg_dec->vdp_info.picture_coding_type != I_FRAME) + if (info->forward_reference != VDP_INVALID_HANDLE && + info->picture_coding_type != I_FRAME) gst_vdp_video_buffer_add_reference (outbuf, GST_VDP_VIDEO_BUFFER (mpeg_dec->f_buffer)); - if (mpeg_dec->vdp_info.backward_reference != VDP_INVALID_HANDLE) + if (info->backward_reference != VDP_INVALID_HANDLE) gst_vdp_video_buffer_add_reference (outbuf, GST_VDP_VIDEO_BUFFER (mpeg_dec->b_buffer)); @@ -194,9 +195,9 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, vbit[0].bitstream_bytes = GST_BUFFER_SIZE (buffer); status = device->vdp_decoder_render (mpeg_dec->decoder, surface, - (VdpPictureInfo *) & mpeg_dec->vdp_info, 1, vbit); + (VdpPictureInfo *) info, 1, vbit); gst_buffer_unref (buffer); - mpeg_dec->vdp_info.slice_count = 0; + info->slice_count = 0; if (status != VDP_STATUS_OK) { GST_ELEMENT_ERROR (mpeg_dec, RESOURCE, READ, @@ -209,10 +210,10 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, return GST_FLOW_ERROR; } - if (mpeg_dec->vdp_info.picture_coding_type == B_FRAME) { + if (info->picture_coding_type == B_FRAME) { gst_vdp_decoder_push_video_buffer (dec, GST_VDP_VIDEO_BUFFER (outbuf)); } else { - mpeg_dec->vdp_info.backward_reference = surface; + info->backward_reference = surface; mpeg_dec->b_buffer = GST_BUFFER (outbuf); } |