From b4f56abef5927aaa26edb038658dd477674dfe5d Mon Sep 17 00:00:00 2001 From: compn Date: Sat, 27 Dec 2008 18:58:36 +0000 Subject: fix error message example git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28205 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/tech/win32-codec-howto.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DOCS/tech/win32-codec-howto.txt b/DOCS/tech/win32-codec-howto.txt index cbf13cf72e..81dfafca83 100644 --- a/DOCS/tech/win32-codec-howto.txt +++ b/DOCS/tech/win32-codec-howto.txt @@ -20,7 +20,8 @@ VFW (Video for Windows) is the old video API for Windows. Its codecs have the '.dll' or (rarely) '.drv' extension. If MPlayer fails at playing your AVI with this kind of message: -UNKNOWN video codec: HFYU (0x55594648) +VIDEO: [HFYU] 352x288 24bpp 25.000 fps 4321.0 kbps (527.5 kbyte/s) +Cannot find codec matching selected -vo and video format 0x55594648. It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you -- cgit v1.2.3 From 79570797c8b945c8a0e0d5666346253d8f54e891 Mon Sep 17 00:00:00 2001 From: diego Date: Sat, 27 Dec 2008 21:43:57 +0000 Subject: Fix Chinese documentation build, English codecs.xml was removed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28206 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/xml/zh_CN/documentation.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/DOCS/xml/zh_CN/documentation.xml b/DOCS/xml/zh_CN/documentation.xml index d8578814ec..cf390f301d 100644 --- a/DOCS/xml/zh_CN/documentation.xml +++ b/DOCS/xml/zh_CN/documentation.xml @@ -178,8 +178,6 @@ It can encode with various codecs, like &usage.xml; &cd-dvd.xml; &faq.xml; - -&codecs.xml; &video.xml; &audio.xml; &tvinput.xml; -- cgit v1.2.3 From 2f0a0b9642f44ff1c7511169fdcc09cebc79cd43 Mon Sep 17 00:00:00 2001 From: diego Date: Sat, 27 Dec 2008 21:44:33 +0000 Subject: Remove audio output section, it provides little to no useful information. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28207 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/xml/en/audio.xml | 63 ------------------------------------------- DOCS/xml/en/documentation.xml | 2 -- DOCS/xml/en/faq.xml | 1 - 3 files changed, 66 deletions(-) delete mode 100644 DOCS/xml/en/audio.xml diff --git a/DOCS/xml/en/audio.xml b/DOCS/xml/en/audio.xml deleted file mode 100644 index 9285f9c662..0000000000 --- a/DOCS/xml/en/audio.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - -Audio output devices - -Audio/Video synchronization - - -Linux sound card drivers have compatibility problems. This is because -MPlayer relies on an in-built feature of -properly coded sound drivers that enable them to -maintain correct audio/video sync. Regrettably, some driver authors -don't take the care to code this feature since it is not needed for -playing MP3s or sound effects. - - - -Other media players like aviplay -or xine possibly work -out-of-the-box with these drivers because they use "simple" methods -with internal timing. Measuring showed that their methods are not as -efficient as MPlayer's. - - - -Using MPlayer with a properly written audio -driver will never result in A/V desynchronisation related to the audio, except -only with very badly created files (check the man page for workarounds). - - - -If you happen to have a bad audio driver, try the -option, it should sort out your problems. See the man page for detailed -information. - - - - - - - - -Troubleshooting - -Some notes: - - -If you have ALSA version 0.5, then you almost always have to use -, since ALSA 0.5 has buggy OSS emulation code, -and will crash MPlayer -with a message like this: - -DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! - - - - -If the sound clicks when playing from CD-ROM, turn on IRQ unmasking as -described in the CD-ROM section. - - - - diff --git a/DOCS/xml/en/documentation.xml b/DOCS/xml/en/documentation.xml index f87259847a..3dab09e797 100644 --- a/DOCS/xml/en/documentation.xml +++ b/DOCS/xml/en/documentation.xml @@ -169,8 +169,6 @@ can be distributed under the terms of the GNU General Public License Version 2. &tvinput.xml; &radio.xml; &video.xml; -&audio.xml; - &ports.xml; &mencoder.xml; &encoding-guide.xml; diff --git a/DOCS/xml/en/faq.xml b/DOCS/xml/en/faq.xml index 01b95ec046..8ee90866c6 100644 --- a/DOCS/xml/en/faq.xml +++ b/DOCS/xml/en/faq.xml @@ -812,7 +812,6 @@ This can have multiple reasons. Your sound driver is buggy. - See the audio section. -- cgit v1.2.3 From 3a6137fbcb33c8bbef92235949c18c1be03f534d Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 29 Dec 2008 19:09:45 +0000 Subject: Add nocache to example dvdnav profile, otherwise dvdnav is unusable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28208 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 1 + 1 file changed, 1 insertion(+) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 6553a8631a..35e081dab6 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -595,6 +595,7 @@ alang=en profile-desc="profile for dvdnav:// streams" profile=protocol.dvd mouse-movements=yes +nocache=yes [extension.flv] profile-desc="profile for .flv files" -- cgit v1.2.3 From 5904de25e3b78b78ca6ea81e18d436377d426a43 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 30 Dec 2008 10:38:29 +0000 Subject: Avoid flickering OSD with -vf yadif=1 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28209 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf.c | 8 ++++++++ libmpcodecs/vf.h | 1 + libmpcodecs/vf_yadif.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c index 37ada3c59e..d04d7f0ecc 100644 --- a/libmpcodecs/vf.c +++ b/libmpcodecs/vf.c @@ -655,6 +655,14 @@ int vf_next_control(struct vf_instance_s* vf, int request, void* data){ return vf->next->control(vf->next,request,data); } +void vf_extra_flip(struct vf_instance_s* vf) { + vf_next_control(vf, VFCTRL_DRAW_OSD, NULL); +#ifdef CONFIG_ASS + vf_next_control(vf, VFCTRL_DRAW_EOSD, NULL); +#endif + vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); +} + int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt){ int flags=vf->next->query_format(vf->next,fmt); if(flags) flags|=vf->default_caps; diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h index 27a48eadf2..a2617ff164 100644 --- a/libmpcodecs/vf.h +++ b/libmpcodecs/vf.h @@ -112,6 +112,7 @@ int vf_next_config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt); int vf_next_control(struct vf_instance_s* vf, int request, void* data); +void vf_extra_flip(struct vf_instance_s* vf); int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt); int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi, double pts); void vf_next_draw_slice (struct vf_instance_s* vf, unsigned char** src, int* stride, int w,int h, int x, int y); diff --git a/libmpcodecs/vf_yadif.c b/libmpcodecs/vf_yadif.c index 971ad988e2..a8328d3f2a 100644 --- a/libmpcodecs/vf_yadif.c +++ b/libmpcodecs/vf_yadif.c @@ -440,7 +440,7 @@ static int continue_buffered_image(struct vf_instance_s *vf) if (correct_pts) break; if(i<(vf->priv->mode&1)) - vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); + vf_extra_flip(vf); } vf->priv->buffered_i = 1; return ret; -- cgit v1.2.3 From 8385fa3dc62b51e3395c6206b0901f2e909b8f57 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 30 Dec 2008 10:38:39 +0000 Subject: Fix OSD flicker with tfields as well. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28210 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_tfields.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libmpcodecs/vf_tfields.c b/libmpcodecs/vf_tfields.c index e70799a0fa..df341cea59 100644 --- a/libmpcodecs/vf_tfields.c +++ b/libmpcodecs/vf_tfields.c @@ -365,7 +365,7 @@ static int continue_buffered_image(struct vf_instance_s *vf) if (correct_pts) break; else - if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); + if (!i) vf_extra_flip(vf); } break; case 1: @@ -395,7 +395,7 @@ static int continue_buffered_image(struct vf_instance_s *vf) if (correct_pts) break; else - if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); + if (!i) vf_extra_flip(vf); } break; case 2: @@ -421,7 +421,7 @@ static int continue_buffered_image(struct vf_instance_s *vf) if (correct_pts) break; else - if (!i) vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL); + if (!i) vf_extra_flip(vf); } break; } -- cgit v1.2.3 From 17ea23ac7467a26aa0919deae506c15641c03afb Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 30 Dec 2008 10:40:26 +0000 Subject: Fix OSD flickering with filters that add frames (tfields, yadif) and -correct-pts git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28211 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c index d04d7f0ecc..cd181156f4 100644 --- a/libmpcodecs/vf.c +++ b/libmpcodecs/vf.c @@ -578,6 +578,12 @@ int vf_output_queued_frame(vf_instance_t *vf) tmp = last->continue_buffered_image; last->continue_buffered_image = NULL; ret = tmp(last); + if (ret > 0) { + vf->control(vf, VFCTRL_DRAW_OSD, NULL); +#ifdef CONFIG_ASS + vf->control(vf, VFCTRL_DRAW_EOSD, NULL); +#endif + } if (ret) return ret; } -- cgit v1.2.3 From c7b40da30d96dc30df064426aee4d9d2ef45572c Mon Sep 17 00:00:00 2001 From: Gabrov Date: Tue, 30 Dec 2008 12:48:17 +0000 Subject: synced with r28211 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28212 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/hu/mplayer.1 | 8 +- DOCS/xml/hu/audio.xml | 63 ----------- DOCS/xml/hu/bugreports.xml | 5 +- DOCS/xml/hu/bugs.xml | 137 ----------------------- DOCS/xml/hu/codecs.xml | 252 ------------------------------------------ DOCS/xml/hu/documentation.xml | 11 +- DOCS/xml/hu/faq.xml | 18 ++- 7 files changed, 25 insertions(+), 469 deletions(-) delete mode 100644 DOCS/xml/hu/audio.xml delete mode 100644 DOCS/xml/hu/bugs.xml delete mode 100644 DOCS/xml/hu/codecs.xml diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1 index 2d76734f79..5ed93aa460 100644 --- a/DOCS/man/hu/mplayer.1 +++ b/DOCS/man/hu/mplayer.1 @@ -1,4 +1,4 @@ -.\" Synced with r28126 +.\" Synced with r28208 .\" MPlayer (C) 2000-2008 MPlayer Team .\" Ezt a man oldalt Gabucino, Diego Biurrun s Jonas Jermann kszti/ksztette .\" Karbantart: Gabrov @@ -33,7 +33,7 @@ .\" Nv .\" -------------------------------------------------------------------------- . -.TH MPlayer 1 "2008. 12. 17." "MPlayer Project" "A film lejtsz" +.TH MPlayer 1 "2008. 12. 30." "MPlayer Project" "A film lejtsz" . .SH NV mplayer \- film lejtsz @@ -592,6 +592,7 @@ alang=en profile-desc="profil dvdnav:// folyamokhoz" profile=protocol.dvd mouse-movements=yes +nocache=yes [extension.flv] profile-desc="profil .flv fjlokhoz" @@ -3560,6 +3561,9 @@ Mac OS X CoreVideo kimeneti vide .RSs .IPs device_id= Teljes kpernys lejtszsnl a hasznlni kvnt kperny eszkz. +.IPs shared_buffer +A kimenetet egy osztott memria bufferbe rja a megjelentse helyett s +megprbl megnyitni egy ltez NSConnection-t a GUI-val trtn kommunikcihoz. .RE .PD 1 . diff --git a/DOCS/xml/hu/audio.xml b/DOCS/xml/hu/audio.xml deleted file mode 100644 index a254b7e749..0000000000 --- a/DOCS/xml/hu/audio.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - -Audió kimeneti eszközök - -Audió/Videó szinkronizáció - - -A Linux hangkártya vezérlői kompatibilítási problémákkal küzdenek. Ez azért van, -mert az MPlayer a megfelelően -kódolt hang vezérlők egy beépített tulajdonságát használja, ami engedélyezi nekik -az audió/videó szinkron javítását. Sajnálatos módon néhány vezérlő szerzői -nem gondoskodnak ezen tulajdonság kódolásáról, mivel nem szükséges az MP3-ak -és a hangeffektek lejátszásához. - - - -Más média lejátszók, mint pl. az aviplay -vagy a xine valószínűleg -kapásból működnek ezekkel a vezérlőkkel, mert egy "egyszerű" módszert -használnak belső időzítéssel. A mérések azt mutatják, hogy az ő -módszereik nem olyan hatékonyak, mint az MPlayeré. - - - -Az MPlayert egy megfelelően megírt audió vezérlővel -használva soha nem fog A/V deszinkronizáció bekövetkezni az audióban, csak -nagyon rosszul elkészített fájlok esetén (lásd a man oldalt a megkerüléshez). - - - -Ha neked rossz audió vezérlőd van, próbáld ki a -kapcsolót, megszünteti a problémáidat. Lásd a man oldalt a bővebb -információkért. - - - - - - - - -Problémamegoldás - -Néhány megjegyzés: - - -Ha 0.5-ös ALSA-d van, akkor majdnem mindig a -öt kell -használnod, mivel az ALSA 0.5-nek hibás az OSS emulációs kódja, -és össze fogja omlasztani az MPlayert -egy ehhez hasonló üzenettel: - -DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! - - - - -Ha a hang kattog CD-ROM-ról történő lejátszás közben, kapcsold be az IRQ -unmasking-ot, amint az a CD-ROM részben le van írva. - - - - diff --git a/DOCS/xml/hu/bugreports.xml b/DOCS/xml/hu/bugreports.xml index 9f152aff4a..b3c0b09f66 100644 --- a/DOCS/xml/hu/bugreports.xml +++ b/DOCS/xml/hu/bugreports.xml @@ -1,5 +1,5 @@ - + Hogyan jelentsd a hibákat @@ -152,8 +152,7 @@ meglévő problémát napokon vagy akár órákon belül jelentik, így Ebbe beleértendőek az MPlayer bináris csomagjai is. A Subversion utasításokat megtalálod ennek az oldalnak -az alján vagy a README fájlban. Ha ez sem segít, olvasd el az -ismert hibák listáját és a dokumentáció többi részét. +az alján vagy a README fájlban. Ha ez sem segít, olvasd el a dokumentáció többi részét. Ha problémád még nem ismert vagy nem oldódott meg a leírásunk által, akkor kérjük jelentsd. diff --git a/DOCS/xml/hu/bugs.xml b/DOCS/xml/hu/bugs.xml deleted file mode 100644 index 64349ee8f9..0000000000 --- a/DOCS/xml/hu/bugs.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - -Ismert hibák - - -Speciális rendszer/CPU-specifikus hibák/problémák - - - - Általános SIGILL (signal 4): - - Probléma: az MPlayer nem ugyan azon a gépen - fordítottad és futtattad (például P3-on fordítottad és Celeron futtattad) - - - Megoldás: ugyan azon a gépen fordítsd le az MPlayert, - amelyiken futtatni fogod! - - - Tüneti kezelés: Ezt az egészet elfelejtheted, ha a - kapcsolót használod a konfigurálásnál vagy az egyes CPU utasítás - készleteket letilthatod külön-külön a megfelelő kapcsolókkal (úgy mint - , , stb). - - - - - Összeomlás stream-ek mentésekor: - Probléma: core dump - Tüneti kezelés: Ne pánikolj. Keresd meg a törülköződet! - - - - - - - - - -Különböző A-V szinkron és egyéb audió problémán - - -Általánosan előforduló audió késés vagy szaggatott hang - (kilép az összes, vagy legalábbis sok fájlnál) - - - - Leggyakrabban: hibás audió vezérlő! - próbálj meg más vezérlőt használni, próbáld - ki az ALSA OSS emulációját a kapcsolóval, valamint a - -t is, néha segít. Ha a fájl lejátszása jó a - kapcsolóval, akkor biztos lehetsz benne, hogy a hangkártya (vezérlő) a hibás. - - - - audió buffer problémák (a buffer méretét rosszul detektálja) - - Tüneti kezelés: az MPlayer kapcsolója - - - - - mintaráta problémák - talán a kártyád nem támogatja a fájlban használt mintarátát - - próbáld ki a resampling szűrőt () - - - - lassú gép (CPU vagy VGA) - - próbáld ki a kapcsolót, ha úgy jól működik, - akkor lassú a VGA kártyád/vezérlőd - - - Tüneti kezelés: vegyél egy gyorsabb kártyát vagy olvasd el a tuningolási dokumentációt - - Megpróbálhatod még a -ot is - - - - - - - -Audió késés/szinkronizáció elvesztése egy vagy néhány fájl esetén - - - - hibás fájl - - Tüneti kezelés: - - - - vagy kapcsoló - (a nem-átlapolt vagy hibás fájlokhoz) - - és/vagy - - - - - (szükséges a rosszul átlapolt VBS audiós fájlokhoz) - - és/vagy - - - - vagy a +/- - gombok futás közbeni beállításhoz - - - - Ha egyik sem segít, légy szíves töltsd fel a fájlt, és megnézzük (és javítjuk). - - - - - a hangkártyád nem támogatja a 48kHz-es lejátszást - - Tüneti kezelés: vegyél egy jobb hangkártyát... vagy próbáld meg csökkenteni az fps-t - 10%-kal ( egy 30fps-es filmnél) vagy használd a resample szűrőt - - - - - - lassú gép (ha az A-V nem 0 körüli és a státusz sorban lévő - utolsó szám emelkedik) - - Tüneti kezelés: - - - - - - - diff --git a/DOCS/xml/hu/codecs.xml b/DOCS/xml/hu/codecs.xml deleted file mode 100644 index 190ef0ea50..0000000000 --- a/DOCS/xml/hu/codecs.xml +++ /dev/null @@ -1,252 +0,0 @@ - - - -Codec-ek - - -A codec státusz táblázat -tartalmazza az összes támogatott codec-et, napi frissítéssel. -Néhány MPlayerrel használható bináris codec elérhető a weboldalunk -letöltési részében. - - - -Ha van olyan Win32 codec-ed, ami még nem támogatott, -olvasd el a codec importálás HOGYAN-t -és segítsd a munkánkat. - - - - - - - -Audió codec-ek - - -Szoftveres AC-3 dekódolás - - -Ez az alapértelmezésben használt dekódoló az AC-3 audiójú fájlokhoz. - - - -Az AC-3 dekódoló 2, 4 vagy 6 csatornás hangkimenet keverést tud csinálni. -Ha 6 hangszóróra van beállítva, ez a dekódoló külön kimenetet biztosít -hang vezérlő összes AC-3 csatornájának, létrehozva így a teljes "surround -sound" hatást, a hwac3 codec-hez szükséges külső AC-3 dekódoló nélkül. - - - -Használd a kapcsolót a kimeneti csatornák számának -megadásához. A sztereo downmix-et produkál. Egy 4 -csatornás downmixhez (bal elülső, jobb elülső, bal Surround és jobb Surround -kimenet) használd a kapcsolót. Ebben az esetben, -bármelyik középső csatorna egyenlően lesz elkeverve az elülső csatornákhoz. -A kapcsoló minden AC-3 csatornát úgy ad ki, ahogy -azok kódolva lettek - bal, jobb, bal Surround, jobb Surround, Center és LFE -sorrendben. - - - -A csatornák alapértelmezett száma 2. - - - -2-nél több kimeneti csatorna használatához OSS-t kell használnod, és egy -olyan hangkártyával kell rendelkezned, ami támogatja a megfelelő számú -kimeneti csatornát az SNDCTL_DSP_CHANNELS ioctl-en keresztül. Például az -emu10k1 2001. augusztus vagy későbbi verziói megfelelő vezérlők (a Soundblaster -Live! kártyák használják, de az ALSA CVS is valószínűleg működik). - - - - - - -Hardveres AC-3 dekódolás - - -AC-3-at támogató hangkártyára lesz szükséges, digitális kimenettel (S/PDIF). -A kártya vezérlőjének megfelelően támogatnia kell az AFMT_AC3 formátumot -(a C-Media támogatja). Csatlakoztasd az AC-3 dekódolódat az S/PDIF kimenethez -és használd a kapcsolót. Még kisérleti kód, de -működik C-Media kártyákon és Soundblaster Live! + ALSA (de OSS-en nem) -vezérlővel, valamint DXR3/Hollywood+ MPEG dekódoló kártyákon. - - - - - - -Hardveres MPEG audió codec - - -Ez a codec (a kapcsolóval választhatod ki) az -MPEG audió csomagokat átadja a hardveres dekódolóknak, mint amilyenek például -a jól felszerelt DVB kártyákon és DXR2 adaptereken vannak. -Ne használd másik audió kimeneti eszközzel együtt (mint az OSS vagy ALSA), -ami nem képes dekódolni (csak zajt fogsz hallanis). - - - - - - - - - - -Win32 codec importálási HOGYAN - - - - -VFW codec-ek - - -A VFW (Video for Windows) egy régi Videó API Windowshoz. A codecjei -.DLL vagy (ritkán) .DRV kiterjesztésűek -voltak. Ha az MPlayernek nem sikerül lejátszani -az AVI fájlodat egy ilyesmi üzenettel: -UNKNOWN video codec: HFYU (0x55594648) -Ez azt jelenti, hogy az AVI fájlod egy olyan codec-kel lett elkódolva, aminek -HFYU a fourcc-je (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, stb.). Most, -hogy már tudod ezt, meg kell keresned, melyik DLL-t tölti be a Windows ennek -a fájlnak a lejátszásához. A mi esetünkben, a system.ini -tartalmazza ezt az információt ebben a sorban: -VIDC.HFYU=huffyuv.dll - - - -Szükséged lesz a huffyuv.dll fájlra. Figyelj rá, hogy az -audio codec-ek MSACM prefix-szel vannak megadva: -msacm.l3acm=L3codeca.acm - - - -Ez az MP3 codec. Most már minden szükséges információval rendelkezel -(fourcc, codec fájl, példa AVI), küldd be a codec támogatási kérésedet egy -levélben és töltsd fel ezket a fájlokat az FTP-re: -ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/ - - - -Windows NT/2000/XP alatt a regisztrációs adatbázisban keresd -ezeket az információkat, pl. keress rá a "VIDC.HFYU"-ra. Hogy ezt -hogy tudod megcsinálni, nézd meg a régi DirectShow módszert lejjebb. - - - - - - -DirectShow codec-ek - - -A DirectShow egy újabb Videó API, ami még rosszabb, mint az elődje. -A dolgok nehezebben mennek a DirectShow-val, mivel - - - a system.ini nem tartalmazza a megfelelő információkat, - azok a regisztrációs adatbázisban vannak és - - - szükségünk van a codec GUID-jére. - - - - - -Új módszer: - -A Microsoft GraphEdit használatával (gyors) - - - Szedd le a GraphEdit-et a DirectX SDK-ból - vagy a doom9-ről. - - - Indítsd el a graphedit.exe-t. - - - A menüben válaszd ki a - Graph - Insert Filters-t. - - - Nyisd ki a DirectShow Filters elemeit. - - - Válaszd ki a megfelelő codec nevet és nyisd ki. - - - A DisplayName bejegyzésben nézd meg a francia - zárójelek között lévő karakterláncot és írd le (öt vonallal elválasztott - blokk, a GUID). - - - A codec bináris a Filename - bejegyzésben megadott fájl. - - - - -Ha nincs Filename és a -DisplayName olyasmit tartalmaz, hogy -device:dmo, akkor ez egy DMO-Codec. - - - -Régi módszer: - -Végy egy nagy levegőt és kezdj keresni a regisztrációs adatbázisban... - - - Indítsd el a regedit-et. - - - Nyomd meg a CtrlF-et, - kapcsold ki az első két kijelölő dobozd és engedélyezd a harmadikat. Írd be - a codec fourcc-jét (pl. TM20). - - - Egy mezőt kell látnod, ami az elérési utat és a fájl nevét tartalmazza (pl. - C:\WINDOWS\SYSTEM\TM20DEC.AX). - - - Most, hogy megvan a fájl, a GUID-t kell megkeresni. Próbáld újra a - keresést, de most a codec nevére keress, ne a fourcc-re. A nevét a - Media Player kiírja a fájl lejátszása közben, ha megnézed a - File Properties - Advanced fület. - Ha mégsem, akkor így jártál. Próbáld meg kitalálni (pl. keress rá a TrueMotion-ra). - - - Ha megvan a GUID, látnod kell egy FriendlyName - és egy CLSID mezőt. Írd le a 16 bájtos CLSID-t, - ez a GUID, ami kell. - - - - -Ha nem sikerült a keresés, próbáld meg bekapcsolni az összes kijelölő dobozt. -Ekkor kaphatsz hamis találatokat, de talán szerencséd lesz... - - - -Most, hogy már megvan minden szükséges információ (fourcc, GUID, codec fájl, -példa AVI), küldd el a codec támogatási kérelmedet levélben és töltsd fel a -fájlokat az FTP-re: -ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/ - - - -Ha saját magad szeretnél beépíteni egy codec-et, olvasd el a -DOCS/tech/codecs.conf.txt-t. - - - - - - diff --git a/DOCS/xml/hu/documentation.xml b/DOCS/xml/hu/documentation.xml index 30a8be0d31..a1ca3c777b 100644 --- a/DOCS/xml/hu/documentation.xml +++ b/DOCS/xml/hu/documentation.xml @@ -1,5 +1,5 @@ - + <application>MPlayer</application> - The Movie Player @@ -171,18 +171,13 @@ a GNU General Public License v2 értelmében terjeszthető. &usage.xml; &cd-dvd.xml; -&faq.xml; - -&codecs.xml; -&video.xml; -&audio.xml; &tvinput.xml; &radio.xml; - +&video.xml; &ports.xml; &mencoder.xml; &encoding-guide.xml; +&faq.xml; &bugreports.xml; -&bugs.xml; &skin.xml; &history.xml; diff --git a/DOCS/xml/hu/faq.xml b/DOCS/xml/hu/faq.xml index 1bf3e06658..010b93a19b 100644 --- a/DOCS/xml/hu/faq.xml +++ b/DOCS/xml/hu/faq.xml @@ -1,5 +1,5 @@ - + Gyakran ismételt kérdések @@ -234,8 +234,19 @@ Problémám van a ... codec-kel történő lejátszással. Egyáltalán használ Ellenőrizd a codec státusz oldalt, ha nem tartalmazza a te codecedet, olvasd el a -codec dokumentációt, különösen a -codec importálás HOGYAN-t és keress meg minket. +Win32 codec HOWTO-t és keress meg minket. + + + + + +Egy core dump-ot kapok, amikor folyamokat dump-olok, mi a baj? + + +Ne pánikolj. Keresd meg a zsepidet. + +Na komolyan, vedd már észre a smiley-t és keresd meg a +.dump-ra végződő fájlokat! @@ -801,7 +812,6 @@ Ennek több oka lehet. A hang vezérlőd hibás. - Lásd az audió részt. -- cgit v1.2.3 From c1fdabf4d200a462db89876db31409b118575a76 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 30 Dec 2008 16:41:35 +0000 Subject: Update outdated availability note for -mouse-movements git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28213 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 35e081dab6..c3cf2bc767 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -1035,8 +1035,10 @@ Display the main menu at MPlayer startup. .TP .B \-mouse\-movements Permit MPlayer to receive pointer events reported by the video -output driver (currently only derivatives of X11 are supported). +output driver. Necessary to select the buttons in DVD menus. +Supported for X11 based VOs (x11, xv, xvmc, etc.) and the gl, gl2, direct3d and +macosx VOs. . .TP .B \-noar -- cgit v1.2.3 From c51ba3aed9353577eb8b5cdec3138756362e3067 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 30 Dec 2008 17:00:11 +0000 Subject: Support F- and numpad keys for w32_common based vos. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28214 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/w32_common.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libvo/w32_common.c b/libvo/w32_common.c index 6fbeaaa4b0..8063352d7e 100644 --- a/libvo/w32_common.c +++ b/libvo/w32_common.c @@ -51,6 +51,16 @@ static const struct keymap vk_map[] = { {VK_INSERT, KEY_INSERT}, {VK_DELETE, KEY_DELETE}, {VK_HOME, KEY_HOME}, {VK_END, KEY_END}, {VK_PRIOR, KEY_PAGE_UP}, {VK_NEXT, KEY_PAGE_DOWN}, + // F-keys + {VK_F1, KEY_F+1}, {VK_F2, KEY_F+2}, {VK_F3, KEY_F+3}, {VK_F4, KEY_F+4}, + {VK_F5, KEY_F+5}, {VK_F6, KEY_F+6}, {VK_F7, KEY_F+7}, {VK_F8, KEY_F+8}, + {VK_F9, KEY_F+9}, {VK_F10, KEY_F+10}, {VK_F11, KEY_F+11}, {VK_F1, KEY_F+12}, + // numpad + {VK_NUMPAD0, KEY_KP0}, {VK_NUMPAD1, KEY_KP1}, {VK_NUMPAD2, KEY_KP2}, + {VK_NUMPAD3, KEY_KP3}, {VK_NUMPAD4, KEY_KP4}, {VK_NUMPAD5, KEY_KP5}, + {VK_NUMPAD6, KEY_KP6}, {VK_NUMPAD7, KEY_KP7}, {VK_NUMPAD8, KEY_KP8}, + {VK_NUMPAD9, KEY_KP9}, {VK_DECIMAL, KEY_KPDEC}, + {0, 0} }; -- cgit v1.2.3 From 80cf4355292d1975018d7d449520530293b985f4 Mon Sep 17 00:00:00 2001 From: gpoirier Date: Tue, 30 Dec 2008 21:39:42 +0000 Subject: Add an option to vo_macosx to set a custom buffer_name. This allows to have multiple instances of MPlayerOSX running without stepping on each other's toes. Patch by Adrian Stutz % adrian A sttz P ch % Original thread: date: Tue, Dec 9, 2008 at 2:46 PM subject: [MPlayer-dev-eng] [PATCH] vo_macosx: option to set shared buffer name to allow multiple instances git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28215 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 4 ++++ libvo/vo_macosx.m | 29 +++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index c3cf2bc767..05cd7bfdbd 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -3550,6 +3550,10 @@ Choose the display device to use in fullscreen. .IPs shared_buffer Write output to a shared memory buffer instead of displaying it and try to open an existing NSConnection for communication with a GUI. +.IPs buffer_name= +Name of the shared buffer created with shm_open as well as the name of +the NSConnection MPlayer will try to open (default: "mplayerosx"). +Setting buffer_name implicitly enables shared_buffer. .RE .PD 1 . diff --git a/libvo/vo_macosx.m b/libvo/vo_macosx.m index 34043de579..e9043fc8b4 100644 --- a/libvo/vo_macosx.m +++ b/libvo/vo_macosx.m @@ -45,6 +45,8 @@ OSType pixelFormat; //shared memory int shm_fd; BOOL shared_buffer = false; +#define DEFAULT_BUFFER_NAME "mplayerosx" +static char *buffer_name; //Screen int screen_id; @@ -164,10 +166,13 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_ } else { + mp_msg(MSGT_VO, MSGL_INFO, "VO: [macosx] writing output to a shared buffer " + "named \"%s\".\n",buffer_name); + movie_aspect = (float)d_width/(float)d_height; // create shared memory - shm_fd = shm_open("mplayerosx", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); + shm_fd = shm_open(buffer_name, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); if (shm_fd == -1) { mp_msg(MSGT_VO, MSGL_FATAL, @@ -180,7 +185,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_ { mp_msg(MSGT_VO, MSGL_FATAL, "vo_macosx: failed to size shared memory, possibly already in use. Error: %s\n", strerror(errno)); - shm_unlink("mplayerosx"); + shm_unlink(buffer_name); return 1; } @@ -191,12 +196,12 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_ { mp_msg(MSGT_VO, MSGL_FATAL, "vo_macosx: failed to map shared memory. Error: %s\n", strerror(errno)); - shm_unlink("mplayerosx"); + shm_unlink(buffer_name); return 1; } //connnect to mplayerosx - mplayerosxProxy=[NSConnection rootProxyForConnectionWithRegisteredName:@"mplayerosx" host:nil]; + mplayerosxProxy=[NSConnection rootProxyForConnectionWithRegisteredName:[NSString stringWithCString:buffer_name] host:nil]; if ([mplayerosxProxy conformsToProtocol:@protocol(MPlayerOSXVOProto)]) { [mplayerosxProxy setProtocolForProxy:@protocol(MPlayerOSXVOProto)]; mplayerosxProto = (id )mplayerosxProxy; @@ -288,7 +293,7 @@ static void uninit(void) if (munmap(image_data, image_width*image_height*image_bytes) == -1) mp_msg(MSGT_VO, MSGL_FATAL, "uninit: munmap failed. Error: %s\n", strerror(errno)); - if (shm_unlink("mplayerosx") == -1) + if (shm_unlink(buffer_name) == -1) mp_msg(MSGT_VO, MSGL_FATAL, "uninit: shm_unlink failed. Error: %s\n", strerror(errno)); } @@ -314,11 +319,15 @@ static void uninit(void) image_datas[1] = NULL; image_data = NULL; } + + if (buffer_name) free(buffer_name); + buffer_name = NULL; } static opt_t subopts[] = { {"device_id", OPT_ARG_INT, &screen_id, (opt_test_f)int_non_neg}, {"shared_buffer", OPT_ARG_BOOL, &shared_buffer, NULL}, +{"buffer_name", OPT_ARG_MSTRZ,&buffer_name, NULL}, {NULL} }; @@ -328,16 +337,21 @@ static int preinit(const char *arg) // set defaults screen_id = 0; shared_buffer = false; + buffer_name = DEFAULT_BUFFER_NAME; if (subopt_parse(arg, subopts) != 0) { mp_msg(MSGT_VO, MSGL_FATAL, "\n-vo macosx command line help:\n" - "Example: mplayer -vo macosx:device_id=1:shared_buffer\n" + "Example: mplayer -vo macosx:device_id=1:shared_buffer:buffer_name=mybuff\n" "\nOptions:\n" " device_id=<0-...>\n" " Set screen device id for fullscreen.\n" " shared_buffer\n" " Write output to a shared memory buffer instead of displaying it.\n" + " buffer_name=\n" + " Name of the shared buffer created with shm_open() as well as\n" + " the name of the NSConnection MPlayer will try to open.\n" + " Setting buffer_name implicitly enables shared_buffer.\n" "\n" ); return -1; } @@ -347,6 +361,9 @@ static int preinit(const char *arg) NSApp = [NSApplication sharedApplication]; isLeopardOrLater = floor(NSAppKitVersionNumber) > 824; + if (strcmp(buffer_name, DEFAULT_BUFFER_NAME)) + shared_buffer = true; + if(!shared_buffer) { #if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL) -- cgit v1.2.3 From a2c2268cdf6a2c5140084d61000144123f325ee3 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 31 Dec 2008 14:21:50 +0000 Subject: Work around a dvdread bug where DVDReadBlocks would return values < 0 on read error, causing hangs e.g. when seeking to the very last chapter (which would read beyond the size of the DVD). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28216 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/stream_dvd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c index ec0b7983c8..235586597a 100644 --- a/stream/stream_dvd.c +++ b/stream/stream_dvd.c @@ -364,7 +364,8 @@ read_next: } len = DVDReadBlocks(d->title, d->cur_pack, 1, data); - if(!len) return -1; //error + // only == 0 should indicate an error, but some dvdread version are buggy when used with dvdcss + if(len <= 0) return -1; //error if(data[38]==0 && data[39]==0 && data[40]==1 && data[41]==0xBF && data[1024]==0 && data[1025]==0 && data[1026]==1 && data[1027]==0xBF) { -- cgit v1.2.3 From 27fcc9c6a6fa9c28b3bb888486fcafc94ffff88a Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 09:35:25 +0000 Subject: Add asserts to detect when assumptions for play_tree_parser_get_line fail (mostly due to parsers using it incorrectly). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28217 b3059339-0415-0410-9bf9-f77b7e298cf2 --- playtreeparser.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/playtreeparser.c b/playtreeparser.c index 0d4c0fe43d..a7e7395698 100644 --- a/playtreeparser.c +++ b/playtreeparser.c @@ -6,9 +6,7 @@ #include #include #include -#ifdef MP_DEBUG #include -#endif #include #include #include @@ -61,6 +59,8 @@ play_tree_parser_get_line(play_tree_parser_t* p) { if(p->stream->eof && (p->buffer_end == 0 || p->iter[0] == '\0')) return NULL; + assert(p->buffer_end < p->buffer_size); + assert(!p->buffer[p->buffer_end]); while(1) { if(resize) { @@ -75,10 +75,12 @@ play_tree_parser_get_line(play_tree_parser_t* p) { r = stream_read(p->stream,p->buffer + p->buffer_end,p->buffer_size - p->buffer_end - 1); if(r > 0) { p->buffer_end += r; + assert(p->buffer_end < p->buffer_size); p->buffer[p->buffer_end] = '\0'; while(strlen(p->buffer + p->buffer_end - r) != r) p->buffer[p->buffer_end - r + strlen(p->buffer + p->buffer_end - r)] = '\n'; } + assert(!p->buffer[p->buffer_end]); } end = strchr(p->iter,'\n'); -- cgit v1.2.3 From 67ff2e11b820926e6af0749cfe1fc7913c1252a5 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 09:37:02 +0000 Subject: Add zero termination missing in two cases. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28218 b3059339-0415-0410-9bf9-f77b7e298cf2 --- playtreeparser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/playtreeparser.c b/playtreeparser.c index a7e7395698..afa36f5977 100644 --- a/playtreeparser.c +++ b/playtreeparser.c @@ -53,6 +53,7 @@ play_tree_parser_get_line(play_tree_parser_t* p) { if(p->buffer == NULL) { p->buffer = malloc(BUF_STEP); p->buffer_size = BUF_STEP; + p->buffer[0] = 0; p->iter = p->buffer; } @@ -110,9 +111,9 @@ play_tree_parser_get_line(play_tree_parser_t* p) { if(end[0] != '\0') { p->buffer_end -= end-p->iter; memmove(p->buffer,end,p->buffer_end); - p->buffer[p->buffer_end] = '\0'; } else p->buffer_end = 0; + p->buffer[p->buffer_end] = '\0'; p->iter = p->buffer; } else p->iter = end; -- cgit v1.2.3 From 756e662b685a311ecdc9aabdf7fa8f5844e4ae43 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 09:47:21 +0000 Subject: 1000l, play_tree_parser_stop_keeping broke 0-termination of buffer git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28219 b3059339-0415-0410-9bf9-f77b7e298cf2 --- playtreeparser.c | 1 + 1 file changed, 1 insertion(+) diff --git a/playtreeparser.c b/playtreeparser.c index afa36f5977..ab80bde020 100644 --- a/playtreeparser.c +++ b/playtreeparser.c @@ -133,6 +133,7 @@ play_tree_parser_stop_keeping(play_tree_parser_t* p) { p->buffer_end -= p->iter -p->buffer; if(p->buffer_end) memmove(p->buffer,p->iter,p->buffer_end); + p->buffer[p->buffer_end] = 0; p->iter = p->buffer; } } -- cgit v1.2.3 From c9ba917877a8cd6ce51609d2feb27496d05143cd Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 10:24:19 +0000 Subject: Avoid a uselessly high number of wakeups when playing audio-only files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28220 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mplayer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mplayer.c b/mplayer.c index 66f166505a..18be663df2 100644 --- a/mplayer.c +++ b/mplayer.c @@ -2015,6 +2015,7 @@ static int fill_audio_out_buffers(void) current_module="play_audio"; while (1) { + int sleep_time; // all the current uses of ao_data.pts seem to be in aos that handle // sync completely wrong; there should be no need to use ao_data.pts // in get_space() @@ -2026,7 +2027,9 @@ static int fill_audio_out_buffers(void) // handle audio-only case: // this is where mplayer sleeps during audio-only playback // to avoid 100% CPU use - usec_sleep(10000); // Wait a tick before retry + sleep_time = (ao_data.outburst - bytes_to_write) * 1000 / ao_data.samplerate; + if (sleep_time < 10) sleep_time = 10; // limit to 100 wakeups per second + usec_sleep(sleep_time * 1000); } while (bytes_to_write) { -- cgit v1.2.3 From 5fcb1798345f325b248b30f551b6cef38b132888 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:16:52 +0000 Subject: XVID profile array should be const, so it is in rodata git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28221 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ve_xvid4.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libmpcodecs/ve_xvid4.c b/libmpcodecs/ve_xvid4.c index 6b50885647..8a2c2c542b 100644 --- a/libmpcodecs/ve_xvid4.c +++ b/libmpcodecs/ve_xvid4.c @@ -78,7 +78,7 @@ typedef const struct { - char *name; ///< profile name + const char *name; ///< profile name int id; ///< mpeg-4 profile id; iso/iec 14496-2:2001 table G-1 int width; ///< profile width restriction int height; ///< profile height restriction @@ -100,7 +100,7 @@ typedef const struct /* default vbv_occupancy is (64/170)*vbv_buffer_size */ -static profile_t profiles[] = +static const profile_t profiles[] = { /* name p@l w h fps obj Tvmv vmv vcv ac% vbv pkt bps vbv_peak dbf flags */ /* unrestricted profile (default) */ @@ -139,7 +139,7 @@ static profile_t profiles[] = * \param str the profile name * \return pointer of the appropriate profiles array entry or NULL for a mistyped profile name */ -static profile_t *profileFromName(char *str) +static const profile_t *profileFromName(const char *str) { profile_t *cur = profiles; while (cur->name && strcasecmp(cur->name, str)) cur++; @@ -672,7 +672,7 @@ static int dispatch_settings(xvid_mplayer_module_t *mod) }; //profile is unrestricted as default - profile_t *selected_profile = profileFromName("unrestricted"); + const profile_t *selected_profile = profileFromName("unrestricted"); if(xvidenc_profile) selected_profile = profileFromName(xvidenc_profile); if(!selected_profile) -- cgit v1.2.3 From 0b806e47982f437bae6f1f5360177ab2332dd9c4 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:23:32 +0000 Subject: Include alloca.h when using alloca to make sure it is defined. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28222 b3059339-0415-0410-9bf9-f77b7e298cf2 --- tremor/mapping0.c | 1 + tremor/sharedbook.c | 1 + 2 files changed, 2 insertions(+) diff --git a/tremor/mapping0.c b/tremor/mapping0.c index c721b47dab..dd1b008a67 100644 --- a/tremor/mapping0.c +++ b/tremor/mapping0.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "ogg.h" #include "ivorbiscodec.h" #include "mdct.h" diff --git a/tremor/sharedbook.c b/tremor/sharedbook.c index d173d8aaf5..09405f2ca2 100644 --- a/tremor/sharedbook.c +++ b/tremor/sharedbook.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "ogg.h" #include "os.h" #include "misc.h" -- cgit v1.2.3 From 2641f962467dde8af5b972eadb078b0a353099fc Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:33:46 +0000 Subject: Simplify and comment spudec bilinear scaling code git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28223 b3059339-0415-0410-9bf9-f77b7e298cf2 --- spudec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spudec.c b/spudec.c index b06d9a0949..edf287b2e9 100644 --- a/spudec.c +++ b/spudec.c @@ -737,9 +737,10 @@ static void scale_image(int x, int y, scale_pixel* table_x, scale_pixel* table_y spu->scaled_image[scaled] = (color[0] * scale[0] + color[1] * scale[1] + color[2] * scale[2] + color[3] * scale[3])>>24; spu->scaled_aimage[scaled] = (scale[0] + scale[1] + scale[2] + scale[3]) >> 16; if (spu->scaled_aimage[scaled]){ - spu->scaled_aimage[scaled] = 256 - spu->scaled_aimage[scaled]; - if(spu->scaled_aimage[scaled] + spu->scaled_image[scaled] > 255) - spu->scaled_image[scaled] = 256 - spu->scaled_aimage[scaled]; + // ensure that MPlayer's simplified alpha-blending can not overflow + spu->scaled_image[scaled] = FFMIN(spu->scaled_image[scaled], spu->scaled_aimage[scaled]); + // convert to MPlayer-style alpha + spu->scaled_aimage[scaled] = -spu->scaled_aimage[scaled]; } } -- cgit v1.2.3 From 12b1fea30f9629b7a05e5a85d7dc7aff8989f0d4 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:39:47 +0000 Subject: Make AVI demuxer more resilient against broken or incomplete files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28224 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_avi.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/libmpdemux/demux_avi.c b/libmpdemux/demux_avi.c index 87e4a4aa9d..fa1fc91e48 100644 --- a/libmpdemux/demux_avi.c +++ b/libmpdemux/demux_avi.c @@ -158,6 +158,9 @@ static int demux_avi_read_packet(demuxer_t *demux,demux_stream_t *ds,unsigned in ds_read_packet(ds,demux->stream,len,pts,idxpos,flags); skip-=len; } + skip = FFMAX(skip, 0); + if (avi_stream_id(id) > 99 && id != mmioFOURCC('J','U','N','K')) + skip = FFMIN(skip, 65536); if(skip){ mp_dbg(MSGT_DEMUX,MSGL_DBG2,"DEMUX_AVI: Skipping %d bytes from packet %04X\n",skip,id); stream_skip(demux->stream,skip); @@ -165,6 +168,18 @@ static int demux_avi_read_packet(demuxer_t *demux,demux_stream_t *ds,unsigned in return ds?1:0; } +static uint32_t avi_find_id(stream_t *stream) { + uint32_t id = stream_read_dword_le(stream); + if (!id) { + mp_msg(MSGT_DEMUX, MSGL_WARN, "Incomplete stream? Trying resync.\n"); + do { + id = stream_read_dword_le(stream); + if (stream_eof(stream)) return 0; + } while (avi_stream_id(id) > 99); + } + return id; +} + // return value: // 0 = EOF or no stream found // 1 = successfully read a packet @@ -222,7 +237,7 @@ do{ demux->stream->eof=1; return 0; } - id=stream_read_dword_le(demux->stream); + id=avi_find_id(demux->stream); len=stream_read_dword_le(demux->stream); if(stream_eof(demux->stream)) return 0; // EOF! @@ -347,7 +362,7 @@ do{ return 0; } - id=stream_read_dword_le(demux->stream); + id=avi_find_id(demux->stream); len=stream_read_dword_le(demux->stream); if(stream_eof(demux->stream)) return 0; -- cgit v1.2.3 From c1b27dd8742c97475dccd3d5ffafd2f6bdcba9b6 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:41:09 +0000 Subject: Code simplification git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28225 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/aviprint.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libmpdemux/aviprint.c b/libmpdemux/aviprint.c index f0c3a89d8a..35af2ffbdf 100644 --- a/libmpdemux/aviprint.c +++ b/libmpdemux/aviprint.c @@ -74,7 +74,7 @@ void print_wave_header(WAVEFORMATEX *h, int verbose_level){ else if (h->cbSize > 0) { int i; - uint8_t* p = ((uint8_t*)h) + sizeof(WAVEFORMATEX); + uint8_t* p = (uint8_t*)(h + 1); mp_msg(MSGT_HEADER, verbose_level, "Unknown extra header dump: "); for (i = 0; i < h->cbSize; i++) mp_msg(MSGT_HEADER, verbose_level, "[%x] ", p[i]); @@ -96,7 +96,7 @@ void print_video_header(BITMAPINFOHEADER *h, int verbose_level){ if (h->biSize > sizeof(BITMAPINFOHEADER)) { int i; - uint8_t* p = ((uint8_t*)h) + sizeof(BITMAPINFOHEADER); + uint8_t* p = (uint8_t*)(h + 1); mp_msg(MSGT_HEADER, verbose_level, "Unknown extra header dump: "); for (i = 0; i < h->biSize-sizeof(BITMAPINFOHEADER); i++) mp_msg(MSGT_HEADER, verbose_level, "[%x] ", *(p+i)); @@ -135,7 +135,8 @@ void print_index(AVIINDEXENTRY *idx, int idx_size, int verbose_level){ int i; unsigned int pos[256]; unsigned int num[256]; - for(i=0;i<256;i++) num[i]=pos[i]=0; + memset(pos, 0, sizeof(pos)); + memset(num, 0, sizeof(num)); for(i=0;i255) id=255; -- cgit v1.2.3 From 82d097d04bf08ec28444709569f6d65347d2ac0f Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:46:34 +0000 Subject: Fix DVD seek_to_chapter: the title number must be converted to a per-VTS title number first. Also add a few out-of-bounds checks just in case. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28226 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/stream_dvd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c index 235586597a..ae07239ad5 100644 --- a/stream/stream_dvd.c +++ b/stream/stream_dvd.c @@ -570,6 +570,15 @@ static int seek_to_chapter(stream_t *stream, ifo_handle_t *vts_file, tt_srpt_t * if(!vts_file || !tt_srpt) return 0; + if(title_no < 0 || title_no >= tt_srpt->nr_of_srpts) + return 0; + + // map global title to vts title + title_no = tt_srpt->title[title_no].vts_ttn - 1; + + if(title_no < 0 || title_no >= vts_file->vts_ptt_srpt->nr_of_srpts) + return 0; + if(chapter < 0 || chapter > vts_file->vts_ptt_srpt->title[title_no].nr_of_ptts-1) //no such chapter return 0; -- cgit v1.2.3 From d3825e4c8a5ef9ac3402a6761a1589e2ae311044 Mon Sep 17 00:00:00 2001 From: reimar Date: Thu, 1 Jan 2009 11:51:52 +0000 Subject: Move several of the ao_nas int-to-string maps into .rodata git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28227 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libao2/ao_nas.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libao2/ao_nas.c b/libao2/ao_nas.c index 5428c7489f..92ca56a35f 100644 --- a/libao2/ao_nas.c +++ b/libao2/ao_nas.c @@ -44,7 +44,7 @@ /* NAS_FRAG_SIZE must be a power-of-two value */ #define NAS_FRAG_SIZE 4096 -static char *nas_event_types[] = { +static const char * const nas_event_types[] = { "Undefined", "Undefined", "ElementNotify", @@ -54,21 +54,21 @@ static char *nas_event_types[] = { "DeviceNotify" }; -static char *nas_elementnotify_kinds[] = { +static const char * const nas_elementnotify_kinds[] = { "LowWater", "HighWater", "State", "Unknown" }; -static char *nas_states[] = { +static const char * const nas_states[] = { "Stop", "Start", "Pause", "Any" }; -static char *nas_reasons[] = { +static const char * const nas_reasons[] = { "User", "Underrun", "Overrun", @@ -78,24 +78,24 @@ static char *nas_reasons[] = { "Any" }; -static char* nas_reason(unsigned int reason) +static const char* nas_reason(unsigned int reason) { if (reason > 6) reason = 6; return nas_reasons[reason]; } -static char* nas_elementnotify_kind(unsigned int kind) +static const char* nas_elementnotify_kind(unsigned int kind) { if (kind > 2) kind = 3; return nas_elementnotify_kinds[kind]; } -static char* nas_event_type(unsigned int type) { +static const char* nas_event_type(unsigned int type) { if (type > 6) type = 0; return nas_event_types[type]; } -static char* nas_state(unsigned int state) { +static const char* nas_state(unsigned int state) { if (state>3) state = 3; return nas_states[state]; } -- cgit v1.2.3 From c2913af38f6a5502d7dd1480e21c2cdeb782cf62 Mon Sep 17 00:00:00 2001 From: diego Date: Thu, 1 Jan 2009 23:16:36 +0000 Subject: Fix confused references to DLL filenames. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28228 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/realcodecs/14_4.c | 2 +- TOOLS/realcodecs/28_8.c | 2 +- TOOLS/realcodecs/cook.c | 2 +- TOOLS/realcodecs/drv3.c | 2 +- TOOLS/realcodecs/drv4.c | 2 +- TOOLS/realcodecs/ra.c | 2 +- TOOLS/realcodecs/rv30.c | 2 +- TOOLS/realcodecs/sipr.c | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/TOOLS/realcodecs/14_4.c b/TOOLS/realcodecs/14_4.c index 942a40d3f8..92e1adf011 100644 --- a/TOOLS/realcodecs/14_4.c +++ b/TOOLS/realcodecs/14_4.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual 14_4.so.6.0 + This is a small dll that works as a wrapper for the actual real14_4.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/28_8.c b/TOOLS/realcodecs/28_8.c index 9a0ddf56d0..3fe81c179d 100644 --- a/TOOLS/realcodecs/28_8.c +++ b/TOOLS/realcodecs/28_8.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual 14_4.so.6.0 + This is a small dll that works as a wrapper for the actual real28_8.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/cook.c b/TOOLS/realcodecs/cook.c index 2ca335357b..6dcc36b601 100644 --- a/TOOLS/realcodecs/cook.c +++ b/TOOLS/realcodecs/cook.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realcook.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/drv3.c b/TOOLS/realcodecs/drv3.c index cdb1bfd574..836a827318 100644 --- a/TOOLS/realcodecs/drv3.c +++ b/TOOLS/realcodecs/drv3.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realdrv3.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/drv4.c b/TOOLS/realcodecs/drv4.c index 11cb3fac32..f406e43334 100644 --- a/TOOLS/realcodecs/drv4.c +++ b/TOOLS/realcodecs/drv4.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realdrv4.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/ra.c b/TOOLS/realcodecs/ra.c index cef14e035b..d17c6143b7 100644 --- a/TOOLS/realcodecs/ra.c +++ b/TOOLS/realcodecs/ra.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realcook.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/rv30.c b/TOOLS/realcodecs/rv30.c index bb6c75fcae..38d43f87e6 100644 --- a/TOOLS/realcodecs/rv30.c +++ b/TOOLS/realcodecs/rv30.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realrv30.so.6.0 dll from real player 8.0. */ diff --git a/TOOLS/realcodecs/sipr.c b/TOOLS/realcodecs/sipr.c index 386fdfb23b..8fa8e0b206 100644 --- a/TOOLS/realcodecs/sipr.c +++ b/TOOLS/realcodecs/sipr.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realsipr.so.6.0 dll from real player 8.0. */ -- cgit v1.2.3 From 15fd1a1636bb3a17498eb44137b4f89ee59e56c6 Mon Sep 17 00:00:00 2001 From: diego Date: Fri, 2 Jan 2009 11:45:39 +0000 Subject: Fix reference to wrong DLL filename in header comment. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28229 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/realcodecs/drv2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOOLS/realcodecs/drv2.c b/TOOLS/realcodecs/drv2.c index f829a4f2f4..0aba899c55 100644 --- a/TOOLS/realcodecs/drv2.c +++ b/TOOLS/realcodecs/drv2.c @@ -1,7 +1,7 @@ /* GPL v2 blah blah - This is a small dll that works as a wrapper for the actual cook.so.6.0 + This is a small dll that works as a wrapper for the actual realdrv2.so.6.0 dll from real player 8.0. */ -- cgit v1.2.3 From 21f5949d4a662370e72a9fd8e5838cd4022c9bf8 Mon Sep 17 00:00:00 2001 From: diego Date: Fri, 2 Jan 2009 11:46:34 +0000 Subject: Relicense to GPLv2 or later with the author's permission. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28230 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/realcodecs/14_4.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/28_8.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/cook.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/drv2.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/drv3.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/drv4.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/ra.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/rv30.c | 24 +++++++++++++++++++----- TOOLS/realcodecs/sipr.c | 24 +++++++++++++++++++----- 9 files changed, 171 insertions(+), 45 deletions(-) diff --git a/TOOLS/realcodecs/14_4.c b/TOOLS/realcodecs/14_4.c index 92e1adf011..61e59c7c58 100644 --- a/TOOLS/realcodecs/14_4.c +++ b/TOOLS/realcodecs/14_4.c @@ -1,9 +1,23 @@ /* - GPL v2 blah blah - - This is a small dll that works as a wrapper for the actual real14_4.so.6.0 - dll from real player 8.0. -*/ + * This is a small DLL that works as a wrapper for the actual real14_4.so.6.0 + * DLL from RealPlayer 8.0. + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ /* Assuming that RACloseCodec is the last call. diff --git a/TOOLS/realcodecs/28_8.c b/TOOLS/realcodecs/28_8.c index 3fe81c179d..5c1735cde3 100644 --- a/TOOLS/realcodecs/28_8.c +++ b/TOOLS/realcodecs/28_8.c @@ -1,9 +1,23 @@ /* - GPL v2 blah blah - - This is a small dll that works as a wrapper for the actual real28_8.so.6.0 - dll from real player 8.0. -*/ + * This is a small DLL that works as a wrapper for the actual real28_8.so.6.0 + * DLL from RealPlayer 8.0. + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. +