OLD | NEW |
1 /* | 1 /* |
2 * Video Decode and Presentation API for UNIX (VDPAU) is used for | 2 * Video Decode and Presentation API for UNIX (VDPAU) is used for |
3 * HW decode acceleration for MPEG-1/2, H.264 and VC-1. | 3 * HW decode acceleration for MPEG-1/2, H.264 and VC-1. |
4 * | 4 * |
5 * Copyright (c) 2008 NVIDIA | 5 * Copyright (c) 2008 NVIDIA |
6 * | 6 * |
7 * This file is part of FFmpeg. | 7 * This file is part of FFmpeg. |
8 * | 8 * |
9 * FFmpeg is free software; you can redistribute it and/or | 9 * FFmpeg is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Lesser General Public | 10 * modify it under the terms of the GNU Lesser General Public |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 { | 310 { |
311 struct vdpau_render_state *render, *last, *next; | 311 struct vdpau_render_state *render, *last, *next; |
312 int i; | 312 int i; |
313 | 313 |
314 if (!s->current_picture_ptr) return; | 314 if (!s->current_picture_ptr) return; |
315 | 315 |
316 render = (struct vdpau_render_state *)s->current_picture_ptr->data[0]; | 316 render = (struct vdpau_render_state *)s->current_picture_ptr->data[0]; |
317 assert(render); | 317 assert(render); |
318 | 318 |
319 /* fill VdpPictureInfoMPEG4Part2 struct */ | 319 /* fill VdpPictureInfoMPEG4Part2 struct */ |
| 320 render->info.mpeg4.trd[0] = s->pp_time; |
| 321 render->info.mpeg4.trb[0] = s->pb_time; |
| 322 render->info.mpeg4.trd[1] = s->pp_field_time >> 1
; |
| 323 render->info.mpeg4.trb[1] = s->pb_field_time >> 1
; |
320 render->info.mpeg4.vop_time_increment_resolution = s->avctx->time_base.d
en; | 324 render->info.mpeg4.vop_time_increment_resolution = s->avctx->time_base.d
en; |
321 render->info.mpeg4.vop_coding_type = 0; | 325 render->info.mpeg4.vop_coding_type = 0; |
322 render->info.mpeg4.vop_fcode_forward = s->f_code; | 326 render->info.mpeg4.vop_fcode_forward = s->f_code; |
323 render->info.mpeg4.vop_fcode_backward = s->b_code; | 327 render->info.mpeg4.vop_fcode_backward = s->b_code; |
324 render->info.mpeg4.resync_marker_disable = !s->resync_marker; | 328 render->info.mpeg4.resync_marker_disable = !s->resync_marker; |
325 render->info.mpeg4.interlaced = !s->progressive_seque
nce; | 329 render->info.mpeg4.interlaced = !s->progressive_seque
nce; |
326 render->info.mpeg4.quant_type = s->mpeg_quant; | 330 render->info.mpeg4.quant_type = s->mpeg_quant; |
327 render->info.mpeg4.quarter_sample = s->quarter_sample; | 331 render->info.mpeg4.quarter_sample = s->quarter_sample; |
328 render->info.mpeg4.short_video_header = s->avctx->codec->id =
= CODEC_ID_H263; | 332 render->info.mpeg4.short_video_header = s->avctx->codec->id =
= CODEC_ID_H263; |
329 render->info.mpeg4.rounding_control = s->no_rounding; | 333 render->info.mpeg4.rounding_control = s->no_rounding; |
(...skipping 19 matching lines...) Expand all Loading... |
349 render->info.mpeg4.forward_reference = last->surface; | 353 render->info.mpeg4.forward_reference = last->surface; |
350 } | 354 } |
351 | 355 |
352 ff_vdpau_add_data_chunk(s, buf, buf_size); | 356 ff_vdpau_add_data_chunk(s, buf, buf_size); |
353 | 357 |
354 ff_draw_horiz_band(s, 0, s->avctx->height); | 358 ff_draw_horiz_band(s, 0, s->avctx->height); |
355 render->bitstream_buffers_used = 0; | 359 render->bitstream_buffers_used = 0; |
356 } | 360 } |
357 | 361 |
358 /* @}*/ | 362 /* @}*/ |
OLD | NEW |