
Data Structures | |
| struct | mp4_chunk_t |
| struct | mp4_track_t |
| struct | demux_sys_t |
Defines | |
| #define | chunk p_track->chunk[p_track->i_chunk] |
| #define | SET(fct) |
| #define | p_decconfig p_esds->data.p_esds->es_descriptor.p_decConfigDescr |
| #define | QT_V0_MAX_SAMPLES 1024 |
Functions | |
| static int | Open (vlc_object_t *) |
| Probes and initializes. | |
| static void | Close (vlc_object_t *) |
| Releases resources. | |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static int | Demux (demux_t *) |
| static int | DemuxRef (demux_t *p_demux) |
| static int | Seek (demux_t *, mtime_t) |
| static int | Control (demux_t *, int, va_list) |
| static void | MP4_TrackCreate (demux_t *, mp4_track_t *, MP4_Box_t *, bool b_force_enable) |
| static void | MP4_TrackDestroy (mp4_track_t *) |
| static int | MP4_TrackSelect (demux_t *, mp4_track_t *, mtime_t) |
| static void | MP4_TrackUnselect (demux_t *, mp4_track_t *) |
| static int | MP4_TrackSeek (demux_t *, mp4_track_t *, mtime_t) |
| static uint64_t | MP4_TrackGetPos (mp4_track_t *) |
| static int | MP4_TrackSampleSize (mp4_track_t *) |
| static int | MP4_TrackNextSample (demux_t *, mp4_track_t *) |
| static void | MP4_TrackSetELST (demux_t *, mp4_track_t *, int64_t) |
| static void | MP4_UpdateSeekpoint (demux_t *) |
| static const char * | MP4_ConvertMacCode (uint16_t) |
| static int64_t | MP4_TrackGetDTS (demux_t *p_demux, mp4_track_t *p_track) |
| static int64_t | MP4_TrackGetPTSDelta (mp4_track_t *p_track) |
| static int64_t | MP4_GetMoviePTS (demux_sys_t *p_sys) |
| static void | LoadChapter (demux_t *p_demux) |
| static void | LoadChapterGpac (demux_t *p_demux, MP4_Box_t *p_chpl) |
| static void | LoadChapterApple (demux_t *p_demux, mp4_track_t *tk) |
| static int | TrackCreateChunksIndex (demux_t *p_demux, mp4_track_t *p_demux_track) |
| static int | TrackCreateSamplesIndex (demux_t *p_demux, mp4_track_t *p_demux_track) |
| static void | TrackGetESSampleRate (unsigned *pi_num, unsigned *pi_den, const mp4_track_t *p_track, unsigned i_sd_index, unsigned i_chunk) |
| It computes the sample rate for a video track using the given sample description index. | |
| static int | TrackCreateES (demux_t *p_demux, mp4_track_t *p_track, unsigned int i_chunk, es_out_id_t **pp_es) |
| static int | TrackTimeToSampleChunk (demux_t *p_demux, mp4_track_t *p_track, int64_t i_start, uint32_t *pi_chunk, uint32_t *pi_sample) |
| static int | TrackGotoChunkSample (demux_t *p_demux, mp4_track_t *p_track, unsigned int i_chunk, unsigned int i_sample) |
| #define chunk p_track->chunk[p_track->i_chunk] |
Referenced by EncodeFrame(), MP4_TrackGetDTS(), TrackGetESSampleRate(), and TrackTimeToSampleChunk().
| #define p_decconfig p_esds->data.p_esds->es_descriptor.p_decConfigDescr |
Referenced by TrackCreateES().
| #define QT_V0_MAX_SAMPLES 1024 |
Referenced by MP4_TrackNextSample(), and MP4_TrackSampleSize().
| #define SET | ( | fct | ) |
Value:
do { char *psz_utf = strdup( p_0xa9xxx->data.p_0xa9xxx->psz_text ? p_0xa9xxx->data.p_0xa9xxx->psz_text : "" ); \ if( psz_utf ) { EnsureUTF8( psz_utf ); \ fct( p_meta, psz_utf ); free( psz_utf ); } } while(0)
Referenced by Control(), Demux(), ReadMeta(), ReadMetaFromAPE(), ReadMetaFromId3v2(), ReadMetaFromXiph(), VLCInfo::updatePanelWithItem:, and WriteMeta().
| static void Close | ( | vlc_object_t * | p_this | ) | [static] |
Releases resources.
Close the module.
Destroys the X11 window.
Disconnect from the X server.
Close a SDL video output.
It destroys an OpenGL vout display.
Terminate a vout display created by Open.
It destroyes a Direct3D vout display.
Terminate an output method created by Open.
Release the drawable.
Close a libcaca video output.
Close a aa video output method.
Close the filter.
Terminate a splitter module.
This function closes a clone video splitter module.
Common close function.
Releases allocate resources.
Close: Destructor.
| p_this | pointer to this filter object | |
| p_this,: | the filter object |
| static int Control | ( | demux_t * | p_demux, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References MP4_Box_s::data, DEMUX_GET_ATTACHMENTS, DEMUX_GET_FPS, DEMUX_GET_LENGTH, DEMUX_GET_META, DEMUX_GET_POSITION, DEMUX_GET_TIME, DEMUX_GET_TITLE_INFO, DEMUX_HAS_UNSUPPORTED_META, DEMUX_SET_GROUP, DEMUX_SET_NEXT_DEMUX_TIME, DEMUX_SET_POSITION, DEMUX_SET_SEEKPOINT, DEMUX_SET_TIME, DEMUX_SET_TITLE, demux_sys_t::f_fps, FOURCC_0xa9alb, FOURCC_0xa9ART, FOURCC_0xa9aut, FOURCC_0xa9cmt, FOURCC_0xa9com, FOURCC_0xa9cpy, FOURCC_0xa9day, FOURCC_0xa9des, FOURCC_0xa9dir, FOURCC_0xa9dis, FOURCC_0xa9dsa, FOURCC_0xa9enc, FOURCC_0xa9fmt, FOURCC_0xa9gen, FOURCC_0xa9hst, FOURCC_0xa9inf, FOURCC_0xa9nam, FOURCC_0xa9ope, FOURCC_0xa9prd, FOURCC_0xa9prf, FOURCC_0xa9req, FOURCC_0xa9src, FOURCC_0xa9swr, FOURCC_0xa9trk, FOURCC_0xa9url, FOURCC_0xa9wrt, FOURCC_gnre, FOURCC_trkn, FOURCC_WLOC, demux_sys_t::i_duration, MP4_Box_data_gnre_t::i_genre, demux_sys_t::i_time, demux_sys_t::i_timescale, MP4_Box_data_trkn_t::i_track_number, MP4_Box_s::i_type, MP4_BoxGet(), msg_Warn, NUM_GENRES, MP4_Box_data_s::p_0xa9xxx, MP4_Box_s::p_first, MP4_Box_data_s::p_gnre, MP4_Box_s::p_next, demux_sys_t::p_root, demux_t::p_sys, demux_sys_t::p_title, MP4_Box_data_s::p_trkn, ppsz_genres, Seek(), SET, VLC_EGENERIC, vlc_input_title_Duplicate(), vlc_meta_SetAlbum, vlc_meta_SetArtist, vlc_meta_SetCopyright, vlc_meta_SetDate, vlc_meta_SetDescription, vlc_meta_SetEncodedBy, vlc_meta_SetGenre, vlc_meta_SetTitle, vlc_meta_SetTrackNum, vlc_meta_SetURL, and VLC_SUCCESS.
| static int Demux | ( | demux_t * | p_demux | ) | [static] |
References __MAX, __MIN, b, mp4_track_t::b_chapter, mp4_track_t::b_drms, mp4_track_t::b_ok, mp4_track_t::b_selected, MP4_Box_s::data, drms_decrypt(), drms_get_p_key(), es_out_Control(), ES_OUT_GET_ES_STATE, es_out_Send(), ES_OUT_SET_PCR, mp4_track_t::fmt, GetWBE, block_t::i_buffer, es_format_t::i_cat, es_format_t::i_codec, MP4_Box_data_skcr_t::i_decr, block_t::i_dts, demux_sys_t::i_duration, MP4_Box_data_skcr_t::i_encr, MP4_Box_data_skcr_t::i_init, demux_sys_t::i_pcr, block_t::i_pts, mp4_track_t::i_sample, mp4_track_t::i_sample_count, demux_sys_t::i_time, demux_sys_t::i_timescale, mp4_track_t::i_track_ID, demux_sys_t::i_tracks, MP4_GetMoviePTS(), MP4_TrackGetDTS(), MP4_TrackGetPos(), MP4_TrackGetPTSDelta(), MP4_TrackNextSample(), MP4_TrackSampleSize(), MP4_TrackSelect(), MP4_TrackUnselect(), MP4_UpdateSeekpoint(), msg_Dbg, msg_Warn, demux_t::out, block_t::p_buffer, mp4_track_t::p_drms, mp4_track_t::p_es, MP4_Box_data_s::p_skcr, mp4_track_t::p_skcr, demux_t::p_sys, demux_t::s, SPU_ES, stream_Block(), stream_Seek(), tk, demux_sys_t::track, VIDEO_ES, VLC_FOURCC, VLC_TS_0, and VLC_TS_INVALID.
| static int DemuxRef | ( | demux_t * | p_demux | ) | [static] |
| static void LoadChapter | ( | demux_t * | p_demux | ) | [static] |
References mp4_track_t::b_ok, MP4_Box_s::data, mp4_track_t::fmt, es_format_t::i_cat, MP4_Box_data_chpl_t::i_chapter, es_format_t::i_codec, MP4_Box_data_tref_generic_t::i_entry_count, MP4_Box_data_tref_generic_t::i_track_ID, mp4_track_t::i_track_ID, demux_sys_t::i_tracks, LoadChapterApple(), LoadChapterGpac(), MP4_BoxGet(), MP4_Box_data_s::p_chpl, demux_sys_t::p_root, demux_t::p_sys, demux_sys_t::p_tref_chap, MP4_Box_data_s::p_tref_generic, SPU_ES, tk, demux_sys_t::track, and VLC_FOURCC.
| static void LoadChapterApple | ( | demux_t * | p_demux, | |
| mp4_track_t * | tk | |||
| ) | [static] |
References __MAX, __MIN, mp4_track_t::chunk, EnsureUTF8(), GetWBE, mp4_track_t::i_chunk, mp4_track_t::i_sample, mp4_chunk_t::i_sample_count, mp4_track_t::i_sample_count, mp4_chunk_t::i_sample_first, seekpoint_t::i_time_offset, MP4_TrackGetDTS(), MP4_TrackGetPos(), MP4_TrackGetPTSDelta(), MP4_TrackSampleSize(), demux_t::p_sys, demux_sys_t::p_title, seekpoint_t::psz_name, demux_t::s, stream_Read(), stream_Seek(), strndup(), TAB_APPEND, vlc_input_title_New(), and vlc_seekpoint_New().
Referenced by LoadChapter().
References MP4_Box_data_chpl_t::chapter, MP4_Box_s::data, EnsureUTF8(), MP4_Box_data_chpl_t::i_chapter, MP4_Box_data_chpl_t::i_start, seekpoint_t::i_time_offset, MP4_Box_data_s::p_chpl, demux_t::p_sys, demux_sys_t::p_title, MP4_Box_data_chpl_t::psz_name, seekpoint_t::psz_name, strdup(), TAB_APPEND, vlc_input_title_New(), and vlc_seekpoint_New().
Referenced by LoadChapter().
| static const char * MP4_ConvertMacCode | ( | uint16_t | i_code | ) | [static] |
Referenced by MP4_TrackCreate().
| static int64_t MP4_GetMoviePTS | ( | demux_sys_t * | p_sys | ) | [inline, static] |
References demux_sys_t::i_time, and demux_sys_t::i_timescale.
Referenced by Demux(), and MP4_UpdateSeekpoint().
| static void MP4_TrackCreate | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| MP4_Box_t * | p_box_trak, | |||
| bool | b_force_enable | |||
| ) | [static] |
References AUDIO_ES, mp4_track_t::b_chapter, mp4_track_t::b_drms, mp4_track_t::b_enable, mp4_track_t::b_mac_encoding, mp4_track_t::b_ok, mp4_track_t::b_selected, mp4_track_t::chunk, MP4_Box_s::data, es_format_Init(), mp4_track_t::fmt, FOURCC_0xa9nam, FOURCC_sbtl, FOURCC_soun, FOURCC_subp, FOURCC_text, FOURCC_tx3g, FOURCC_vide, es_format_t::i_cat, mp4_track_t::i_chunk, mp4_track_t::i_chunk_count, mp4_track_t::i_elst, mp4_track_t::i_elst_time, MP4_Box_data_tref_generic_t::i_entry_count, MP4_Box_data_elst_s::i_entry_count, mp4_chunk_t::i_first_dts, MP4_Box_data_tkhd_s::i_flags, MP4_Box_data_hdlr_s::i_handler_type, MP4_Box_data_tkhd_s::i_height, mp4_track_t::i_height, MP4_Box_data_mdhd_s::i_language, MP4_Box_data_mdhd_s::i_language_code, MP4_Box_data_elst_s::i_media_rate_fraction, MP4_Box_data_elst_s::i_media_rate_integer, MP4_Box_data_elst_s::i_media_time, es_format_t::i_priority, mp4_track_t::i_sample, mp4_chunk_t::i_sample_count, MP4_Box_data_elst_s::i_segment_duration, demux_sys_t::i_timescale, MP4_Box_data_mdhd_s::i_timescale, mp4_track_t::i_timescale, MP4_Box_data_tref_generic_t::i_track_ID, MP4_Box_data_tkhd_s::i_track_ID, mp4_track_t::i_track_ID, MP4_Box_s::i_type, MP4_Box_data_tkhd_s::i_width, mp4_track_t::i_width, MP4_BoxGet(), MP4_ConvertMacCode(), MP4_TRACK_ENABLED, msg_Dbg, msg_Err, msg_Warn, MP4_Box_data_s::p_0xa9xxx, MP4_Box_data_sample_vide_s::p_drms, MP4_Box_data_sample_soun_s::p_drms, mp4_track_t::p_drms, MP4_Box_data_s::p_elst, mp4_track_t::p_elst, mp4_track_t::p_es, MP4_Box_s::p_first, MP4_Box_data_s::p_hdlr, MP4_Box_data_s::p_mdhd, MP4_Box_s::p_next, MP4_Box_data_s::p_sample_soun, MP4_Box_data_s::p_sample_vide, mp4_track_t::p_skcr, mp4_track_t::p_stbl, mp4_track_t::p_stsd, demux_t::p_sys, MP4_Box_data_s::p_tkhd, demux_sys_t::p_tref_chap, MP4_Box_data_s::p_tref_generic, es_format_t::psz_description, es_format_t::psz_language, MP4_Box_data_0xa9xxx_t::psz_text, SPU_ES, strdup(), TrackCreateChunksIndex(), TrackCreateES(), TrackCreateSamplesIndex(), UNKNOWN_ES, and VIDEO_ES.
| static void MP4_TrackDestroy | ( | mp4_track_t * | p_track | ) | [static] |
References mp4_track_t::b_enable, mp4_track_t::b_ok, mp4_track_t::b_selected, mp4_track_t::chunk, es_format_Clean(), mp4_track_t::fmt, FREENULL, mp4_track_t::i_chunk_count, mp4_track_t::i_sample_size, mp4_chunk_t::p_sample_count_dts, mp4_chunk_t::p_sample_count_pts, mp4_chunk_t::p_sample_delta_dts, mp4_chunk_t::p_sample_offset_pts, and mp4_track_t::p_sample_size.
| static int64_t MP4_TrackGetDTS | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track | |||
| ) | [inline, static] |
References chunk, MP4_Box_s::data, mp4_track_t::i_elst, mp4_track_t::i_elst_time, MP4_Box_data_elst_s::i_media_rate_fraction, MP4_Box_data_elst_s::i_media_rate_integer, MP4_Box_data_elst_s::i_media_time, mp4_track_t::i_sample, demux_sys_t::i_timescale, mp4_track_t::i_timescale, MP4_Box_data_s::p_elst, mp4_track_t::p_elst, demux_t::p_sys, and p_sys.
Referenced by Demux(), LoadChapterApple(), and MP4_TrackNextSample().
| static uint64_t MP4_TrackGetPos | ( | mp4_track_t * | p_track | ) | [static] |
References es_format_t::audio, mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::fmt, audio_format_t::i_blockalign, MP4_Box_data_sample_soun_s::i_bytes_per_frame, mp4_track_t::i_chunk, mp4_chunk_t::i_offset, MP4_Box_data_sample_soun_s::i_qt_version, mp4_track_t::i_sample, mp4_chunk_t::i_sample_first, MP4_Box_data_sample_soun_s::i_sample_per_packet, mp4_track_t::i_sample_size, mp4_track_t::p_sample, mp4_track_t::p_sample_size, and MP4_Box_data_s::p_sample_soun.
Referenced by Demux(), and LoadChapterApple().
| static int64_t MP4_TrackGetPTSDelta | ( | mp4_track_t * | p_track | ) | [inline, static] |
References mp4_track_t::chunk, mp4_track_t::i_chunk, mp4_track_t::i_sample, mp4_chunk_t::i_sample_first, mp4_track_t::i_timescale, mp4_chunk_t::p_sample_count_pts, and mp4_chunk_t::p_sample_offset_pts.
Referenced by Demux(), and LoadChapterApple().
| static int MP4_TrackNextSample | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track | |||
| ) | [static] |
References es_format_t::audio, AUDIO_ES, mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::fmt, audio_format_t::i_blockalign, es_format_t::i_cat, mp4_track_t::i_chunk, mp4_track_t::i_elst, mp4_track_t::i_elst_time, MP4_Box_data_elst_s::i_entry_count, MP4_Box_data_sample_soun_s::i_qt_version, mp4_track_t::i_sample, mp4_track_t::i_sample_count, mp4_chunk_t::i_sample_count, mp4_chunk_t::i_sample_first, MP4_Box_data_sample_soun_s::i_sample_per_packet, mp4_track_t::i_sample_size, MP4_Box_data_elst_s::i_segment_duration, demux_sys_t::i_timescale, mp4_track_t::i_track_ID, MP4_TrackGetDTS(), MP4_TrackSetELST(), MP4_TrackUnselect(), msg_Warn, MP4_Box_data_s::p_elst, mp4_track_t::p_elst, mp4_track_t::p_sample, MP4_Box_data_s::p_sample_soun, demux_t::p_sys, QT_V0_MAX_SAMPLES, TrackGotoChunkSample(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by Demux().
| static int MP4_TrackSampleSize | ( | mp4_track_t * | p_track | ) | [static] |
References __MIN, es_format_t::audio, AUDIO_ES, mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::fmt, audio_format_t::i_blockalign, MP4_Box_data_sample_soun_s::i_bytes_per_frame, es_format_t::i_cat, mp4_track_t::i_chunk, MP4_Box_data_sample_soun_s::i_qt_version, mp4_track_t::i_sample, mp4_chunk_t::i_sample_count, mp4_chunk_t::i_sample_first, MP4_Box_data_sample_soun_s::i_sample_per_packet, mp4_track_t::i_sample_size, mp4_track_t::p_sample, mp4_track_t::p_sample_size, MP4_Box_data_s::p_sample_soun, and QT_V0_MAX_SAMPLES.
Referenced by Demux(), and LoadChapterApple().
| static int MP4_TrackSeek | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| mtime_t | i_start | |||
| ) | [static] |
References mp4_track_t::b_chapter, mp4_track_t::b_ok, mp4_track_t::b_selected, mp4_track_t::i_track_ID, msg_Warn, TrackGotoChunkSample(), TrackTimeToSampleChunk(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by MP4_TrackSelect(), and Seek().
| static int MP4_TrackSelect | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| mtime_t | i_start | |||
| ) | [static] |
References mp4_track_t::b_chapter, mp4_track_t::b_ok, mp4_track_t::b_selected, mp4_track_t::i_track_ID, MP4_TrackSeek(), msg_Warn, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by Demux().
| static void MP4_TrackSetELST | ( | demux_t * | p_demux, | |
| mp4_track_t * | tk, | |||
| int64_t | i_time | |||
| ) | [static] |
References MP4_Box_s::data, mp4_track_t::i_elst, mp4_track_t::i_elst_time, MP4_Box_data_elst_s::i_entry_count, MP4_Box_data_elst_s::i_media_time, MP4_Box_data_elst_s::i_segment_duration, demux_sys_t::i_timescale, msg_Warn, MP4_Box_data_s::p_elst, mp4_track_t::p_elst, and demux_t::p_sys.
Referenced by MP4_TrackNextSample(), and TrackTimeToSampleChunk().
| static void MP4_TrackUnselect | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track | |||
| ) | [static] |
References mp4_track_t::b_chapter, mp4_track_t::b_ok, mp4_track_t::b_selected, es_out_Control(), ES_OUT_SET_ES_STATE, mp4_track_t::i_track_ID, msg_Warn, demux_t::out, and mp4_track_t::p_es.
Referenced by Demux(), and MP4_TrackNextSample().
| static void MP4_UpdateSeekpoint | ( | demux_t * | p_demux | ) | [static] |
| static int Open | ( | vlc_object_t * | p_this | ) | [static] |
Probes and initializes.
Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.
Todo:
Open the module.
Create an X11 window.
Probe the X server.
This function initializes SDL vout method.
It creates an OpenGL vout display.
This function allocates and initialize the DirectX vout display.
It creates a Direct3D vout display.
This function allocates and initializes a FB vout method.
Find the drawable set by libvlc application.
This function initializes libcaca vout method.
This function allocates and initializes a aa vout method.
This function allocates and initializes a Wall splitter module.
Open the filter.
This function allocates and initializes a Clone splitter module.
Open: initialize and create stuff.
Connect to the sftp server and ask for a file.
| p_this,: | the vlc_object |
| p_this | ||
| p_this,: | the filter object |
| static int TrackCreateChunksIndex | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_demux_track | |||
| ) | [static] |
References mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::i_chunk_count, MP4_Box_data_co64_s::i_chunk_offset, MP4_Box_data_stsc_s::i_entry_count, MP4_Box_data_co64_s::i_entry_count, MP4_Box_data_stsc_s::i_first_chunk, mp4_chunk_t::i_first_dts, mp4_chunk_t::i_offset, mp4_chunk_t::i_sample_count, MP4_Box_data_stsc_s::i_sample_description_index, mp4_chunk_t::i_sample_description_index, mp4_chunk_t::i_sample_first, MP4_Box_data_stsc_s::i_samples_per_chunk, mp4_track_t::i_track_ID, MP4_BoxGet(), msg_Dbg, msg_Warn, MP4_Box_data_s::p_co64, mp4_chunk_t::p_sample_count_dts, mp4_chunk_t::p_sample_count_pts, mp4_chunk_t::p_sample_delta_dts, mp4_chunk_t::p_sample_offset_pts, mp4_track_t::p_stbl, MP4_Box_data_s::p_stsc, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
Referenced by MP4_TrackCreate().
| static int TrackCreateES | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| unsigned int | i_chunk, | |||
| es_out_id_t ** | pp_es | |||
| ) | [static] |
References es_format_t::audio, AUDIO_ES, mp4_track_t::b_mac_encoding, mp4_track_t::chunk, MP4_Box_s::data, es_out_Add(), demux_sys_t::f_fps, mp4_track_t::fmt, MP4_Box_data_avcC_t::i_avcC, es_format_t::i_bitrate, MP4_Box_data_dac3_t::i_bitrate_code, video_format_t::i_bits_per_pixel, audio_format_t::i_bitspersample, audio_format_t::i_blockalign, MP4_Box_data_sample_soun_s::i_bytes_per_frame, MP4_Box_data_sample_soun_s::i_bytes_per_packet, MP4_Box_data_sample_soun_s::i_bytes_per_sample, es_format_t::i_cat, MP4_Box_data_sample_soun_s::i_channelcount, audio_format_t::i_channels, es_format_t::i_codec, MP4_Box_data_sample_vide_s::i_depth, es_format_t::i_extra, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, mp4_track_t::i_height, MP4_Box_data_sample_vide_s::i_height, video_format_t::i_height, MP4_Box_data_enda_t::i_little_endian, subs_format_t::i_original_frame_height, subs_format_t::i_original_frame_width, MP4_Box_data_sample_soun_s::i_qt_description, MP4_Box_data_sample_vide_s::i_qt_image_description, MP4_Box_data_sample_soun_s::i_qt_version, audio_format_t::i_rate, mp4_chunk_t::i_sample_description_index, MP4_Box_data_sample_soun_s::i_sample_per_packet, mp4_track_t::i_sample_size, MP4_Box_data_sample_soun_s::i_sampleratehi, MP4_Box_data_sample_soun_s::i_samplesize, video_format_t::i_sar_den, video_format_t::i_sar_num, mp4_track_t::i_timescale, mp4_track_t::i_track_ID, MP4_Box_s::i_type, MP4_Box_data_frma_t::i_type, video_format_t::i_visible_height, video_format_t::i_visible_width, mp4_track_t::i_width, MP4_Box_data_sample_vide_s::i_width, video_format_t::i_width, MP4_BoxGet(), msg_Err, msg_Warn, demux_t::out, MP4_Box_data_avcC_t::p_avcC, MP4_Box_data_s::p_avcC, MP4_Box_data_s::p_dac3, MP4_Box_data_s::p_data, p_decconfig, MP4_Box_data_s::p_enda, MP4_Box_data_s::p_esds, es_format_t::p_extra, MP4_Box_data_s::p_frma, MP4_Box_data_sample_soun_s::p_qt_description, MP4_Box_data_sample_vide_s::p_qt_image_description, mp4_track_t::p_sample, MP4_Box_data_s::p_sample_soun, MP4_Box_data_s::p_sample_vide, mp4_track_t::p_stsd, demux_t::p_sys, subs_format_t::psz_encoding, subs_format_t::spu, SPU_ES, strdup(), es_format_t::subs, TrackGetESSampleRate(), es_format_t::video, VIDEO_ES, VLC_CODEC_ALS, VLC_CODEC_F32B, VLC_CODEC_F32L, VLC_CODEC_F64B, VLC_CODEC_F64L, VLC_EGENERIC, VLC_FOURCC, and VLC_SUCCESS.
Referenced by MP4_TrackCreate(), and TrackGotoChunkSample().
| static int TrackCreateSamplesIndex | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_demux_track | |||
| ) | [static] |
References __MIN, mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::i_chunk_count, MP4_Box_data_stsz_s::i_entry_size, mp4_chunk_t::i_first_dts, mp4_chunk_t::i_last_dts, MP4_Box_data_ctts_s::i_sample_count, MP4_Box_data_stts_s::i_sample_count, mp4_chunk_t::i_sample_count, MP4_Box_data_stsz_s::i_sample_count, mp4_track_t::i_sample_count, MP4_Box_data_stts_s::i_sample_delta, MP4_Box_data_ctts_s::i_sample_offset, mp4_track_t::i_sample_size, MP4_Box_data_stsz_s::i_sample_size, mp4_track_t::i_timescale, mp4_track_t::i_track_ID, MP4_BoxGet(), msg_Dbg, msg_Warn, MP4_Box_data_s::p_ctts, mp4_chunk_t::p_sample_count_dts, mp4_chunk_t::p_sample_count_pts, mp4_chunk_t::p_sample_delta_dts, mp4_chunk_t::p_sample_offset_pts, mp4_track_t::p_sample_size, mp4_track_t::p_stbl, MP4_Box_data_s::p_stsz, MP4_Box_data_s::p_stts, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
Referenced by MP4_TrackCreate().
| static void TrackGetESSampleRate | ( | unsigned * | pi_num, | |
| unsigned * | pi_den, | |||
| const mp4_track_t * | p_track, | |||
| unsigned | i_sd_index, | |||
| unsigned | i_chunk | |||
| ) | [static] |
It computes the sample rate for a video track using the given sample description index.
References chunk, mp4_track_t::chunk, mp4_track_t::i_chunk_count, mp4_chunk_t::i_first_dts, mp4_chunk_t::i_last_dts, mp4_chunk_t::i_sample_count, mp4_chunk_t::i_sample_description_index, mp4_track_t::i_timescale, and vlc_ureduce().
Referenced by TrackCreateES().
| static int TrackGotoChunkSample | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| unsigned int | i_chunk, | |||
| unsigned int | i_sample | |||
| ) | [static] |
References mp4_track_t::b_ok, mp4_track_t::b_selected, mp4_track_t::chunk, es_out_Control(), es_out_Del(), ES_OUT_GET_ES_STATE, ES_OUT_SET_ES, mp4_track_t::i_chunk, mp4_track_t::i_chunk_count, mp4_track_t::i_sample, mp4_chunk_t::i_sample_description_index, mp4_track_t::i_track_ID, msg_Err, msg_Warn, demux_t::out, mp4_track_t::p_es, TrackCreateES(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by MP4_TrackNextSample(), and MP4_TrackSeek().
| static int TrackTimeToSampleChunk | ( | demux_t * | p_demux, | |
| mp4_track_t * | p_track, | |||
| int64_t | i_start, | |||
| uint32_t * | pi_chunk, | |||
| uint32_t * | pi_sample | |||
| ) | [static] |
References chunk, mp4_track_t::chunk, MP4_Box_s::data, mp4_track_t::i_chunk_count, mp4_track_t::i_elst, mp4_track_t::i_elst_time, MP4_Box_data_stss_s::i_entry_count, MP4_Box_data_elst_s::i_entry_count, mp4_chunk_t::i_first_dts, MP4_Box_data_elst_s::i_media_rate_fraction, MP4_Box_data_elst_s::i_media_rate_integer, MP4_Box_data_elst_s::i_media_time, mp4_track_t::i_sample_count, mp4_chunk_t::i_sample_count, mp4_chunk_t::i_sample_first, MP4_Box_data_stss_s::i_sample_number, mp4_track_t::i_timescale, demux_sys_t::i_timescale, mp4_track_t::i_track_ID, MP4_BoxGet(), MP4_TrackSetELST(), msg_Dbg, msg_Warn, MP4_Box_data_s::p_elst, mp4_track_t::p_elst, mp4_chunk_t::p_sample_count_dts, mp4_chunk_t::p_sample_delta_dts, mp4_track_t::p_stbl, MP4_Box_data_s::p_stss, demux_t::p_sys, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by MP4_TrackSeek().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
1.5.6