Mercurial > mplayer.hg
view libmpdemux/test.c @ 13395:07708ec98d87
New MD5 sum video output driver. For every frame, it calculates the MD5 sum
and writes a list of those sums to an, optionally specified, output file.
It does not rely on external programs to be installed. The MD5 sum code is
borrowed from the uCIFS library, written by Christopher R. Hertel in 2004
and released under the LGPL license.
Note: This driver is not yet activated and will not be compiled and linked
to libvo. A separate patch will take care of that. This is just for adding
the files to the repository.
author | ivo |
---|---|
date | Mon, 20 Sep 2004 01:01:08 +0000 |
parents | 9a88e80e6314 |
children | 6ff3379a0862 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "config.h" #include "mp_msg.h" #include "stream.h" #include "demuxer.h" #include "stheader.h" //-------------------------- // audio stream skip/resync functions requires only for seeking. // (they should be implemented in the audio codec layer) void skip_audio_frame(sh_audio_t *sh_audio){ } void resync_audio_stream(sh_audio_t *sh_audio){ } int mp_input_check_interrupt(int time){ if(time) usleep(time); return 0; } // for libmpdvdkit2: #include "../get_path.c" int verbose=5; // must be global! int stream_cache_size=0; // for demux_ogg: void* vo_sub=NULL; int vo_osd_changed(int new_value){return 0;} int subcc_enabled=0; float sub_fps=0; int sub_utf8=0; int suboverlap_enabled = 1; float sub_delay=0; //--------------- extern stream_t* open_stream(char* filename,int vcd_track,int* file_format); int main(int argc,char* argv[]){ stream_t* stream=NULL; demuxer_t* demuxer=NULL; int file_format=DEMUXER_TYPE_UNKNOWN; mp_msg_init(verbose+MSGL_STATUS); if(argc>1) stream=open_stream(argv[1],0,&file_format); else // stream=open_stream("/3d/divx/405divx_sm_v2[1].avi",0,&file_format); stream=open_stream("/dev/cdrom",2,&file_format); // VCD track 2 if(!stream){ printf("Cannot open file/device\n"); exit(1); } printf("success: format: %d data: 0x%X - 0x%X\n",file_format, (int)(stream->start_pos),(int)(stream->end_pos)); if(stream_cache_size) stream_enable_cache(stream,stream_cache_size,0,0); demuxer=demux_open(stream,file_format,-1,-1,-1,NULL); if(!demuxer){ printf("Cannot open demuxer\n"); exit(1); } if(demuxer->video->sh) video_read_properties(demuxer->video->sh); return 0; }