VMR et OSD
-
- Administrateur du site et développeur
- Messages : 2058
- Enregistré le : 05 août 2007, 12:57
- Carte Tuner : August DVB-T210 USB + divers autres
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Pantin (IDF, 93)
- Contact :
VMR et OSD
Bonjour
Je viens de placer dans le SVN une version (r159) qui inclut une réécriture des fonctions VMR (inclut maintenant VMR7 et VMR9) et une réécriture de l'OSD (maintenant compatible Vista avec VMR9).
Merci aux développeurs de tester.
(attention à certaines incompatibilités au niveau des raccourcis programmables)
Gingko
Je viens de placer dans le SVN une version (r159) qui inclut une réécriture des fonctions VMR (inclut maintenant VMR7 et VMR9) et une réécriture de l'OSD (maintenant compatible Vista avec VMR9).
Merci aux développeurs de tester.
(attention à certaines incompatibilités au niveau des raccourcis programmables)
Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
-
- Administrateur du site et développeur
- Messages : 527
- Enregistré le : 22 juil. 2007, 21:46
- Carte Tuner : Hauppauge HVR-1300 et HVR-900, et EyeTV Diversity
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Dans le pays du fois gras (Gers)
- Contact :
Re: VMR et OSD
Je viens de réécrire une grosse partie pour éviter ces problèmes de raccourcis.
Émetteur TNT: Toulouse - Pic du Midi
Cartes :
Cartes :
- Hauppauge HVR-1300
- HVR-900
- EyeTV Diversity via les pilotes Pinnacle PCTV Dual DVB-T Diversity Stick (2001e)
-
- Modo
- Messages : 263
- Enregistré le : 19 août 2007, 11:56
- Carte Tuner : Pinnacle PCTV 3010iX BDA DVBT Tuner
- Êtes-vous un robot ? : Je ne suis pas un robot
Re: VMR et OSD
Salut,
Je n'ai pu faire qu'un petit test sous Vista 64Bits hier soir.
Premier point, je n'ai pas pu compilé en 64Bits (je n'ai regardé pas pourquoi) donc j'ai compilé en 32Bits.
Deuxième point: Lors de mes premiers test je n'ai eu le son moins une seconde d'une seconde mais je n'ai pas eu d'image (Pouchinbad.log)
Troisième point: En redémarrant le PC ça à fonctionné à merveille, rien n'a pu empêcher PTVMod de fonctionner (PouchinGood.log)
Edit: La consommation µP de PouchinTv 32Bits + ffdshow 32 Bits sous Vista 64Bits est véritablement excessif (3 fois plus importante qu'en temps normal).
Je n'ai pu faire qu'un petit test sous Vista 64Bits hier soir.
Premier point, je n'ai pas pu compilé en 64Bits (je n'ai regardé pas pourquoi) donc j'ai compilé en 32Bits.
Deuxième point: Lors de mes premiers test je n'ai eu le son moins une seconde d'une seconde mais je n'ai pas eu d'image (Pouchinbad.log)
Troisième point: En redémarrant le PC ça à fonctionné à merveille, rien n'a pu empêcher PTVMod de fonctionner (PouchinGood.log)
Edit: La consommation µP de PouchinTv 32Bits + ffdshow 32 Bits sous Vista 64Bits est véritablement excessif (3 fois plus importante qu'en temps normal).
- Fichiers joints
-
- pouchinGood.log
- (7.58 Kio) Téléchargé 25 fois
-
- pouchinBad.log
- (10.34 Kio) Téléchargé 25 fois
-
- Administrateur du site et développeur
- Messages : 527
- Enregistré le : 22 juil. 2007, 21:46
- Carte Tuner : Hauppauge HVR-1300 et HVR-900, et EyeTV Diversity
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Dans le pays du fois gras (Gers)
- Contact :
Re: VMR et OSD
Je viens de tester : je n'ai aucun problème pour compiler en 64 bitsronaldo1 a écrit :Salut,
Je n'ai pu faire qu'un petit test sous Vista 64Bits hier soir.
Premier point, je n'ai pas pu compilé en 64Bits (je n'ai regardé pas pourquoi) donc j'ai compilé en 32Bits.
Est-ce qu'il n'y a pas eu un problème d'incompatibilité avec un logiciel fonctionnant, ou ayant fonctionné pour le problème du deuxième point ? Est-ce que le problème s'est reproduit ?ronaldo1 a écrit :Deuxième point: Lors de mes premiers test je n'ai eu le son moins une seconde d'une seconde mais je n'ai pas eu d'image (Pouchinbad.log)
Troisième point: En redémarrant le PC ça à fonctionné à merveille, rien n'a pu empêcher PTVMod de fonctionner (PouchinGood.log)
Edit: La consommation µP de PouchinTv 32Bits + ffdshow 32 Bits sous Vista 64Bits est véritablement excessif (3 fois plus importante qu'en temps normal).
Émetteur TNT: Toulouse - Pic du Midi
Cartes :
Cartes :
- Hauppauge HVR-1300
- HVR-900
- EyeTV Diversity via les pilotes Pinnacle PCTV Dual DVB-T Diversity Stick (2001e)
-
- Modo
- Messages : 263
- Enregistré le : 19 août 2007, 11:56
- Carte Tuner : Pinnacle PCTV 3010iX BDA DVBT Tuner
- Êtes-vous un robot ? : Je ne suis pas un robot
Re: VMR et OSD
Bonjour, en fait je n'utilise jamais Vista sauf pour faire des tests et à par Firefox rien y est installé. Ce que je présume après coup, c'est que la mise à jours de Vista (qui se faisait en même temps que le test) a dû perturber l'affichage de PouchinTv.
Je n'ai pas retesté depuis.
Je n'ai pas retesté depuis.
Re: VMR et OSD
salut à tous
ça compile bien ici en 64 bits, no souci.
En ce qui concerne l'osd, ça s'affiche, quand même un peu pixélisé (c.f. capture jointe : je suis en 1920x1200 sur le bureau, ça fait un peu étrange mais c'est quand même bien )
1 bug : si on active l'osd dans les menus sans redémarrer, la barre des tâches ne se met plus à jour pour le volume (très mineur)
2eme inconvénient : le changement de volume en quelques sortes "lague" si l'osd est activé.
ça compile bien ici en 64 bits, no souci.
En ce qui concerne l'osd, ça s'affiche, quand même un peu pixélisé (c.f. capture jointe : je suis en 1920x1200 sur le bureau, ça fait un peu étrange mais c'est quand même bien )
1 bug : si on active l'osd dans les menus sans redémarrer, la barre des tâches ne se met plus à jour pour le volume (très mineur)
2eme inconvénient : le changement de volume en quelques sortes "lague" si l'osd est activé.
- Fichiers joints
-
- Sans titre.jpg (10.82 Kio) Vu 29114 fois
-
- Administrateur du site et développeur
- Messages : 2058
- Enregistré le : 05 août 2007, 12:57
- Carte Tuner : August DVB-T210 USB + divers autres
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Pantin (IDF, 93)
- Contact :
Re: VMR et OSD
Normal. L'OSD en VMR9 est dessiné sur une image qui a les dimensions natives de la vidéo (sauf en mode "étirer la vidéo"), et qui est donc dilatée au prorata. Je pourrais sans doute faire plus grand, au prix de consommer davantage de mémoire. Je vais y réfléchir.thorcyar a écrit :En ce qui concerne l'osd, ça s'affiche, quand même un peu pixélisé (c.f. capture jointe : je suis en 1920x1200 sur le bureau, ça fait un peu étrange mais c'est quand même bien )
Il est vrai aussi que je n'ai pas testé sur plus grand que 1280 x 1024.
Je jetterai un oeil à ça. Ca ne doit pas être un très gros problème.thorcyar a écrit :1 bug : si on active l'osd dans les menus sans redémarrer, la barre des tâches ne se met plus à jour pour le volume (très mineur)
C'est à cause d'une temporisation explicite que j'ai été obligé d'introduire : si je laissais l'OSD de volume en VMR9 se mettre à jour à la même vitesse qu'avant, il arrivait que ça "casse" la vidéo.thorcyar a écrit :2eme inconvénient : le changement de volume en quelques sortes "lague" si l'osd est activé.
Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
Re: VMR et OSD
trop bien merci beaucoup
Re: VMR et OSD
petite question : pourquoi t'utilise le mode renderless avec le vmr7 ?
si je comprend bien le code t'utilise l'allocator presenter par défaut donc vaudrait mieux utiliser le mode windowless non ?
je viens de tester en mode windowless et j'ai aucun pb.
patch :
si je comprend bien le code t'utilise l'allocator presenter par défaut donc vaudrait mieux utiliser le mode windowless non ?
je viens de tester en mode windowless et j'ai aucun pb.
patch :
Code : Tout sélectionner
Index: rendering.cpp
===================================================================
--- rendering.cpp (revision 162)
+++ rendering.cpp (working copy)
@@ -580,7 +580,6 @@
virtual HRESULT CreateAndAdd();
virtual HRESULT Configure();
- virtual HRESULT PrepareSurface();
virtual HRESULT InitDeinterlace(); //!< \todo Voir \p CVideoMixingRenderer::InitDeinterlace
virtual HRESULT InitControl();
@@ -801,52 +800,17 @@
TEXT("L'interface de configuration VMR n'est pas disponible"),
E_NOINTERFACE);
- HRESULT hr = pVMRConfig->SetRenderingMode(VMRMode_Renderless);
+ HRESULT hr = pVMRConfig->SetRenderingMode(VMRMode_Windowless);
- if (SUCCEEDED(hr) && use_vmr_deinterlace)
- hr = pVMRConfig->SetNumberOfStreams(1);
- return hr;
-}
-
-HRESULT CVideoMixingRenderer7::PrepareSurface()
-{
- CComQIPtr<IVMRSurfaceAllocatorNotify> pNotify(*this);
-
- if (!pNotify)
- return erreur(
- TEXT("L'interface IVMRSurfaceAllocatorNotify n'a pas été trouvée"),
- E_NOINTERFACE);
-
- CComPtr<IVMRSurfaceAllocator> pSurfAlloc;
-
- HRESULT hr = pSurfAlloc.CoCreateInstance(CLSID_AllocPresenter, NULL, CLSCTX_INPROC_SERVER);
-
- if (FAILED(hr))
- return erreur(TEXT("L'interface IVMRSurfaceAllocator n'a pas été trouvée"), hr);
-
- {
- CComQIPtr<IVMRImagePresenterConfig> pPresConf(pSurfAlloc);
-
- if (!pPresConf)
- return erreur(
- TEXT("L'interface IVMRImagePresenterConfig n'a pas été trouvée"),
- E_NOINTERFACE);
-
- hr = pPresConf->SetRenderingPrefs(
- is_vista ?
- RenderPrefs_AllowOffscreen :
- (RenderPrefs_ForceOverlays | RenderPrefs_DoNotRenderColorKeyAndBorder)
- );
-
- if (FAILED(hr))
- return erreur(TEXT("Échec de SetRenderingPrefs"), hr);
+ if (SUCCEEDED(hr)) {
+ hr = pVMRConfig->SetRenderingPrefs(
+ is_vista ?
+ RenderPrefs_AllowOffscreen :
+ (RenderPrefs_ForceOverlays | RenderPrefs_DoNotRenderColorKeyAndBorder)
+ );
+ if (SUCCEEDED(hr) && use_vmr_deinterlace)
+ hr = pVMRConfig->SetNumberOfStreams(1);
}
-
- hr = pNotify->AdviseSurfaceAllocator(0x118218, pSurfAlloc);
- myprintf(TEXT("%?erreur AdviseSurfaceAllocator, hr=0x%08x\n"), FAILED(hr), hr);
- hr = pSurfAlloc->AdviseNotify(pNotify);
- myprintf(TEXT("%?erreur AdviseNotify, hr=0x%08x\n"), FAILED(hr), hr);
-
return hr;
}
Index: res.rc
===================================================================
--- res.rc (revision 162)
+++ res.rc (working copy)
@@ -176,7 +176,7 @@
GROUPBOX "Audio",IDC_STATIC,7,62,276,30
CONTROL "Utiliser l'AC3 par défaut",IDC_AC3_DEF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,75,262,10
GROUPBOX "Vidéo",IDC_STATIC,7,98,276,36
- CONTROL "Mode VMR7 “renderless”",IDC_USE_VMR7,"Button",BS_AUTORADIOBUTTON,14,108,120,10
+ CONTROL "Mode VMR7 “windowless”",IDC_USE_VMR7,"Button",BS_AUTORADIOBUTTON,14,108,120,10
CONTROL "Mode VMR9 “windowless”",IDC_USE_VMR9,"Button",BS_AUTORADIOBUTTON,14,120,120,10
CONTROL "Utiliser l'OSD (On Screen Display\n = texte sur l'écran)",IDC_USE_OSD,
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,161,110,120,17
-
- Administrateur du site et développeur
- Messages : 2058
- Enregistré le : 05 août 2007, 12:57
- Carte Tuner : August DVB-T210 USB + divers autres
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Pantin (IDF, 93)
- Contact :
Re: VMR et OSD
Parce que c'est ce qui existait auparavant.MatMaul a écrit :petite question : pourquoi t'utilise le mode renderless avec le vmr7 ?
si je comprend bien le code t'utilise l'allocator presenter par défaut donc vaudrait mieux utiliser le mode windowless non ?
je viens de tester en mode windowless et j'ai aucun pb.
Je me suis attaché, en mode VMR7, à ne rien changer à l'existant, afin d'être sûr qu'en cas de problèmes avec le VMR9, l'utilisateur ait toujours la possibilité de se rabattre sur le mode de fonctionnement précédent.
Ceci étant dit, la manière dont j'ai implémenté la chose est maintenant éminemment extensible, ce qui veut dire qu'il est normalement possible, pour un coût de développement relativement minime (il suffit de créer les dérivations nécessaires à la classe CVideoMixingRenderer7), d'ajouter des modes de sortie supplémentaires, dont en particulier un mode VMR7 "windowless". J'ai même déjà réservé un code spécifique pour ça dans les items de configuration.
À terme, on pourrait même finir par décider avoir autant de modes de sortie qu'il y en a dans, par exemple, Media Player Classic ou Media Player Classic - Home Cinema.
Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
Re: VMR et OSD
bin dans l'état actuel ca ma l'air strictement équivalent au windowless.
le renderless est utile quand on utilise un custom allocator presenter ce qui n'est pas le cas pour le moment.
je suis en train de rajouter l'EVR (bon ok c'est quasiment que du copier-coller du vmr9 ) histoire qu'on supporte l'accélération matérielle sur vista quand pouchin aura le H264 de fonctionnel.
le renderless est utile quand on utilise un custom allocator presenter ce qui n'est pas le cas pour le moment.
je suis en train de rajouter l'EVR (bon ok c'est quasiment que du copier-coller du vmr9 ) histoire qu'on supporte l'accélération matérielle sur vista quand pouchin aura le H264 de fonctionnel.
-
- Administrateur du site et développeur
- Messages : 527
- Enregistré le : 22 juil. 2007, 21:46
- Carte Tuner : Hauppauge HVR-1300 et HVR-900, et EyeTV Diversity
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Dans le pays du fois gras (Gers)
- Contact :
Re: VMR et OSD
Par contre, je me pose une petite question :
pourquoi les zones noires (sur le pourtour de certaines chaînes) qui étaient totalement noire en VMR7 sont simplement gris sombre avec le rendu VMR9 ?
pourquoi les zones noires (sur le pourtour de certaines chaînes) qui étaient totalement noire en VMR7 sont simplement gris sombre avec le rendu VMR9 ?
Émetteur TNT: Toulouse - Pic du Midi
Cartes :
Cartes :
- Hauppauge HVR-1300
- HVR-900
- EyeTV Diversity via les pilotes Pinnacle PCTV Dual DVB-T Diversity Stick (2001e)
-
- Administrateur du site et développeur
- Messages : 2058
- Enregistré le : 05 août 2007, 12:57
- Carte Tuner : August DVB-T210 USB + divers autres
- Êtes-vous un robot ? : Je ne suis pas un robot
- Localisation : Pantin (IDF, 93)
- Contact :
Re: VMR et OSD
Je ne constate pas ce problème, je crains que ça soit difficile à trouver.lolo_32 a écrit :Par contre, je me pose une petite question :
pourquoi les zones noires (sur le pourtour de certaines chaînes) qui étaient totalement noire en VMR7 sont simplement gris sombre avec le rendu VMR9 ?
Peut-être que l'image OSD incrustée (de dimensions égale à celle de la vidéo), qui a un fond transparent chez moi, ne l'est que partiellement chez toi, mais je ne sais pas pourquoi.
Normalement, c'est la constante colorKey qui détermine cette transparence.
Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
Re: VMR et OSD
non c'est beaucoup plus "simple" que ca cf le lien que j'ai posté.
ca n'a rien à voir avec pouchin c'est un pb récurrent avec le vmr9, cf le lien pour les différentes solutions.
avec une nvidia c'est simple, MAJ des drivers puis :
ca n'a rien à voir avec pouchin c'est un pb récurrent avec le vmr9, cf le lien pour les différentes solutions.
avec une nvidia c'est simple, MAJ des drivers puis :
NVIDIA Control Panel -> Video & Television -> Adjust video color settings -> Select "With the NVIDIA settings" -> Advanced tab -> Set Dynamic Range to "Full (0-255)".