
Data Structures | |
| struct | picture_dpb_t |
| struct | decoder_sys_t |
Defines | |
| #define | DPB_COUNT (3+1) |
Functions | |
| static int | OpenDecoder (vlc_object_t *) |
| static void | CloseDecoder (vlc_object_t *) |
| static picture_t * | DecodeBlock (decoder_t *, block_t **) |
| static block_t * | GetCc (decoder_t *p_dec, bool pb_present[4]) |
| static picture_t * | GetNewPicture (decoder_t *) |
| static void | PutPicture (decoder_t *, picture_t *) |
| static void | GetAR (decoder_t *p_dec) |
| static void | Reset (decoder_t *p_dec) |
| static void | DpbInit (decoder_t *p_dec) |
| Initialize a virtual Decoded Picture Buffer to workaround libmpeg2 deficient API. | |
| static void | DpbClean (decoder_t *p_dec) |
| Empty and reset the current DPB. | |
| static picture_t * | DpbNewPicture (decoder_t *p_dec) |
| Retreive a picture and reserve a place in the DPB. | |
| static void | DpbUnlinkPicture (decoder_t *p_dec, picture_t *p_picture) |
| Unlink the provided picture and ensure that the decoder does not own it anymore. | |
| static int | DpbDisplayPicture (decoder_t *p_dec, picture_t *p_picture) |
| Mark the provided picture as displayed. | |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static picture_dpb_t * | DpbFindPicture (decoder_t *p_dec, picture_t *p_picture) |
| #define DPB_COUNT (3+1) |
Referenced by DpbClean(), DpbFindPicture(), DpbInit(), and DpbNewPicture().
| static void CloseDecoder | ( | vlc_object_t * | p_this | ) | [static] |
References decoder_sys_t::b_after_sequence_header, picture_t::b_force, decoder_sys_t::b_garbage_pic, decoder_t::b_pace_control, decoder_sys_t::b_preroll, decoder_sys_t::b_second_field, decoder_sys_t::b_skip, decoder_sys_t::b_slice_i, BLOCK_FLAG_CORRUPTED, BLOCK_FLAG_DISCONTINUITY, BLOCK_FLAG_PREROLL, BLOCK_FLAG_TYPE_B, BLOCK_FLAG_TYPE_I, BLOCK_FLAG_TYPE_P, block_Release(), decoder_sys_t::cc, cc_Extract(), picture_t::date, decoder_SynchroChoose(), decoder_SynchroDate(), decoder_SynchroDecode(), decoder_SynchroEnd(), decoder_SynchroInit(), decoder_SynchroNewPicture(), decoder_SynchroRelease(), decoder_SynchroReset(), decoder_SynchroTrash(), DpbClean(), DpbDisplayPicture(), DpbNewPicture(), DpbUnlinkPicture(), GetAR(), i, block_t::i_buffer, decoder_sys_t::i_cc_dts, decoder_sys_t::i_cc_flags, decoder_sys_t::i_cc_pts, I_CODING_TYPE, decoder_sys_t::i_current_dts, decoder_sys_t::i_current_pts, block_t::i_dts, block_t::i_flags, decoder_sys_t::i_gop_user_data, decoder_sys_t::i_last_frame_pts, decoder_sys_t::i_previous_dts, decoder_sys_t::i_previous_pts, block_t::i_pts, decoder_sys_t::i_sar_den, decoder_sys_t::i_sar_num, msg_Dbg, msg_Err, block_t::p_buffer, decoder_sys_t::p_gop_user_data, decoder_sys_t::p_info, decoder_sys_t::p_mpeg2dec, decoder_sys_t::p_synchro, decoder_t::p_sys, p_sys, PutPicture(), and Reset().
| static void DpbClean | ( | decoder_t * | p_dec | ) | [static] |
Empty and reset the current DPB.
References picture_dpb_t::b_displayed, picture_dpb_t::b_linked, decoder_DeletePicture(), decoder_UnlinkPicture(), DPB_COUNT, i, decoder_sys_t::p_dpb, picture_dpb_t::p_picture, and decoder_t::p_sys.
Referenced by CloseDecoder(), DecodeBlock(), and Reset().
Mark the provided picture as displayed.
References picture_dpb_t::b_displayed, picture_dpb_t::b_linked, DpbFindPicture(), msg_Err, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DecodeBlock().
| static picture_dpb_t* DpbFindPicture | ( | decoder_t * | p_dec, | |
| picture_t * | p_picture | |||
| ) | [static] |
References DPB_COUNT, i, decoder_sys_t::p_dpb, picture_dpb_t::p_picture, and decoder_t::p_sys.
Referenced by DpbDisplayPicture(), and DpbUnlinkPicture().
| static void DpbInit | ( | decoder_t * | p_dec | ) | [static] |
Initialize a virtual Decoded Picture Buffer to workaround libmpeg2 deficient API.
References DPB_COUNT, i, decoder_sys_t::p_dpb, picture_dpb_t::p_picture, and decoder_t::p_sys.
Referenced by OpenDecoder().
Retreive a picture and reserve a place in the DPB.
References picture_dpb_t::b_displayed, picture_dpb_t::b_linked, picture_t::date, decoder_LinkPicture(), DPB_COUNT, GetNewPicture(), i, msg_Err, decoder_sys_t::p_dpb, picture_dpb_t::p_picture, and decoder_t::p_sys.
Referenced by DecodeBlock().
Unlink the provided picture and ensure that the decoder does not own it anymore.
References picture_dpb_t::b_displayed, picture_dpb_t::b_linked, decoder_DeletePicture(), decoder_UnlinkPicture(), DpbFindPicture(), msg_Err, and picture_dpb_t::p_picture.
Referenced by DecodeBlock().
| static void GetAR | ( | decoder_t * | p_dec | ) | [static] |
References decoder_t::fmt_in, video_format_t::i_sar_den, decoder_sys_t::i_sar_den, video_format_t::i_sar_num, decoder_sys_t::i_sar_num, msg_Dbg, decoder_sys_t::p_info, decoder_t::p_sys, and es_format_t::video.
Referenced by DecodeBlock().
References cc_data_t::b_reorder, BLOCK_FLAG_TYPE_B, BLOCK_FLAG_TYPE_I, BLOCK_FLAG_TYPE_P, block_New, decoder_sys_t::cc, cc_Flush(), i, decoder_sys_t::i_cc_dts, decoder_sys_t::i_cc_flags, decoder_sys_t::i_cc_pts, cc_data_t::i_data, block_t::i_dts, block_t::i_flags, block_t::i_pts, block_t::p_buffer, cc_data_t::p_data, decoder_t::p_sys, and cc_data_t::pb_present.
Referenced by OpenDecoder().
References picture_t::b_progressive, picture_t::b_top_field_first, decoder_NewPicture(), decoder_t::fmt_out, es_format_t::i_codec, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, video_format_t::i_height, picture_t::i_nb_fields, decoder_sys_t::i_sar_den, video_format_t::i_sar_den, decoder_sys_t::i_sar_num, video_format_t::i_sar_num, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_width, decoder_sys_t::p_info, decoder_t::p_sys, es_format_t::video, VLC_CODEC_I420, and VLC_CODEC_I422.
Referenced by DpbNewPicture().
| static int OpenDecoder | ( | vlc_object_t * | p_this | ) | [static] |
References decoder_sys_t::b_garbage_pic, decoder_sys_t::b_preroll, decoder_sys_t::b_second_field, decoder_sys_t::b_skip, decoder_sys_t::b_slice_i, decoder_sys_t::cc, cc_Init(), CPU_CAPABILITY_3DNOW, CPU_CAPABILITY_ALTIVEC, CPU_CAPABILITY_MMX, CPU_CAPABILITY_MMXEXT, CPU_CAPABILITY_NEON, DecodeBlock(), DpbInit(), decoder_t::fmt_in, decoder_t::fmt_out, GetCc(), es_format_t::i_cat, decoder_sys_t::i_cc_dts, decoder_sys_t::i_cc_flags, decoder_sys_t::i_cc_pts, es_format_t::i_codec, decoder_sys_t::i_current_dts, decoder_sys_t::i_current_pts, decoder_sys_t::i_gop_user_data, es_format_t::i_original_fourcc, decoder_sys_t::i_previous_dts, decoder_sys_t::i_previous_pts, decoder_sys_t::i_sar_den, decoder_sys_t::i_sar_num, msg_Err, decoder_sys_t::p_gop_user_data, decoder_sys_t::p_info, decoder_sys_t::p_mpeg2dec, decoder_sys_t::p_synchro, decoder_t::p_sys, p_sys, decoder_t::pf_decode_video, decoder_t::pf_get_cc, VIDEO_ES, VLC_CODEC_MPGV, vlc_CPU(), VLC_EGENERIC, VLC_ENOMEM, VLC_FOURCC, and VLC_SUCCESS.
References plane_t::i_pitch, picture_t::p, decoder_sys_t::p_mpeg2dec, plane_t::p_pixels, decoder_t::p_sys, and Y_PLANE.
Referenced by DecodeBlock().
| static void Reset | ( | decoder_t * | p_dec | ) | [static] |
References decoder_sys_t::cc, cc_Flush(), DpbClean(), decoder_sys_t::p_mpeg2dec, and decoder_t::p_sys.
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
1.5.6