diff options
94 files changed, 8823 insertions, 8719 deletions
@@ -385,6 +385,9 @@ Hůrka, Tomáš <tom@hukatronic.cz> * Darwin DVD support (mpdvdkit2) * various fixes +Hysseo, Jehan <hysseo@zemarmot.net> + * af_add, af_switch, af_del, af_clr commands. + Isani, Sidik <lksi@cfht.hawaii.edu> * get_delay() smoothing code (-autosync) * RTC initialization fixes diff --git a/DOCS/default.css b/DOCS/default.css index 557be9623a..dde261b174 100644 --- a/DOCS/default.css +++ b/DOCS/default.css @@ -1,5 +1,5 @@ -body,table { - font-family : Arial, Helvetica, sans-serif; - font-size : 14px; - background : white; +body,table { + font-family : Arial, Helvetica, sans-serif; + font-size : 14px; + background : white; } diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1 index 635fcdb959..f5123b1481 100644 --- a/DOCS/man/de/mplayer.1 +++ b/DOCS/man/de/mplayer.1 @@ -297,6 +297,8 @@ Mache einen Schnappschuss. Beginne/beende die Aufnahme von Schnappschüssen. .IPs "I\ \ \ \ " Zeige den Dateinamen im OSD. +.IPs "P\ \ \ \ " +Zeige den Fortschrittsbalken, die abgelaufene Zeit und die Gesamtzeit im OSD. .IPs "! und @" Spult zum Anfang des vorigen/nächsten Kapitels. .IPs "D (nur bei \-vo xvmc, \-vf yadif, \-vf kerndeint)" diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 5b102868d7..ab1a551abe 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -278,6 +278,8 @@ Take a screenshot. Start/stop taking screenshots. .IPs "I\ \ \ \ " Show filename on the OSD. +.IPs "P\ \ \ \ " +Show progression bar, elapsed time and total duration on the OSD. .IPs "! and @" Seek to the beginning of the previous/next chapter. .IPs "D (\-vo xvmc, \-vo vdpau, \-vf yadif, \-vf kerndeint only)" diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1 index cf33b922c8..3fee7fe302 100644 --- a/DOCS/man/fr/mplayer.1 +++ b/DOCS/man/fr/mplayer.1 @@ -303,6 +303,8 @@ Réalise une capture d'écran. Amorce/arrête la capture d'écran. .IPs "I\ \ \ \ " Affiche le nom de fichier dans l'OSD. +.IPs "P\ \ \ \ " +Affiche la barre d'avancement, le temps écoulé et la durée totale sur l'OSD. .IPs "! and @" Saute au début du chapitre précédent/suivant. .IPs "D (\-vo xvmc, \-vo vdpau, \-vf yadif et \-vf kerndeint uniquement)" @@ -5782,8 +5784,8 @@ Les aires de mémoire mappées contiennent une entête: int nch /*nombre de canaux*/ int size /*taille du tampon*/ unsigned long long counter /*Utilisé pour garder la synchro, mis à jour - chaque fois que de nouvelles données son - exportées.*/ + chaque fois que de nouvelles données son + exportées.*/ .fi .sp 1 Le reste est charge utile, constitué de données 16bit (non-entrelacées). diff --git a/DOCS/tech/codec-devel.txt b/DOCS/tech/codec-devel.txt index 765bf1c281..bc968c9499 100644 --- a/DOCS/tech/codec-devel.txt +++ b/DOCS/tech/codec-devel.txt @@ -43,7 +43,7 @@ understand, then you will either need to somehow convert the format to a media file format that the program does understand, or write your own MPlayer file demuxer that can handle the data. Writing a file demuxer is beyond the scope of this document. - Try to obtain media that stresses all possible modes of a + Try to obtain media that stresses all possible modes of a decoder. If an audio codec is known to work with both mono and stereo data, search for sample media of both types. If a video codec is known to work at 7 different bit depths, then, as painful as it may be, do what you diff --git a/DOCS/tech/colorspaces.txt b/DOCS/tech/colorspaces.txt index 291a435f30..eaf9d221e4 100644 --- a/DOCS/tech/colorspaces.txt +++ b/DOCS/tech/colorspaces.txt @@ -66,9 +66,9 @@ The most misunderstood thingie... In MPlayer, we usually have 3 pointers to the Y, U and V planes, so it doesn't matter what the order of the planes in the memory is: for mp_image_t and libvo's draw_slice(): - planes[0] = Y = luminance - planes[1] = U = Cb = blue - planes[2] = V = Cr = red + planes[0] = Y = luminance + planes[1] = U = Cb = blue + planes[2] = V = Cr = red Note: planes[1] is ALWAYS U, and planes[2] is V, the FOURCC (YV12 vs. I420) doesn't matter here! So, every codec using 3 pointers (not only the first one) normally supports YV12 and I420 (=IYUV), too! diff --git a/DOCS/tech/general.txt b/DOCS/tech/general.txt index 631ee3f9de..4ca3671cf3 100644 --- a/DOCS/tech/general.txt +++ b/DOCS/tech/general.txt @@ -14,64 +14,64 @@ The main modules: 2. demuxer.c: this does the demultiplexing (separating) of the input to audio, video or dvdsub channels, and their reading by buffered packages. - The demuxer.c is basically a framework, which is the same for all the - input formats, and there are parsers for each of them (mpeg-es, - mpeg-ps, avi, avi-ni, asf), these are in the demux_*.c files. - The structure is the demuxer_t. There is only one demuxer. + The demuxer.c is basically a framework, which is the same for all the + input formats, and there are parsers for each of them (mpeg-es, + mpeg-ps, avi, avi-ni, asf), these are in the demux_*.c files. + The structure is the demuxer_t. There is only one demuxer. 2.a. demux_packet_t, that is DP. Contains one chunk (avi) or packet (asf,mpg). They are stored in memory as - in linked list, cause of their different size. + in linked list, cause of their different size. 2.b. demuxer stream, that is DS. Struct: demux_stream_t Every channel (a/v/s) has one. This contains the packets for the stream (see 2.a). For now, there can be 3 for each demuxer : - - audio (d_audio) - - video (d_video) - - DVD subtitle (d_dvdsub) + - audio (d_audio) + - video (d_video) + - DVD subtitle (d_dvdsub) 2.c. stream header. There are 2 types (for now): sh_audio_t and sh_video_t This contains every parameter essential for decoding, such as input/output - buffers, chosen codec, fps, etc. There are each for every stream in - the file. At least one for video, if sound is present then another, - but if there are more, then there'll be one structure for each. - These are filled according to the header (avi/asf), or demux_mpg.c - does it (mpg) if it founds a new stream. If a new stream is found, - the ====> Found audio/video stream: <id> messages is displayed. - - The chosen stream header and its demuxer are connected together - (ds->sh and sh->ds) to simplify the usage. So it's enough to pass the - ds or the sh, depending on the function. - - For example: we have an asf file, 6 streams inside it, 1 audio, 5 - video. During the reading of the header, 6 sh structs are created, 1 - audio and 5 video. When it starts reading the packet, it chooses the - stream for the first found audio & video packet, and sets the sh - pointers of d_audio and d_video according to them. So later it reads - only these streams. Of course the user can force choosing a specific - stream with - -vid and -aid switches. - A good example for this is the DVD, where the english stream is not - always the first, so every VOB has different language :) - That's when we have to use for example the -aid 128 switch. + buffers, chosen codec, fps, etc. There are each for every stream in + the file. At least one for video, if sound is present then another, + but if there are more, then there'll be one structure for each. + These are filled according to the header (avi/asf), or demux_mpg.c + does it (mpg) if it founds a new stream. If a new stream is found, + the ====> Found audio/video stream: <id> messages is displayed. + + The chosen stream header and its demuxer are connected together + (ds->sh and sh->ds) to simplify the usage. So it's enough to pass the + ds or the sh, depending on the function. + + For example: we have an asf file, 6 streams inside it, 1 audio, 5 + video. During the reading of the header, 6 sh structs are created, 1 + audio and 5 video. When it starts reading the packet, it chooses the + stream for the first found audio & video packet, and sets the sh + pointers of d_audio and d_video according to them. So later it reads + only these streams. Of course the user can force choosing a specific + stream with + -vid and -aid switches. + A good example for this is the DVD, where the english stream is not + always the first, so every VOB has different language :) + That's when we have to use for example the -aid 128 switch. Now, how this reading works? - - demuxer.c/demux_read_data() is called, it gets how many bytes, - and where (memory address), would we like to read, and from which + - demuxer.c/demux_read_data() is called, it gets how many bytes, + and where (memory address), would we like to read, and from which DS. The codecs call this. - - this checks if the given DS's buffer contains something, if so, it - reads from there as much as needed. If there isn't enough, it calls - ds_fill_buffer(), which: - - checks if the given DS has buffered packages (DP's), if so, it moves - the oldest to the buffer, and reads on. If the list is empty, it - calls demux_fill_buffer() : - - this calls the parser for the input format, which reads the file - onward, and moves the found packages to their buffers. - Well it we'd like an audio package, but only a bunch of video - packages are available, then sooner or later the: - DEMUXER: Too many (%d in %d bytes) audio packets in the buffer - error shows up. + - this checks if the given DS's buffer contains something, if so, |