From 47556ffa77a730075b14ecb2f90dee9855338319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:05:17 +0100 Subject: Regen. --- po/cs.po | 159 ++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 97 insertions(+), 62 deletions(-) diff --git a/po/cs.po b/po/cs.po index bc6a782d6..1379ad233 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 1.0.1\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-08 20:10+0100\n" +"POT-Creation-Date: 2008-11-10 15:29+0100\n" "PO-Revision-Date: 2008-11-10 16:33+0200\n" "Last-Translator: František Dvořák \n" "Language-Team: Czech \n" @@ -467,7 +467,8 @@ msgstr "Nepodařilo se vytvořit primární buffer direct sound." #: src/audio_out/audio_directx2_out.c:594 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" -msgstr ": kurzor přehrávání se předběhl (data %u, min %u), resetování bufferů\n" +msgstr "" +": kurzor přehrávání se předběhl (data %u, min %u), resetování bufferů\n" #: src/audio_out/audio_directx2_out.c:697 #, c-format @@ -575,7 +576,9 @@ msgstr "jméno zvukového zařízení JACK" msgid "" "Specifies the jack audio device name, leave blank for the default physical " "output port." -msgstr "Specifikuje jméno zvukového zařízení jack, na výchozí fyzické ponechte prázdné" +msgstr "" +"Specifikuje jméno zvukového zařízení jack, na výchozí fyzické ponechte " +"prázdné" #: src/audio_out/audio_jack_out.c:921 msgid "xine output plugin for JACK Audio Connection Kit" @@ -885,11 +888,11 @@ msgstr "ffmpeg_video_dec: přímé renderování povoleno\n" msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: zvětšení bufferu na %d, aby se předešlo přetečení.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1634 +#: src/combined/ffmpeg/ff_video_decoder.c:1636 msgid "MPEG-4 postprocessing quality" msgstr "kvalita dodatečného zpracování MPEG-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1635 +#: src/combined/ffmpeg/ff_video_decoder.c:1637 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -904,11 +907,11 @@ msgstr "" "Pro vysokou kvalitu videa může příliš silné dodatečné zpracování způsobit " "horší obraz tím, že ho více rozmaže." -#: src/combined/ffmpeg/ff_video_decoder.c:1643 +#: src/combined/ffmpeg/ff_video_decoder.c:1645 msgid "FFmpeg video decoding thread count" msgstr "Počet vláken na dekódování videa FFmpegem" -#: src/combined/ffmpeg/ff_video_decoder.c:1644 +#: src/combined/ffmpeg/ff_video_decoder.c:1646 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -916,13 +919,17 @@ msgid "" "decoding thread per logical CPU (typically 1 to 4).\n" "A change of this setting will take effect with playing the next stream." msgstr "" -"Můžete upravit počet vláken dekódující video, které má FFmpeg používat.\nVyšší hodnoty by měly urychlit dekódování, ale záleží také na tom, jestli daný kodek podporuje paralelní dekódování. Zpravidla je dobré mít jedno dekódovací vlákno na jeden logický procesor (typicky od 1 do 4).\nZměna tohoto nastavení se projeví při přehrávání následujícího videa." +"Můžete upravit počet vláken dekódující video, které má FFmpeg používat.\n" +"Vyšší hodnoty by měly urychlit dekódování, ale záleží také na tom, jestli " +"daný kodek podporuje paralelní dekódování. Zpravidla je dobré mít jedno " +"dekódovací vlákno na jeden logický procesor (typicky od 1 do 4).\n" +"Změna tohoto nastavení se projeví při přehrávání následujícího videa." -#: src/combined/ffmpeg/ff_video_decoder.c:1653 +#: src/combined/ffmpeg/ff_video_decoder.c:1655 msgid "Skip loop filter" msgstr "Přeskakování filtru ve smyčce" -#: src/combined/ffmpeg/ff_video_decoder.c:1654 +#: src/combined/ffmpeg/ff_video_decoder.c:1656 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -931,17 +938,19 @@ msgid "" "The default value leaves the decision up to the implementation.\n" "A change of this setting will take effect with playing the next stream." msgstr "" -"Můžete řídit, pro které snímky by měl být po dekódování přeskočen filtr ve smyčce.\n" -"Přeskakování filtru ve smyčce urychlí dekódování, ale může vést k artefaktům. Počet přeskočených snímků je od 'none' (žádné) po 'all' (všechny)." -"Výchozí hodnota ponechává rozhodnutí na implementaci.\n" +"Můžete řídit, pro které snímky by měl být po dekódování přeskočen filtr ve " +"smyčce.\n" +"Přeskakování filtru ve smyčce urychlí dekódování, ale může vést k " +"artefaktům. Počet přeskočených snímků je od 'none' (žádné) po " +"'all' (všechny).Výchozí hodnota ponechává rozhodnutí na implementaci.\n" "Změna tohoto nastavení se projeví při přehrávání následujícího videa." -#: src/combined/ffmpeg/ff_video_decoder.c:1663 +#: src/combined/ffmpeg/ff_video_decoder.c:1665 msgid "Choose speed over specification compliance" msgstr "Upřednostnit rychlost před vyhověním specifikacím" # "zneuctívají specifikace kodeku" ;-) -#: src/combined/ffmpeg/ff_video_decoder.c:1664 +#: src/combined/ffmpeg/ff_video_decoder.c:1666 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1850,7 +1859,8 @@ msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -"input_dvb: bylo uvedeno MRL DVBA, ale nezdá se, že by byl tuner ATSC (DVB-A)\n" +"input_dvb: bylo uvedeno MRL DVBA, ale nezdá se, že by byl tuner ATSC (DVB-" +"A)\n" #: src/input/input_dvb.c:2989 #, c-format @@ -1908,7 +1918,8 @@ msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -"Ponechání na 0 znamená zkoušet bez přestání. Více než 0 znamená čekat na získání zámku uvedený počet sekund. Minimum je 5 sekund." +"Ponechání na 0 znamená zkoušet bez přestání. Více než 0 znamená čekat na " +"získání zámku uvedený počet sekund. Minimum je 5 sekund." #: src/input/input_dvb.c:3322 msgid "Number of dvb card to use." @@ -1936,7 +1947,8 @@ msgstr "Konfigurační soubor kanálů DVB" #: src/input/input_dvb.c:3339 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." -msgstr "Konfigurační soubor kanálů DVB, který použít, místo ~/.xine/channels.conf." +msgstr "" +"Konfigurační soubor kanálů DVB, který použít, místo ~/.xine/channels.conf." #: src/input/input_dvd.c:585 msgid "input_dvd: values of \\beta will give rise to dom!\n" @@ -2528,7 +2540,8 @@ msgstr "TV standard v4l" msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " -msgstr "Vybírá televizní standard vstupního signálu. Buď AUTO, PAL, NTSC nebo SECAM." +msgstr "" +"Vybírá televizní standard vstupního signálu. Buď AUTO, PAL, NTSC nebo SECAM." #: src/input/input_v4l.c:1948 msgid "v4l radio device" @@ -2596,7 +2609,9 @@ msgstr "rtsp_session: nelze zavést relaci.\n" msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" -msgstr "rtsp_session: rtsp server vrátil příliš velké hlavičky, nemůže být zřízeno sezení.\n" +msgstr "" +"rtsp_session: rtsp server vrátil příliš velké hlavičky, nemůže být zřízeno " +"sezení.\n" #: src/input/librtsp/rtsp_session.c:164 #, c-format @@ -3144,7 +3159,8 @@ msgstr "Font z adresáře fontů xine, který se použije na text s titulky." #: src/libsputext/xine_sputext_decoder.c:1164 msgid "An outline font file (e.g. a .ttf) to be used for the subtitle text." -msgstr "Vnější font jako soubor (např. .ttf), který se použije na text s titulky." +msgstr "" +"Vnější font jako soubor (např. .ttf), který se použije na text s titulky." #: src/libsputext/xine_sputext_decoder.c:1170 msgid "whether to use a freetype font" @@ -3354,7 +3370,10 @@ msgstr "" "Normalizuje audio na maximální úroveň bez zkreslení zvuku.\n" "\n" "Parametry:\n" -" metoda 1: použít jeden vzorek na vyhlazení variací využitím standardního váženého průměru přes předchozí vzorky (výchozí); 2: použít několik vzorků na vyhlazení variací využitím standardního váženého průměru přes předchozí vzorky.\n" +" metoda 1: použít jeden vzorek na vyhlazení variací využitím standardního " +"váženého průměru přes předchozí vzorky (výchozí); 2: použít několik vzorků " +"na vyhlazení variací využitím standardního váženého průměru přes předchozí " +"vzorky.\n" #: src/post/deinterlace/xine_plugin.c:202 msgid "" @@ -3665,8 +3684,8 @@ msgid "" " Centre_cut_out_mode: extracts 4:3 image contained in 16:9 frame\n" "\n" msgstr "" -"Modul expand je určen k tomu, aby bral snímky s libovolnými poměry stran " -"a konvertoval je na jiný poměr (výchozí je 4:3) přidáním černých pruhů nahoru " +"Modul expand je určen k tomu, aby bral snímky s libovolnými poměry stran a " +"konvertoval je na jiný poměr (výchozí je 4:3) přidáním černých pruhů nahoru " "a dolů. To dovolí posunovat OSD nebo titulky tak, že nezasahují do obrazu.\n" "\n" "Parametry (FIXME: lepší nápověda)\n" @@ -3696,11 +3715,13 @@ msgstr "" "Přidává do videa náhodný šum.\n" "\n" "Parametry:\n" -" luma_strength: intenzita šumu přidaného ke kanálu luma (0-100, výchozí: 8)\n" -" chroma_strength: intenzita šumu přidaného ke kanálu chroma (0-100, výchozí 5)\n" -" quality: úroveň kvality šumu. fixed: konstantní vzorek šumu; " -"temporal: vzorek šumu se mezi snímky mění; averaged temporal: " -"vzorek šumu, který se mění mezi snímky plynule. (výchozí: averaged temporal)\n" +" luma_strength: intenzita šumu přidaného ke kanálu luma (0-100, výchozí: " +"8)\n" +" chroma_strength: intenzita šumu přidaného ke kanálu chroma (0-100, výchozí " +"5)\n" +" quality: úroveň kvality šumu. fixed: konstantní vzorek šumu; temporal: " +"vzorek šumu se mezi snímky mění; averaged temporal: vzorek šumu, který se " +"mění mezi snímky plynule. (výchozí: averaged temporal)\n" " type: typ šumu: uniform nebo gaussian. (výchozí: gaussian)\n" " pattern: míchat náhodný šum s polopravidelným vzorkem. (výchozí: False)\n" "\n" @@ -3878,7 +3899,9 @@ msgstr "video_out_directfb: vrstva nepodporuje YUY2!\n" #: src/video_out/video_out_directfb.c:1553 msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" -msgstr "video_out_directfb: k přehrávání na této vrstvě potřeba minimálně DirectFB 0.9.25!\n" +msgstr "" +"video_out_directfb: k přehrávání na této vrstvě potřeba minimálně DirectFB " +"0.9.25!\n" #: src/video_out/video_out_directfb.c:1588 #, c-format @@ -3923,7 +3946,8 @@ msgstr "výstupní modul videa xine použije DirectFB." #: src/video_out/video_out_directfb.c:2003 msgid "video_out_directfb: no usable display layer was found!\n" -msgstr "video_out_directfb: žádná použitelná obrazová vrstva nebyla nalezena!\n" +msgstr "" +"video_out_directfb: žádná použitelná obrazová vrstva nebyla nalezena!\n" #: src/video_out/video_out_directfb.c:2092 msgid "xine video output plugin using DirectFB under XDirectFB." @@ -4406,7 +4430,8 @@ msgid "" "image \n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" msgstr "" -"video_out_xcbshm: chyba sdílené paměti (chyba adresy) během alokování obrázku\n" +"video_out_xcbshm: chyba sdílené paměti (chyba adresy) během alokování " +"obrázku\n" "video_out_xcbshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xcbshm.c:170 @@ -4474,7 +4499,7 @@ msgstr "" msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: Rozšíření Xv není přítomno.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1438 +#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 #: src/video_out/video_out_xxmc.c:2461 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" @@ -4487,8 +4512,8 @@ msgid "" " Looks like your graphics hardware driver doesn't support " "Xv?!\n" msgstr "" -"video_out_xcbxv: Rozšíření Xv je přítomno, ale nepodařilo se nalézt použitelný " -"port yuv12.\n" +"video_out_xcbxv: Rozšíření Xv je přítomno, ale nepodařilo se nalézt " +"použitelný port yuv12.\n" " Vypadá to, jako by váš grafický hardwarový ovladač " "nepodporoval Xv?!\n" @@ -4501,20 +4526,22 @@ msgstr "" "video_out_xcbxv: pro hardwarovou konverzi barevného prostoru a škálování se " "použije Xv port %d z adaptéru %s.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1590 +#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 msgid "enable vblank sync" msgstr "povolit synchronizaci s vblank" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1591 +#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " "tearing artifacts. On nvidia cards one may also need to run \"nvidia-settings" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -"Tato volba synchronizuje aktualizaci obrazu videa s překreslováním " -"úplné obrazovky (\"vertikální zpětný běh paprsku\"). To eliminuje blikání " -"a trhané artefakty. Na kartách nVidia může být ještě třeba spustit \"nvidia-settings\" a v kartě XVideo Settings vybrat, se kterým zařízením obrazovky synchronizovat." +"Tato volba synchronizuje aktualizaci obrazu videa s překreslováním úplné " +"obrazovky (\"vertikální zpětný běh paprsku\"). To eliminuje blikání a trhané " +"artefakty. Na kartách nVidia může být ještě třeba spustit \"nvidia-settings" +"\" a v kartě XVideo Settings vybrat, se kterým zařízením obrazovky " +"synchronizovat." #: src/video_out/video_out_xcbxv.c:1582 msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" @@ -4524,12 +4551,12 @@ msgstr "video_out_xcbxv: tento adaptér podporuje formát yv12.\n" msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: tento adaptér podporuje formát yuy2.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1659 +#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 #: src/video_out/video_out_xvmc.c:1529 msgid "deinterlace method (deprecated)" msgstr "metoda korekce prokládání (zavrženo)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1660 +#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 #: src/video_out/video_out_xvmc.c:1530 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " @@ -4603,7 +4630,7 @@ msgstr "" "K odstranění hřebenových artefaktů použije lehké rozmazání. Dobré výsledky " "se střední zátěží CPU." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1733 +#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 #: src/video_out/video_out_xxmc.c:2763 msgid "xine video output plugin using the MIT X video extension" msgstr "výstupní modul videa xine použije rozšíření MIT X video" @@ -4650,7 +4677,7 @@ msgstr "" msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: váš videorežim nebyl rozpoznán, bohužel :-(\n" -#: src/video_out/video_out_xv.c:294 +#: src/video_out/video_out_xv.c:295 msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4658,7 +4685,7 @@ msgstr "" "video_out_xv: selhalo XvShmCreateImage\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:320 +#: src/video_out/video_out_xv.c:321 msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4666,7 +4693,7 @@ msgstr "" "video_out_xv: funkce XvShmCreateImage vrátila nulovou velikost\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:328 +#: src/video_out/video_out_xv.c:329 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4675,7 +4702,7 @@ msgstr "" "video_out_xv: chyba sdílené paměti v shmget: %s\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:360 +#: src/video_out/video_out_xv.c:361 msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4683,11 +4710,11 @@ msgstr "" "video_out_xv: chyba x11 během vytváření XImage\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:1413 +#: src/video_out/video_out_xv.c:1427 msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Rozšíření Xv není přítomno.\n" -#: src/video_out/video_out_xv.c:1451 +#: src/video_out/video_out_xv.c:1465 msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4698,7 +4725,7 @@ msgstr "" " Vypadá to, jako by váš grafický hardwarový ovladač " "nepodporoval Xv?!\n" -#: src/video_out/video_out_xv.c:1460 +#: src/video_out/video_out_xv.c:1474 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4707,11 +4734,11 @@ msgstr "" "video_out_xv: pro hardwarovou konverzi barevného prostoru a škálování se " "použije Xv port %ld z adaptéru %s.\n" -#: src/video_out/video_out_xv.c:1626 +#: src/video_out/video_out_xv.c:1640 msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tento adaptér podporuje formát yv12.\n" -#: src/video_out/video_out_xv.c:1631 +#: src/video_out/video_out_xv.c:1645 msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tento adaptér podporuje formát yuy2.\n" @@ -4886,7 +4913,8 @@ msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -"Postupné snímky nepotřebují korekci prokládání, takže zakázat ji podle potřeby by mělo vést k lepšímu zobrazení.\n" +"Postupné snímky nepotřebují korekci prokládání, takže zakázat ji podle " +"potřeby by mělo vést k lepšímu zobrazení.\n" #: src/video_out/video_out_xxmc.c:2708 msgid "Don't use bob deinterlacing while a scaled OSD is active." @@ -4897,7 +4925,8 @@ msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" -"Korekce prokládání bob přidává k vodorovným linkám šum, takže zakázat ji podle potřeby by mělo vést k lepšímu zobrazení OSD.\n" +"Korekce prokládání bob přidává k vodorovným linkám šum, takže zakázat ji " +"podle potřeby by mělo vést k lepšímu zobrazení OSD.\n" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" @@ -4984,7 +5013,8 @@ msgid "" "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" -"Vybírá, která metoda zobrazení videa je upřednostňována. Detekce se provádí použitím oznámených jmen adaptérů Xv.\n" +"Vybírá, která metoda zobrazení videa je upřednostňována. Detekce se provádí " +"použitím oznámených jmen adaptérů Xv.\n" "(Platí jen při použití autodetekce portů Xv.)" #: src/xine-engine/alphablend.c:2146 @@ -5646,7 +5676,8 @@ msgid "" "The default number of video frames to request from xine video out driver. " "Some drivers will override this setting with their own values." msgstr "" -"Výchozí počet videosnímků, který se bude žádat z videovýstupního ovladače xine. Některé ovladače použijí své vlastní hodnoty místo této." +"Výchozí počet videosnímků, který se bude žádat z videovýstupního ovladače " +"xine. Některé ovladače použijí své vlastní hodnoty místo této." #: src/xine-engine/video_out.c:1875 msgid "percentage of skipped frames to tolerate" @@ -5726,10 +5757,10 @@ msgstr "" "Pokud chcete, aby se zobrazoval obraz videa vždy v jeho původním rozlišení, " "můžete zakázat veškeré změny měřítka.\n" "Toto samozřejmě znamená, že se obraz nebude dále přizpůsobovat velikosti " -"okna videa a videa s poměrem stran bodu jiným než je 1:1 (např. anamorfotické " -"DVD) se budou zobrazovat deformovaně. Ale na druhou stranu, s některými " -"videovýstupy jako je XShm, kde není škálování obrazu hardwarově urychlováno, " -"může toto dramaticky snížit využití CPU." +"okna videa a videa s poměrem stran bodu jiným než je 1:1 (např. " +"anamorfotické DVD) se budou zobrazovat deformovaně. Ale na druhou stranu, s " +"některými videovýstupy jako je XShm, kde není škálování obrazu hardwarově " +"urychlováno, může toto dramaticky snížit využití CPU." #: src/xine-engine/xine.c:805 src/xine-engine/xine.c:926 #: src/xine-engine/xine.c:966 src/xine-engine/xine.c:1002 @@ -5812,7 +5843,9 @@ msgstr "xine: změna volby '%s' z MRL není povolena\n" #: src/xine-engine/xine.c:1205 #, c-format msgid "xine: couldn't load plugin-specified demux %s for >%s<\n" -msgstr "xine: nepodařilo se načíst demultiplexor %s požadovaný vstupním modulem pro >%s<\n" +msgstr "" +"xine: nepodařilo se načíst demultiplexor %s požadovaný vstupním modulem pro >" +"%s<\n" #: src/xine-engine/xine.c:1215 #, c-format @@ -5945,7 +5978,9 @@ msgid "" "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -"Specifikuje timeout při čtení dat ze sítě v sekundách. Příliš nízké hodnoty by mohly přerušovat přehrávání, pokud je zdroj pomalý nebo je zabrané pásmo, příliš vysoké hodnoty zablokují přehrávač, pokud se ztratí spojení." +"Specifikuje timeout při čtení dat ze sítě v sekundách. Příliš nízké hodnoty " +"by mohly přerušovat přehrávání, pokud je zdroj pomalý nebo je zabrané pásmo, " +"příliš vysoké hodnoty zablokují přehrávač, pokud se ztratí spojení." #: src/xine-engine/xine.c:2217 msgid "messages" -- cgit v1.2.3 From 388558bbbedf8499e696b90ed0eb91d76ed17723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:05:30 +0100 Subject: Fix size of mrls array. --- src/input/input_dvb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 0fa5ba971..d4f4c342f 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -286,7 +286,7 @@ typedef struct { xine_t *xine; - char *mrls[5]; + char *mrls[6]; int numchannels; -- cgit v1.2.3 From 772ac85a2f75c15a7a214f5f7e60008bfc9a2e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:05:43 +0100 Subject: Remove unused variable. --- src/video_out/video_out_xcbxv.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index 807bb766d..be218658c 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -1314,8 +1314,6 @@ static xcb_xv_port_t xv_autodetect_port(xv_driver_t *this, xcb_xv_port_t base, xv_prefertype prefer_type) { - xcb_xv_adaptor_info_iterator_t *start = adaptor_it; - for (; adaptor_it->rem; xcb_xv_adaptor_info_next(adaptor_it)) if (adaptor_it->data->type & XCB_XV_TYPE_IMAGE_MASK && (prefer_type == xv_prefer_none || -- cgit v1.2.3 From 09b2085570e9e192d94f46348d859c7a7720c606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:05:56 +0100 Subject: Remove format warning. --- src/video_out/video_out_xv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index b71518958..a3612e3eb 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -1435,7 +1435,7 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * if (xv_port != 0) { if (! xv_open_port(this, xv_port)) { xprintf(class->xine, XINE_VERBOSITY_NONE, - _("%s: could not open Xv port %d - autodetecting\n"), + _("%s: could not open Xv port %"PRId32" - autodetecting\n"), LOG_MODULE, xv_port); xv_port = xv_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, xv_port, prefer_type); } else -- cgit v1.2.3 From 2e8f7fbd6c35d9c8daa782237152784eb4209d75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:13:01 +0100 Subject: Ignore warnings about pointer signedness since we have signed read functions in our plugins (for now). --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d334f93c1..fdbd1a739 100644 --- a/configure.ac +++ b/configure.ac @@ -2625,7 +2625,7 @@ dnl enough. CC_CHECK_CFLAGS_APPEND([-Wall -Wchar-subscripts dnl -Wnested-externs -Wcast-align dnl -Wmissing-declarations -Wmissing-prototypes dnl - -Wmissing-format-attribute]) + -Wmissing-format-attribute -Wno-pointer-sign]) CC_CHECK_CFLAGS_APPEND([-Wformat=2 -Wformat], [CC_CHECK_CFLAGS_APPEND([-Wno-format-zero-length]) -- cgit v1.2.3 From 26f54381780b0eb18c9779d1b08ee8540e5a411a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:13:26 +0100 Subject: Comment out the unused variables, make sure side effects are preserved though. --- src/libspudvb/xine_spudvb_decoder.c | 61 +++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/src/libspudvb/xine_spudvb_decoder.c b/src/libspudvb/xine_spudvb_decoder.c index e6e885e1f..a5b34bc96 100644 --- a/src/libspudvb/xine_spudvb_decoder.c +++ b/src/libspudvb/xine_spudvb_decoder.c @@ -142,7 +142,6 @@ static void update_region (dvb_spu_decoder_t * this, int region_id, int region_w dvbsub_func_t *dvbsub = this->dvbsub; region_t *reg = &dvbsub->regions[region_id]; - page_t *page = &dvbsub->page; /* reject invalid sizes and set some limits ! */ if ( region_width<=0 || region_height<=0 || region_width>720 || region_height>576 ) { @@ -327,22 +326,27 @@ static void set_clut(dvb_spu_decoder_t *this,int CLUT_id,int CLUT_entry_id,int Y static void process_CLUT_definition_segment(dvb_spu_decoder_t *this) { dvbsub_func_t *dvbsub = this->dvbsub; - const uint16_t page_id= _X_BE_16(&dvbsub->buf[dvbsub->i]); + /* + const uint16_t page_id= _X_BE_16(&dvbsub->buf[dvbsub->i]); + */ dvbsub->i+=2; const uint16_t segment_length= _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i+=2; const int j=dvbsub->i+segment_length; const uint8_t CLUT_id=dvbsub->buf[dvbsub->i++]; - const uint8_t CLUT_version_number=(dvbsub->buf[dvbsub->i]&0xf0)>>4; + /* + const uint8_t CLUT_version_number=(dvbsub->buf[dvbsub->i]&0xf0)>>4; + */ dvbsub->i++; while (dvbsub->i < j) { const uint8_t CLUT_entry_id=dvbsub->buf[dvbsub->i++]; - - const uint8_t CLUT_flag_2_bit=(dvbsub->buf[dvbsub->i]&0x80)>>7; - const uint8_t CLUT_flag_4_bit=(dvbsub->buf[dvbsub->i]&0x40)>>6; - const uint8_t CLUT_flag_8_bit=(dvbsub->buf[dvbsub->i]&0x20)>>5; + /* + const uint8_t CLUT_flag_2_bit=(dvbsub->buf[dvbsub->i]&0x80)>>7; + const uint8_t CLUT_flag_4_bit=(dvbsub->buf[dvbsub->i]&0x40)>>6; + const uint8_t CLUT_flag_8_bit=(dvbsub->buf[dvbsub->i]&0x20)>>5; + */ const uint8_t full_range_flag=dvbsub->buf[dvbsub->i]&1; dvbsub->i++; @@ -455,13 +459,20 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) dvbsub->i += 2; const uint16_t region_height = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; - const uint8_t region_level_of_compatibility = (dvbsub->buf[dvbsub->i] & 0xe0) >> 5; - const uint8_t region_depth = (dvbsub->buf[dvbsub->i] & 0x1c) >> 2; + /* + const uint8_t region_level_of_compatibility = (dvbsub->buf[dvbsub->i] & 0xe0) >> 5; + const uint8_t region_depth = (dvbsub->buf[dvbsub->i] & 0x1c) >> 2; + */ dvbsub->i++; const uint8_t CLUT_id = dvbsub->buf[dvbsub->i++]; - const uint8_t region_8_bit_pixel_code = dvbsub->buf[dvbsub->i++]; + /* + const uint8_t region_8_bit_pixel_code = dvbsub->buf[dvbsub->i]; + */ + dvbsub->i++; const uint8_t region_4_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; - const uint8_t region_2_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; + /* + const uint8_t region_2_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; + */ dvbsub->i++; if(region_id>=MAX_REGIONS) @@ -491,7 +502,9 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) const uint16_t object_id = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; const uint8_t object_type = (dvbsub->buf[dvbsub->i] & 0xc0) >> 6; - const uint8_t object_provider_flag = (dvbsub->buf[dvbsub->i] & 0x30) >> 4; + /* + const uint8_t object_provider_flag = (dvbsub->buf[dvbsub->i] & 0x30) >> 4; + */ const uint16_t object_x = ((dvbsub->buf[dvbsub->i] & 0x0f) << 8) | dvbsub->buf[dvbsub->i + 1]; dvbsub->i += 2; const uint16_t object_y = ((dvbsub->buf[dvbsub->i] & 0x0f) << 8) | dvbsub->buf[dvbsub->i + 1]; @@ -500,8 +513,11 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) dvbsub->regions[region_id].object_pos[object_id] = (object_x << 16) | object_y; if ((object_type == 0x01) || (object_type == 0x02)) { - const uint8_t foreground_pixel_code = dvbsub->buf[dvbsub->i++]; - const uint8_t background_pixel_code = dvbsub->buf[dvbsub->i++]; + /* + const uint8_t foreground_pixel_code = dvbsub->buf[dvbsub->i]; + const uint8_t background_pixel_code = dvbsub->buf[dvbsub->i+1]; + */ + dvbsub->i += 2; } } @@ -513,15 +529,19 @@ static void process_object_data_segment (dvb_spu_decoder_t * this) dvbsub->page.page_id = (dvbsub->buf[dvbsub->i] << 8) | dvbsub->buf[dvbsub->i + 1]; dvbsub->i += 2; - const uint16_t segment_length = _X_BE_16(&dvbsub->buf[dvbsub->i]); + /* + const uint16_t segment_length = _X_BE_16(&dvbsub->buf[dvbsub->i]); + */ dvbsub->i += 2; const uint16_t object_id = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; dvbsub->curr_obj = object_id; - const uint8_t object_version_number = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; const uint8_t object_coding_method = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; - const uint8_t non_modifying_colour_flag = (dvbsub->buf[dvbsub->i] & 0x02) >> 1; + /* + const uint8_t object_version_number = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; + const uint8_t non_modifying_colour_flag = (dvbsub->buf[dvbsub->i] & 0x02) >> 1; + */ dvbsub->i++; if ( object_coding_method != 0 ) @@ -780,8 +800,11 @@ static void spudec_decode_data (spu_decoder_t * this_gen, buf_element_t * buf) this->dvbsub->i = 0; - const uint8_t data_identifier = this->dvbsub->buf[this->dvbsub->i++]; - const uint8_t subtitle_stream_id = this->dvbsub->buf[this->dvbsub->i++]; + /* + const uint8_t data_identifier = this->dvbsub->buf[this->dvbsub->i]; + const uint8_t subtitle_stream_id = this->dvbsub->buf[this->dvbsub->i+1]; + */ + this->dvbsub += 2; while (this->dvbsub->i <= (PES_packet_length)) { /* SUBTITLING SEGMENT */ -- cgit v1.2.3 From f40e4009259a1f4ef827af483c1c6927f1b78121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20E=2E=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 20 Dec 2008 02:16:41 +0100 Subject: Fix constantness. --- src/combined/demux_flac.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/combined/demux_flac.c b/src/combined/demux_flac.c index ebba63701..fc638fe35 100644 --- a/src/combined/demux_flac.c +++ b/src/combined/demux_flac.c @@ -583,7 +583,7 @@ open_plugin (demux_class_t *class_gen, } break; case METHOD_BY_EXTENSION: { - char *ending, *mrl; + const char *ending, *mrl; mrl = input->get_mrl (input); @@ -715,22 +715,22 @@ open_plugin (demux_class_t *class_gen, /* FLAC Demuxer class */ -static char * +static const char * get_description (demux_class_t *this_gen) { return "FLAC demux plugin"; } -static char * +static const char * get_identifier (demux_class_t *this_gen) { return "FLAC"; } -static char * +static const char * get_extensions (demux_class_t *this_gen) { return "flac"; } -static char * +static const char * get_mimetypes (demux_class_t *this_gen) { return "audio/x-flac: flac: FLAC Audio;" "audio/flac: flac: FLAC Audio;"; -- cgit v1.2.3 From 676effa5043dcfa6537c06c28c2ad3b655e42535 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 26 Dec 2008 17:54:21 +0000 Subject: Don't store immediately-discarded input read() results --- src/demuxers/demux_mpeg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c index 388be2140..fa167c70e 100644 --- a/src/demuxers/demux_mpeg.c +++ b/src/demuxers/demux_mpeg.c @@ -330,7 +330,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) if((this->dummy_space[0] & 0xf0) == 0x80) { /* read rest of header - AC3 */ - i = this->input->read (this->input, this->dummy_space+1, 3); + this->input->read (this->input, this->dummy_space+1, 3); /* contents */ for (i = len - 4; i > 0; i -= (this->audio_fifo) @@ -431,7 +431,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) header_len -= 5 ; } - i = this->input->read (this->input, this->dummy_space, header_len); + this->input->read (this->input, this->dummy_space, header_len); for (i = len; i > 0; i -= (this->audio_fifo) ? this->audio_fifo->buffer_pool_buf_size : this->video_fifo->buffer_pool_buf_size) { @@ -503,7 +503,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) } /* read rest of header */ - i = this->input->read (this->input, this->dummy_space, header_len); + this->input->read (this->input, this->dummy_space, header_len); /* contents */ -- cgit v1.2.3 From 59ed0e154af747ba4f69712e967bc19f0d0ec17e Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 27 Dec 2008 21:00:31 +0000 Subject: Clean up Xv attribute-setting functions; fix a related off-by-one (xcbxv). --HG-- extra : transplant_source : %A0%EE%CC%FA%D3%AF2%8B%96%1F%B1%8E%00%01%96%8E%9E%AC%93Y --- ChangeLog | 1 + src/video_out/video_out_xcbxv.c | 54 +++++++++-------------------------------- src/video_out/video_out_xv.c | 45 +++++++++------------------------- src/video_out/video_out_xxmc.c | 31 +++++++++-------------- 4 files changed, 36 insertions(+), 95 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7ea8d77c7..1b5feec7f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ xine-lib (1.1.16) 2008-??-?? * Correct AAC channel ordering for multi-channel audio, at least for FLAC when using ALSA or PulseAudio. (Needs a proper fix.) * Add position-based seeking independent from seekpoints. + * Fix some XCB Xv attribute configuration breakage. xine-lib (1.1.15) 2008-08-14 * Security fixes: diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index be218658c..bb7e32946 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -1212,67 +1212,37 @@ static void xv_update_deinterlace(void *this_gen, xine_cfg_entry_t *entry) { this->deinterlace_method = entry->num_value; } -static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xv_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_filter; xcb_intern_atom_cookie_t atom_cookie; xcb_intern_atom_reply_t *atom_reply; - xv_filter = entry->num_value; - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_FILTER"), "XV_FILTER"); + atom_cookie = xcb_intern_atom(this->connection, 0, strlen (atomstr), atomstr); atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_filter); + xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, entry->num_value); free(atom_reply); pthread_mutex_unlock(&this->main_mutex); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_double_buffer; - - xcb_intern_atom_cookie_t atom_cookie; - xcb_intern_atom_reply_t *atom_reply; - - xv_double_buffer = entry->num_value; - - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_DOUBLE_BUFFER"), "XV_DOUBLE_BUFFER"); - atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_double_buffer); - free(atom_reply); - pthread_mutex_unlock(&this->main_mutex); +static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: double buffering mode = %d\n", xv_double_buffer); +static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_sync_to_vblank; - - xcb_intern_atom_cookie_t atom_cookie; - xcb_intern_atom_reply_t *atom_reply; - - xv_sync_to_vblank = entry->num_value; - - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_SYNC_TO_VBLANK"), "XV_SYNC_TO_VBLANK"); - atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_sync_to_vblank); - free(atom_reply); - pthread_mutex_unlock(&this->main_mutex); - - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: sync to vblank = %d\n", xv_sync_to_vblank); + xv_update_attr (this_gen, entry, "XV_SYNC_TO_VBLANK", "sync to vblank"); } - static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { xv_driver_t *this = (xv_driver_t *) this_gen; diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index a3612e3eb..cc2990a03 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -1269,52 +1269,31 @@ static void xv_update_deinterlace(void *this_gen, xine_cfg_entry_t *entry) { this->deinterlace_method = entry->num_value; } -static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xv_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xv_driver_t *this = (xv_driver_t *) this_gen; Atom atom; - int xv_filter; - - xv_filter = entry->num_value; LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_FILTER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_filter); + atom = XInternAtom (this->display, atomstr, False); + XvSetPortAttribute (this->display, this->xv_port, atom, entry->num_value); UNLOCK_DISPLAY(this); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - Atom atom; - int xv_double_buffer; - - xv_double_buffer = entry->num_value; - - LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_DOUBLE_BUFFER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_double_buffer); - UNLOCK_DISPLAY(this); +static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: double buffering mode = %d\n", xv_double_buffer); +static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - Atom atom; - int xv_sync_to_vblank; - - xv_sync_to_vblank = entry->num_value; - - LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_SYNC_TO_VBLANK", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_sync_to_vblank); - UNLOCK_DISPLAY(this); - - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: sync to vblank = %d\n", xv_sync_to_vblank); + xv_update_attr (this_gen, entry, "XV_SYNC_TO_VBLANK", "sync to vblank"); } static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index b3ac39697..06a42b23f 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -2129,36 +2129,27 @@ static void xxmc_check_capability (xxmc_driver_t *this, this->props[property].value = int_default; } -static void xxmc_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xxmc_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xxmc_driver_t *this = (xxmc_driver_t *) this_gen; Atom atom; - int xv_filter; - - xv_filter = entry->num_value; XLockDisplay(this->display); - atom = XInternAtom (this->display, "XV_FILTER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_filter); + atom = XInternAtom (this->display, atomstr, False); + XvSetPortAttribute (this->display, this->xv_port, atom, entry->num_value); XUnlockDisplay(this->display); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xxmc: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xxmc_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xxmc_driver_t *this = (xxmc_driver_t *) this_gen; - Atom atom; - int xv_double_buffer; - - xv_double_buffer = entry->num_value; - - XLockDisplay(this->display); - atom = XInternAtom (this->display, "XV_DOUBLE_BUFFER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_double_buffer); - XUnlockDisplay(this->display); +static void xxmc_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xxmc_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xxmc: double buffering mode = %d\n", xv_double_buffer); +static void xxmc_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xxmc_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } static void xxmc_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { -- cgit v1.2.3 From 5b3081d031ef5089cf6c1ace4ba01e610cbd81d4 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 27 Dec 2008 21:11:17 +0000 Subject: Recognise XV_VSYNC == XV_SYNC_TO_BLANK for xf86-video-ati 6.9.1. --- src/video_out/video_out_xcbxv.c | 10 ++++++++-- src/video_out/video_out_xv.c | 10 ++++++++-- src/video_out/xv_common.h | 3 +++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index bb7e32946..42b841d7c 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -138,6 +138,8 @@ struct xv_driver_s { int use_colorkey; uint32_t colorkey; + int sync_is_vsync; + /* hold initial port attributes values to restore on exit */ xine_list_t *port_attributes; @@ -157,6 +159,7 @@ typedef struct { } xv_class_t; static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +static const char *const sync_atoms[] = VIDEO_DEVICE_XV_VSYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1240,7 +1243,9 @@ static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_update_attr (this_gen, entry, "XV_SYNC_TO_VBLANK", "sync to vblank"); + xv_update_attr (this_gen, entry, + sync_atoms[((xv_driver_t *)this_gen)->sync_is_vsync], + "sync to vblank"); } static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { @@ -1504,7 +1509,8 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xv_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); - } else if(!strcmp(xcb_xv_attribute_info_name(attribute_it.data), "XV_SYNC_TO_VBLANK")) { + } else if(!strcmp(name, sync_atoms[this->sync_is_vsync = 0]) || + !strcmp(name, sync_atoms[this->sync_is_vsync = 1])) { int xv_sync_to_vblank; xv_sync_to_vblank = config->register_bool (config, "video.device.xv_sync_to_vblank", 1, diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index cc2990a03..c6f368339 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -143,6 +143,8 @@ struct xv_driver_s { int use_colorkey; uint32_t colorkey; + int sync_is_vsync; + /* hold initial port attributes values to restore on exit */ xine_list_t *port_attributes; @@ -170,6 +172,7 @@ typedef struct { static int gX11Fail; static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +static const char *const sync_atoms[] = VIDEO_DEVICE_XV_VSYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1293,7 +1296,9 @@ static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_update_attr (this_gen, entry, "XV_SYNC_TO_VBLANK", "sync to vblank"); + xv_update_attr (this_gen, entry, + sync_atoms[((xv_driver_t *)this_gen)->sync_is_vsync], + "sync to vblank"); } static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { @@ -1562,7 +1567,8 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xv_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); - } else if(!strcmp(attr[k].name, "XV_SYNC_TO_VBLANK")) { + } else if(((this->sync_is_vsync = 0), !strcmp(name, sync_atoms[0])) || + ((this->sync_is_vsync = 1), !strcmp(name, sync_atoms[1]))) { int xv_sync_to_vblank; xv_sync_to_vblank = config->register_bool (config, "video.device.xv_sync_to_vblank", 1, diff --git a/src/video_out/xv_common.h b/src/video_out/xv_common.h index 259afe616..df6a3f6dc 100644 --- a/src/video_out/xv_common.h +++ b/src/video_out/xv_common.h @@ -57,6 +57,9 @@ _("pitch alignment workaround"), \ _("Some buggy video drivers need a workaround to function properly.") +#define VIDEO_DEVICE_XV_VSYNC_ATOMS \ + { "XV_SYNC_TO_VBLANK", "XV_VSYNC" } + typedef enum { xv_prefer_none, xv_prefer_overlay, xv_prefer_textured } xv_prefertype; -- cgit v1.2.3 From 953615d01307263853aab6130bce1fc9d816ca34 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 27 Dec 2008 21:47:13 +0000 Subject: Recognise XV_BICUBIC for xf86-video-ati 6.9.1. --- ChangeLog | 2 ++ src/video_out/video_out_xcbxv.c | 12 ++++++++++++ src/video_out/video_out_xv.c | 12 ++++++++++++ src/video_out/video_out_xxmc.c | 12 ++++++++++++ src/video_out/xv_common.h | 7 +++++++ 5 files changed, 45 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1b5feec7f..25527a13f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ xine-lib (1.1.16) 2008-??-?? when using ALSA or PulseAudio. (Needs a proper fix.) * Add position-based seeking independent from seekpoints. * Fix some XCB Xv attribute configuration breakage. + * Add a configuration option for Xv bicubic filtering, implemented in + xf86-video-ati 6.9.1. xine-lib (1.1.15) 2008-08-14 * Security fixes: diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index 42b841d7c..cdaaea75d 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -159,6 +159,7 @@ typedef struct { } xv_class_t; static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +static const char *const bicubic_types[] = VIDEO_DEVICE_XV_BICUBIC_TYPES; static const char *const sync_atoms[] = VIDEO_DEVICE_XV_VSYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { @@ -1248,6 +1249,11 @@ static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) "sync to vblank"); } +static void xv_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xv_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); +} + static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1522,6 +1528,12 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis "sync to under the XVideo Settings tab"), 20, xv_update_XV_SYNC_TO_VBLANK, this); config->update_num(config,"video.device.xv_sync_to_vblank",xv_sync_to_vblank); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xv_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index c6f368339..cc5ed3fb0 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -172,6 +172,7 @@ typedef struct { static int gX11Fail; static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +static const char *const bicubic_types[] = VIDEO_DEVICE_XV_BICUBIC_TYPES; static const char *const sync_atoms[] = VIDEO_DEVICE_XV_VSYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { @@ -1301,6 +1302,11 @@ static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) "sync to vblank"); } +static void xv_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xv_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); +} + static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1580,6 +1586,12 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * "sync to under the XVideo Settings tab"), 20, xv_update_XV_SYNC_TO_VBLANK, this); config->update_num(config,"video.device.xv_sync_to_vblank",xv_sync_to_vblank); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xv_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index 06a42b23f..454f2cb8b 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -46,6 +46,7 @@ static void dispose_ximage (xxmc_driver_t *this, XShmSegmentInfo *shminfo, XvImage *myimage); static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +static const char *const bicubic_types[] = VIDEO_DEVICE_XV_BICUBIC_TYPES; /* * Acceleration level priority. Static for now. It may well turn out that IDCT @@ -2152,6 +2153,11 @@ static void xxmc_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry xxmc_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } +static void xxmc_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xxmc_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); +} + static void xxmc_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { xxmc_driver_t *this = (xxmc_driver_t *) this_gen; @@ -2593,6 +2599,12 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xxmc_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xxmc_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/xv_common.h b/src/video_out/xv_common.h index df6a3f6dc..e24728cdd 100644 --- a/src/video_out/xv_common.h +++ b/src/video_out/xv_common.h @@ -70,3 +70,10 @@ typedef enum { _("Selects which video output method is preferred. " \ "Detection is done using the reported Xv adaptor names.\n" \ "(Only applies when auto-detecting which Xv port to use.)") + +#define VIDEO_DEVICE_XV_BICUBIC_TYPES \ + { "Off", "On", "Auto", NULL } +#define VIDEO_DEVICE_XV_BICUBIC_HELP \ + _("bicubic filtering"), \ + _("This option controls bicubic filtering of the video image. " \ + "It may be used instead of, or as well as, xine's deinterlacers.") -- cgit v1.2.3