diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 02:08:31 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 02:08:31 +0000 |
commit | 5194d8791e30f968e569b6b452f9b4374298a539 (patch) | |
tree | 17046c404b6a50823a0a5992328c33403f405559 /libmpdemux/demuxer.c | |
parent | fc8277500b16781708ab2ac5a2c6cbe25913bb77 (diff) | |
download | mpv-5194d8791e30f968e569b6b452f9b4374298a539.tar.bz2 mpv-5194d8791e30f968e569b6b452f9b4374298a539.tar.xz |
yuv4mpeg2 (mjpegtools) support by Rik Snel <rsnel@cube.dyndns.org>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3787 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r-- | libmpdemux/demuxer.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 85da5ffc48..ad1f379086 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -168,6 +168,7 @@ extern int tv_param_on; extern int demux_tv_fill_buffer(demuxer_t *demux, tvi_handle_t *tvh); extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh); #endif +int demux_y4m_fill_buffer(demuxer_t *demux); int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){ // Note: parameter 'ds' can be NULL! @@ -186,6 +187,7 @@ int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){ #ifdef USE_TV case DEMUXER_TYPE_TV: return demux_tv_fill_buffer(demux, tv_handler); #endif + case DEMUXER_TYPE_Y4M: return demux_y4m_fill_buffer(demux); } return 0; } @@ -363,6 +365,8 @@ int demux_open_fli(demuxer_t* demuxer); extern int vivo_check_file(demuxer_t *demuxer); extern void demux_open_vivo(demuxer_t *demuxer); +extern int y4m_check_file(demuxer_t *demuxer); +extern void demux_open_y4m(demuxer_t *demuxer); extern int real_check_file(demuxer_t *demuxer); extern void demux_open_real(demuxer_t *demuxer); @@ -414,6 +418,14 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_ASF){ file_format=DEMUXER_TYPE_ASF; } } +//=============== Try to open as Y4M file: ================= +if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_Y4M){ + demuxer=new_demuxer(stream,DEMUXER_TYPE_Y4M,audio_id,video_id,dvdsub_id); + if(y4m_check_file(demuxer)){ + mp_msg(MSGT_DEMUXER,MSGL_INFO,"Detected YUV4MPEG2 file format!\n"); + file_format=DEMUXER_TYPE_Y4M; + } +} //=============== Try to open as MOV file: ================= if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MOV){ demuxer=new_demuxer(stream,DEMUXER_TYPE_MOV,audio_id,video_id,dvdsub_id); @@ -543,6 +555,10 @@ switch(file_format){ demux_open_vivo(demuxer); break; } + case DEMUXER_TYPE_Y4M: { + demux_open_y4m(demuxer); + break; + } case DEMUXER_TYPE_REAL: { demux_open_real(demuxer); break; |