
Data Structures | |
| struct | decoder_sys_t |
Defines | |
| #define | wait_mt(s) |
| #define | post_mt(s) |
Functions | |
| static void | ffmpeg_InitCodec (decoder_t *) |
| static int | ffmpeg_OpenCodec (decoder_t *) |
| static void | ffmpeg_CopyPicture (decoder_t *, picture_t *, AVFrame *) |
| static int | ffmpeg_GetFrameBuf (struct AVCodecContext *, AVFrame *) |
| static int | ffmpeg_ReGetFrameBuf (struct AVCodecContext *, AVFrame *) |
| static void | ffmpeg_ReleaseFrameBuf (struct AVCodecContext *, AVFrame *) |
| static uint32_t | ffmpeg_CodecTag (vlc_fourcc_t fcc) |
| static picture_t * | ffmpeg_NewPictBuf (decoder_t *p_dec, AVCodecContext *p_context) |
| int | InitVideoDec (decoder_t *p_dec, AVCodecContext *p_context, AVCodec *p_codec, int i_codec_id, const char *psz_namecodec) |
| picture_t * | DecodeVideo (decoder_t *p_dec, block_t **pp_block) |
| void | EndVideoDec (decoder_t *p_dec) |
Variables | |
| static const AVPaletteControl | palette_control |
| #define post_mt | ( | s | ) |
Referenced by DecodeVideo(), EndVideoDec(), and ffmpeg_GetFrameBuf().
| #define wait_mt | ( | s | ) |
Referenced by DecodeVideo(), EndVideoDec(), and ffmpeg_GetFrameBuf().
References __MAX, decoder_sys_t::b_delayed_open, OmxPort::b_direct, decoder_sys_t::b_error, decoder_sys_t::b_first_frame, decoder_sys_t::b_flush, OmxPort::b_flushed, picture_t::b_force, decoder_sys_t::b_has_b_frames, decoder_sys_t::b_hurry_up, decoder_t::b_pace_control, picture_t::b_progressive, OmxPort::b_reconfigure, picture_t::b_top_field_first, BLOCK_FLAG_CORRUPTED, BLOCK_FLAG_DISCONTINUITY, BLOCK_FLAG_END_OF_SEQUENCE, BLOCK_FLAG_PREROLL, block_Realloc(), block_Release(), CopyOmxPicture(), picture_t::date, decoder_DeletePicture(), decoder_GetDisplayDate(), decoder_LinkPicture(), decoder_NewPicture(), OmxPort::definition, ffmpeg_CopyPicture(), ffmpeg_InitCodec(), ffmpeg_NewPictBuf(), ffmpeg_OpenCodec(), OmxPort::fifo, decoder_t::fmt_in, decoder_t::fmt_out, picture_t::format, i, block_t::i_buffer, block_t::i_dts, es_format_t::i_extra, block_t::i_flags, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, video_format_t::i_height, decoder_sys_t::i_late_frames, decoder_sys_t::i_late_frames_start, picture_t::i_nb_fields, block_t::i_pts, decoder_sys_t::i_pts, picture_t::i_qstride, picture_t::i_qtype, video_format_t::i_sar_den, video_format_t::i_sar_num, decoder_sys_t::i_skip_frame, decoder_sys_t::in, mdate(), msg_Dbg, msg_Err, msg_Warn, OMX_BUFFERHEADERTYPE::nAllocLen, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERHEADERTYPE::nFlags, OMX_BUFFERHEADERTYPE::nOffset, OMX_PARAM_PORTDEFINITIONTYPE::nPortIndex, OMX_BUFFERHEADERTYPE::nTimeStamp, OMX_BUFFERFLAG_ENDOFFRAME, OMX_CommandFlush, OMX_EmptyThisBuffer, OMX_FIFO_GET, OMX_FIFO_PEEK, OMX_FillThisBuffer, decoder_sys_t::omx_handle, OMX_SendCommand, decoder_sys_t::out, block_t::p_buffer, decoder_sys_t::p_context, decoder_sys_t::p_ff_pic, decoder_sys_t::p_ports, picture_t::p_q, decoder_t::p_sys, p_sys, decoder_sys_t::p_va, OMX_BUFFERHEADERTYPE::pAppPrivate, OMX_BUFFERHEADERTYPE::pBuffer, OMX_BUFFERHEADERTYPE::pInputPortPrivate, PortReconfigure(), decoder_sys_t::ports, post_mt, OMX_BUFFERHEADERTYPE::pOutputPortPrivate, decoder_sys_t::psz_namecodec, QTYPE_H264, QTYPE_MPEG1, QTYPE_MPEG2, es_format_t::video, VLC_TS_INVALID, and wait_mt.
Referenced by InitVideo(), OpenDecoder(), and OpenVideo().
| void EndVideoDec | ( | decoder_t * | p_dec | ) |
References decoder_sys_t::p_context, decoder_sys_t::p_ff_pic, decoder_t::p_sys, p_sys, decoder_sys_t::p_va, post_mt, decoder_sys_t::sem_mt, vlc_sem_destroy(), vlc_va_Delete(), and wait_mt.
Referenced by CloseDecoder().
| static uint32_t ffmpeg_CodecTag | ( | vlc_fourcc_t | fcc | ) | [static] |
Referenced by InitVideoDec().
| static void ffmpeg_CopyPicture | ( | decoder_t * | p_dec, | |
| picture_t * | p_pic, | |||
| AVFrame * | p_ff_pic | |||
| ) | [static] |
References __MIN, decoder_t::b_error, plane_t::i_pitch, picture_t::i_planes, plane_t::i_visible_lines, msg_Err, picture_t::p, decoder_sys_t::p_context, p_dst, plane_t::p_pixels, decoder_t::p_sys, p_sys, decoder_sys_t::p_va, TestFfmpegChroma(), vlc_memcpy(), VLC_SUCCESS, and vlc_va_Extract().
Referenced by DecodeVideo().
| static int ffmpeg_GetFrameBuf | ( | struct AVCodecContext * | p_context, | |
| AVFrame * | p_ff_pic | |||
| ) | [static] |
References decoder_DeletePicture(), ffmpeg_NewPictBuf(), decoder_t::fmt_out, GetVlcChroma(), i, video_format_t::i_chroma, es_format_t::i_codec, i_height, msg_Dbg, msg_Err, msg_Warn, decoder_t::p_sys, p_sys, post_mt, es_format_t::video, VLC_SUCCESS, vlc_va_Get(), vlc_va_Setup(), and wait_mt.
Referenced by InitVideoDec().
| static void ffmpeg_InitCodec | ( | decoder_t * | p_dec | ) | [static] |
References decoder_t::fmt_in, GetDWBE, decoder_sys_t::i_codec_id, es_format_t::i_extra, decoder_sys_t::p_context, es_format_t::p_extra, decoder_t::p_sys, and p_sys.
Referenced by DecodeVideo(), and InitVideoDec().
| static picture_t* ffmpeg_NewPictBuf | ( | decoder_t * | p_dec, | |
| AVCodecContext * | p_context | |||
| ) | [inline, static] |
References decoder_NewPicture(), decoder_t::fmt_in, decoder_t::fmt_out, GetVlcChroma(), video_format_t::i_chroma, es_format_t::i_codec, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, video_format_t::i_height, video_format_t::i_sar_den, video_format_t::i_sar_num, video_format_t::i_width, decoder_t::p_sys, p_sys, decoder_sys_t::p_va, es_format_t::video, and VLC_CODEC_I420.
Referenced by DecodeVideo(), and ffmpeg_GetFrameBuf().
| static int ffmpeg_OpenCodec | ( | decoder_t * | p_dec | ) | [static] |
References decoder_sys_t::b_delayed_open, decoder_t::fmt_in, video_format_t::i_bits_per_pixel, decoder_sys_t::i_codec_id, video_format_t::i_height, video_format_t::i_width, msg_Dbg, msg_Warn, decoder_sys_t::p_codec, decoder_sys_t::p_context, decoder_t::p_sys, p_sys, decoder_sys_t::psz_namecodec, es_format_t::video, vlc_avcodec_lock(), vlc_avcodec_unlock(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by DecodeVideo(), and InitVideoDec().
| static int ffmpeg_ReGetFrameBuf | ( | struct AVCodecContext * | p_context, | |
| AVFrame * | p_ff_pic | |||
| ) | [static] |
Referenced by InitVideoDec().
| static void ffmpeg_ReleaseFrameBuf | ( | struct AVCodecContext * | p_context, | |
| AVFrame * | p_ff_pic | |||
| ) | [static] |
References decoder_UnlinkPicture(), i, decoder_t::p_sys, p_sys, and vlc_va_Release().
Referenced by InitVideoDec().
| int InitVideoDec | ( | decoder_t * | p_dec, | |
| AVCodecContext * | p_context, | |||
| AVCodec * | p_codec, | |||
| int | i_codec_id, | |||
| const char * | psz_namecodec | |||
| ) |
References __MIN, a, decoder_sys_t::b_delayed_open, decoder_sys_t::b_direct_rendering, decoder_sys_t::b_first_frame, decoder_sys_t::b_flush, decoder_sys_t::b_has_b_frames, decoder_sys_t::b_hurry_up, c, ffmpeg_CodecTag(), ffmpeg_GetFrameBuf(), ffmpeg_InitCodec(), ffmpeg_OpenCodec(), ffmpeg_ReGetFrameBuf(), ffmpeg_ReleaseFrameBuf(), decoder_t::fmt_in, decoder_t::fmt_out, GetVlcChroma(), i, es_format_t::i_cat, video_format_t::i_chroma, es_format_t::i_codec, decoder_sys_t::i_codec_id, decoder_sys_t::i_direct_rendering_used, video_palette_t::i_entries, decoder_sys_t::i_late_frames, es_format_t::i_original_fourcc, decoder_sys_t::i_pts, decoder_sys_t::i_skip_frame, decoder_sys_t::i_skip_idct, msg_Dbg, msg_Err, decoder_sys_t::p_codec, decoder_sys_t::p_context, decoder_sys_t::p_ff_pic, video_format_t::p_palette, decoder_t::p_sys, p_sys, decoder_sys_t::p_va, video_palette_t::palette, decoder_sys_t::palette, decoder_sys_t::psz_namecodec, decoder_sys_t::sem_mt, var_CreateGetBool, var_CreateGetInteger, var_InheritInteger, es_format_t::video, VIDEO_ES, VLC_CODEC_I420, VLC_EGENERIC, VLC_ENOMEM, vlc_GetCPUCount(), vlc_sem_destroy(), vlc_sem_init(), VLC_SUCCESS, and VLC_TS_INVALID.
Referenced by OpenDecoder().
const AVPaletteControl palette_control [static] |
1.5.6