Hum... Devil ne gère pas les formats ppm, pgm, pbm
j'ai pas mis le liens pour rien ;-) .
DevIl gère très bien les ppm, pgm et pbm. Il les désigne seulement sous la même appelation : pnm . (cf le lien que t'as mis vers wikipedia qui le dit dans l'introduction )
je ne me suis jamais penché sur ce type de problèmes, et peut être qu'il y a un moyen propre de faire ça, mais j'ai une idée un peu bourrin :
- Crée un utilisateur spécial avec les droits sur ton fichier et tout le monde en groupe.
- Quand tu écris sur ton fichier tu change les droits d'accès au groupe et users pour qu'ils n'aient accès qu'en lecture.
- Accède à ton fichier en écriture avec ton compte spécial.
- Une fois fini tu remets tout comme avant.
Tu as certainement plus que raison, je ne connais pas aussi bien la norme que toi. Le C++ c'est pour moi un apprentissage permanent forgé par l'expérience.
Cependant, qu'une référence constante ne puisse pas être attachée à un temporaire, je trouve ça idiot. Une référence, c'est pour moi un moyen de ne pas faire passer un pointeur comme en C et d'éviter un tas d'assert not null, éviter l'utilisation d'une variable et ainsi d'obtenir un code plus conçis et donc lisible . Si l'objet renvoyé par copie temporaire est passé en référence constante, il me semble logique qu'une variable soit implicitement utilisée par le compilo et ainsi étendre sa durée de vie à l'appel de fonction en retour.
exemple :
void test(const int& i){
....
}
int main(int argc, char* argv[]){
test(3);
}
ça marche avec mon gcc3.4. Donc gcc3.4 n'est pas à jour sur ce point de la norme?
- Déclaration de Guerre contre Microsoft.
- Interdiction d'utiliser des logiciel propriétaire en entreprise ou en privé.
- Constitution des "millice du libres" chargé de vérifier et de faire appliquer au bazooka les précédentes interdiction pour votre Liberté.
- Plus qu'une seule religion d'état : la Sainte Eglise Vi
- Vénération de Saint RMS avec priére tout les matins dans nos écoles
Le !(V.P.L.L.I.O.S.BSD.O.T.SVP.S.S.M.O.P.S.F.A.L.L.T.T) est ouvert a toute proposition.
Content d'avoir pu t'aider. Ce que d'autres ont posté plus bas est vrai aussi, car certains compilos n'aiment pas que l'on passe un paramètre temporaire non 'const' (ex: DString ) en à une fonction qui accepte une référence (DString&).
Une bonne pratique est de doubler ses fonctions type get(), l'une qui renvoit un const et l'autre un modifiable (c'est ce que fait la stl à tour de bras pour les méthodes begin() et end() ).
Et ainsi la bonne méthode sera employé si jamais tu la passe à une fonction qui doit modifier l'objet en question, et le compilo pourra rendre certaines méthodes inline automatiquement lorsque l'optimisation est activée.
Ensuite si ta methode appelée ne modifie pas l'objet, essaye toujours de mettre le mot clef 'const' en paramètre. ça evitera souvent des problèmes.
-Qu'elle distribution utilise tu?
-Konkeror ou Firefox fonctionnent-ils pour naviguer sur internet?
-As tu vérifié ton firewall? à savoir est t-il activé? configuré? ...
Est-ce que par hasard ta mathode Left(...) ne renverrai pas un const DString ?
Si c'est le cas... normal...
Si ça renvoit un DString* encore pire...
Bref je pense qu'il faut que tu adapte ta methode au bon type de paramètres.
Si c'est pas ça, donne nous un copie complète de ta classe pour qu'on pointe le problème du doigt...
je répondrais sarge évidemment si tu veux la disponibilité d'un max de paquets. vu que c'est la version de production actuelle.
Moi en tout cas, je m'en sort très bien, avec quelques backports pour les trucs plus récents.
Malheureusement, du fait certaines libs non disponibles en temps normal (genre wxWidgets2.6, seulement disponible en backport), je suis parfois obligé compiler certains softs moi même (genre codeblocks)
Si tu veux les tous derniers trucs, sans attendre que quelqu'un fasse un backport, tu à donc deux choix : compiler toi même ou utiliser Etch.
Même si je sens bien qu'il y a une grande dose de second degré... et même si je suis pro débian et tourne sous sarge avec quelques backports pour sentir le frisson de la nouveauté, je ne comprend pas cette vindicte gratuite envers ubuntu.
Faut arrêter les trolls de bas étage, soyons constructifs. Ubuntu à son utilité.
Elle simplifie un peu l'installation (pas grand chose, mais pour le novice, c'est énorme comme difference, car beaucoup moins de choix à faire, donc difficile de se sentir perdu).
Tous les outils de mise à jour et de gestion de l'ordinateur en mode graphique sont installés par défaut... pas besoin de lancer un terminal en mode su... si on est pas geek, qu'on ne veux pas lire une doc, c'est appréciable.
C'est vraiment minime, et en général, quelqu'un qui connait déjà linux n'a pas beaucoup d'intérêt à utiliser ubuntu par rapport à une testing.
Mais le novice, lui au moins pourra se convertir sans trop de malheurs.
Je dirais qu'en france en tout cas, un code distibué sans licence tombe automatiquement sous le coup du droit d'auteur... donc pas de distribution, copie hors de l'usage privé etc... sans le consentement de l'auteur...
Je te dirais que si rien n'est précisé, tu dois t'en tenir au droit d'auteur et au code de propriété intellectuelle... Pas le droit à la copie, à la redistribution etc...sans le consentement de l'auteur...
Si tu veux en savoir plus contacte l'auteur...
D'un autre côté ça veut dire quoi ce chiffre?
Sous google on n'arrive jamais à voir plus que les 900 premiers résultats. Donc aucun moyen de vérifier la véracité de ces chiffres...
j'espère que je vais pas dire une connerie... mais si tu tentais de désinstaller gstreamer 0.8 avant de mettre la 0.10 ?
Car je doute que les 2 versions puissent cohabiter ensemble...
En tout cas sur ma distrib (ubuntu breezy-> dapper) j'ai désinstallé la 0.8 quand j'ai fait mon upgrade... et je tourne avec la 0.10 sans problème.
Posté par ecyrbe .
En réponse au message question.
Évalué à 2.
Si seulement on pouvait moinsser certaines questions posées sur le forum!
Parce que quand je vois des kevins sur linuxfr qui posent leurs questions, j'ai une envie soudaine de les étrangler. Ou ont t'il appris à écrire? Pourquoi ne décrivent t'ils pas ce qu'ils cherchent de manière intelligible? Pourquoi donnent t'ils des réponses frisant le gros foutage de gueule? Alors qu'ici il y a tellement de bonnes volontés, avec plein de gens géniaux prêt à aider le gars qui galère....
c'est un vieux mythe! quand tu paye tes impôts (ou tu doit déclarer si tu à la tv), ils précisent bien que tu doit payer la redevance si tu possède un système de réception télévisé. celà inclut les cartes tuner, la réception via IP/ADSL, via le cable ...etc
Dois tu faire des traitements à un débit élevé? plusieurs fps?
Bon, pour commençer tu va devoir utiliser v2l (ou v4l2), api permettant d'accéder à ta caméra sous linux. Déjà, il faut que ta carte d'acquisition, ou ta webcam, soit supporté sous linux. si c'est une caméra ethernet, pas besoin de v4l... faut t'y connecter directement... généralement les caméras IP sont configurables via http et peuvent envoyer des flux raw ou mjpeg ou mpeg-4 en rtp (real time protocol).
Pour l'acquisition si tu ne souhaite pas attaquer l'api v4l ou rtp toi même, je te conseille d'utiliser gstreamer, qui possède tout ce dont tu as besoin pour l'aquisition, décompression, compression, traitement de l'image (il y a un filtre median dans gst-plugins-good).
D'ailleurs, tu peux ensuite créer un plugin gstreamer pour le traitement de la vidéo reçue et implémenter ton algorithme ROI ou regarder s'il n'existe pas déjà un tel plugin.
SC est basé sur du GPL (originellement basé sur RealVnc) donc ils sont obligés de fournir un accès au code source... à vérifier donc, auquel cas, ils ne sont pas comforme à la GPL...
Je me suis demandé comment définir une suite finie de chiffre mathématiquement? avec un polynome évidemment...
si les coefficiants de Pi (décimales en base décimale) possédait l'ensemble des polynomes :
Somme(i=0,i<M,Ai*X^i) tel que X appartenant à N-{0,1} et Ai appartenant à Nn{0,X} alors il existerait pour toute suite Ai un nombre L tel que:
E[Pi*(X^(L+M))]-E[Pi*X^L]*X^(M) = Somme(i=0,i<M,Ai*X^i)
remplacez maintenant Pi par une somme uniformément convergeante vers Pi...
J'ai comme l'impression qu'on doit pouvoir par ce moyen approcher d'une démonstration... mais ce n'est qu'une intuition.
Bah, en fait faut savoir que le chiffrement DTLS (tout comme TLS) necessite un PKI (public key infrastructure)... et comme c'est un système centralisé, il faut le gérer...et plus il grossit plus il devient sujet aux problèmes de révocations et aux attaques (car même si le système d'échange de clef et de certificats est très robuste aux attaques, le PKI en lui même ne l'est pas forcément, et c'est ici que se trouve la faille du système).
Donc ZRTP propose une variante pour l'échange le chiffrement Diffie-Hellman en ajoutant un SAS (short authentication string) avec un hash associé... ce qui permet de se passer du PKI.
L'idée est de ne plus dépendre d'un PKI et pour le monde du libre je trouve que la solution proposée n'est pas anodine et plutôt adaptée aux projets indépendants les uns des autres.
Car sinon chaque client devraient être géré par le même PKI ou bien pouvoir en faire cohabiter plusieurs à la fois ce qui devient le bordel car on a alors une tonne de certificats dont on a rien faire!
SIP possède déjà un modèle de chiffrement TLS pour le mode TCP et on peut si l'on veut chiffrer avec DTLS aussi.
Mais ce n'est pas SIP qui est chifrée ici, c'est la couche RTP... qui est plus ou moins indépendante de SIP vu que RTP est aussi utilisé dans H323 et bien d'autres protocoles de communication.
SIP est un protocole de signalisation d'appels, il n'encapsule pas les flux audios et vidéos. Les flux SIP transitent via des proxys SIP tandis que les flux RTP transitent généralement en Pear to Pear.
Voilà pourquoi une extension à RTP est proposée, elle permet une standardisation des échanges audios sécurisés, permettant l'interropérabilité des clients SIP (et pourquoi pas aussi aussi des clients H323).
[^] # Re: Christian Casteyde's Méga Cours de C++
Posté par ecyrbe . En réponse au message comment commencer. Évalué à 4.
Mais, là je te remercie, car celui de cristian casteyde est en français. J'en ai profité pour lui faire un petit don tellement j'ai été emballé.
[^] # Re: y en a plein
Posté par ecyrbe . En réponse au message Bibliothèque de lecture d'images. Évalué à 1.
j'ai pas mis le liens pour rien ;-) .
DevIl gère très bien les ppm, pgm et pbm. Il les désigne seulement sous la même appelation : pnm . (cf le lien que t'as mis vers wikipedia qui le dit dans l'introduction )
voilà voilà, tu n'as que l'embarras du choix.
# y en a plein
Posté par ecyrbe . En réponse au message Bibliothèque de lecture d'images. Évalué à 2.
DevIl : http://openil.sourceforge.net/
Image Magick (permet de faire des traitements aussi) : http://www.imagemagick.org/
FreeImage : http://freeimage.sourceforge.net/
et d'autres (recherche sur sourceforge)
# grosse bidouille
Posté par ecyrbe . En réponse au message Bloquer l'accès a un fichier utilisé. Évalué à 1.
- Crée un utilisateur spécial avec les droits sur ton fichier et tout le monde en groupe.
- Quand tu écris sur ton fichier tu change les droits d'accès au groupe et users pour qu'ils n'aient accès qu'en lecture.
- Accède à ton fichier en écriture avec ton compte spécial.
- Une fois fini tu remets tout comme avant.
[^] # Re: const?
Posté par ecyrbe . En réponse au message Adresse d'un objet?. Évalué à 1.
Cependant, qu'une référence constante ne puisse pas être attachée à un temporaire, je trouve ça idiot. Une référence, c'est pour moi un moyen de ne pas faire passer un pointeur comme en C et d'éviter un tas d'assert not null, éviter l'utilisation d'une variable et ainsi d'obtenir un code plus conçis et donc lisible . Si l'objet renvoyé par copie temporaire est passé en référence constante, il me semble logique qu'une variable soit implicitement utilisée par le compilo et ainsi étendre sa durée de vie à l'appel de fonction en retour.
exemple :
void test(const int& i){
....
}
int main(int argc, char* argv[]){
test(3);
}
ça marche avec mon gcc3.4. Donc gcc3.4 n'est pas à jour sur ce point de la norme?
[^] # Re: Parti Pirate : trolleurs & friends
Posté par ecyrbe . En réponse au journal 01net nous apprend la créattion du PPF, le Parti Pirate Français. Évalué à 5.
- Déclaration de Guerre contre Microsoft.
- Interdiction d'utiliser des logiciel propriétaire en entreprise ou en privé.
- Constitution des "millice du libres" chargé de vérifier et de faire appliquer au bazooka les précédentes interdiction pour votre Liberté.
- Plus qu'une seule religion d'état : la Sainte Eglise Vi
- Vénération de Saint RMS avec priére tout les matins dans nos écoles
Le !(V.P.L.L.I.O.S.BSD.O.T.SVP.S.S.M.O.P.S.F.A.L.L.T.T) est ouvert a toute proposition.
[^] # Re: const?
Posté par ecyrbe . En réponse au message Adresse d'un objet?. Évalué à 2.
Une bonne pratique est de doubler ses fonctions type get(), l'une qui renvoit un const et l'autre un modifiable (c'est ce que fait la stl à tour de bras pour les méthodes begin() et end() ).
Et ainsi la bonne méthode sera employé si jamais tu la passe à une fonction qui doit modifier l'objet en question, et le compilo pourra rendre certaines méthodes inline automatiquement lorsque l'optimisation est activée.
Ensuite si ta methode appelée ne modifie pas l'objet, essaye toujours de mettre le mot clef 'const' en paramètre. ça evitera souvent des problèmes.
# des précisions?
Posté par ecyrbe . En réponse au message Problème de téléchargement. Évalué à 3.
-Konkeror ou Firefox fonctionnent-ils pour naviguer sur internet?
-As tu vérifié ton firewall? à savoir est t-il activé? configuré? ...
# const?
Posté par ecyrbe . En réponse au message Adresse d'un objet?. Évalué à 1.
Si c'est le cas... normal...
Si ça renvoit un DString* encore pire...
Bref je pense qu'il faut que tu adapte ta methode au bon type de paramètres.
Si c'est pas ça, donne nous un copie complète de ta classe pour qu'on pointe le problème du doigt...
# sarge
Posté par ecyrbe . En réponse au message etch ou sarge ? (amd64). Évalué à 1.
Moi en tout cas, je m'en sort très bien, avec quelques backports pour les trucs plus récents.
Malheureusement, du fait certaines libs non disponibles en temps normal (genre wxWidgets2.6, seulement disponible en backport), je suis parfois obligé compiler certains softs moi même (genre codeblocks)
Si tu veux les tous derniers trucs, sans attendre que quelqu'un fasse un backport, tu à donc deux choix : compiler toi même ou utiliser Etch.
[^] # Re: La faute à Ubuntu!
Posté par ecyrbe . En réponse au journal Mise à jour fatale en Debian testing. Évalué à 6.
Faut arrêter les trolls de bas étage, soyons constructifs. Ubuntu à son utilité.
Elle simplifie un peu l'installation (pas grand chose, mais pour le novice, c'est énorme comme difference, car beaucoup moins de choix à faire, donc difficile de se sentir perdu).
Tous les outils de mise à jour et de gestion de l'ordinateur en mode graphique sont installés par défaut... pas besoin de lancer un terminal en mode su... si on est pas geek, qu'on ne veux pas lire une doc, c'est appréciable.
C'est vraiment minime, et en général, quelqu'un qui connait déjà linux n'a pas beaucoup d'intérêt à utiliser ubuntu par rapport à une testing.
Mais le novice, lui au moins pourra se convertir sans trop de malheurs.
[^] # Re: Sans licence?
Posté par ecyrbe . En réponse au journal Stunt Playground. Évalué à 2.
[^] # Re: J'aime bien
Posté par ecyrbe . En réponse au journal vendre des anti-virus. Évalué à 2.
[^] # Re: Licence ?
Posté par ecyrbe . En réponse à la dépêche Jusqu'où s'arrêtera Linus Torvalds ?. Évalué à 5.
Si tu veux en savoir plus contacte l'auteur...
# bidon?
Posté par ecyrbe . En réponse au journal Vi vs Emacs 2:0. Évalué à 0.
Sous google on n'arrive jamais à voir plus que les 900 premiers résultats. Donc aucun moyen de vérifier la véracité de ces chiffres...
# cohabitation...
Posté par ecyrbe . En réponse au message Mandriva 2006 et Gstreamer 0.10. Évalué à 1.
Car je doute que les 2 versions puissent cohabiter ensemble...
En tout cas sur ma distrib (ubuntu breezy-> dapper) j'ai désinstallé la 0.8 quand j'ai fait mon upgrade... et je tourne avec la 0.10 sans problème.
# Si seulement...
Posté par ecyrbe . En réponse au message question. Évalué à 2.
Parce que quand je vois des kevins sur linuxfr qui posent leurs questions, j'ai une envie soudaine de les étrangler. Ou ont t'il appris à écrire? Pourquoi ne décrivent t'ils pas ce qu'ils cherchent de manière intelligible? Pourquoi donnent t'ils des réponses frisant le gros foutage de gueule? Alors qu'ici il y a tellement de bonnes volontés, avec plein de gens géniaux prêt à aider le gars qui galère....
Autant de questions sans réponse...
[^] # Re: oui mais non...
Posté par ecyrbe . En réponse au journal Regarder FreeTV à distance. Évalué à -1.
http://www.zdnet.fr/actualites/internet/0,39020774,39263095,(...)
[^] # Re: oui mais non...
Posté par ecyrbe . En réponse au journal Regarder FreeTV à distance. Évalué à 0.
# mais oui!
Posté par ecyrbe . En réponse au message develloper un module apache. Évalué à 1.
# Plus d'informations
Posté par ecyrbe . En réponse au message C++ et traitement d'image!!!. Évalué à 1.
Bon, pour commençer tu va devoir utiliser v2l (ou v4l2), api permettant d'accéder à ta caméra sous linux. Déjà, il faut que ta carte d'acquisition, ou ta webcam, soit supporté sous linux. si c'est une caméra ethernet, pas besoin de v4l... faut t'y connecter directement... généralement les caméras IP sont configurables via http et peuvent envoyer des flux raw ou mjpeg ou mpeg-4 en rtp (real time protocol).
Pour l'acquisition si tu ne souhaite pas attaquer l'api v4l ou rtp toi même, je te conseille d'utiliser gstreamer, qui possède tout ce dont tu as besoin pour l'aquisition, décompression, compression, traitement de l'image (il y a un filtre median dans gst-plugins-good).
D'ailleurs, tu peux ensuite créer un plugin gstreamer pour le traitement de la vidéo reçue et implémenter ton algorithme ROI ou regarder s'il n'existe pas déjà un tel plugin.
pour v2l2 : http://linux.bytesex.org/v4l2/API.html
pour gstreamer : http://www.gstreamer.net/
[^] # Re: VNC SC
Posté par ecyrbe . En réponse au journal Recherche logiciel prise de main a distance (pas VNC !). Évalué à 5.
[^] # Re: Pi...
Posté par ecyrbe . En réponse au journal Pi en musique. Évalué à -1.
si les coefficiants de Pi (décimales en base décimale) possédait l'ensemble des polynomes :
Somme(i=0,i<M,Ai*X^i) tel que X appartenant à N-{0,1} et Ai appartenant à Nn{0,X} alors il existerait pour toute suite Ai un nombre L tel que:
E[Pi*(X^(L+M))]-E[Pi*X^L]*X^(M) = Somme(i=0,i<M,Ai*X^i)
remplacez maintenant Pi par une somme uniformément convergeante vers Pi...
J'ai comme l'impression qu'on doit pouvoir par ce moyen approcher d'une démonstration... mais ce n'est qu'une intuition.
[^] # Re: ssl
Posté par ecyrbe . En réponse à la dépêche Zfone : Téléphonie IP sécurisée sous Linux. Évalué à 6.
Donc ZRTP propose une variante pour l'échange le chiffrement Diffie-Hellman en ajoutant un SAS (short authentication string) avec un hash associé... ce qui permet de se passer du PKI.
L'idée est de ne plus dépendre d'un PKI et pour le monde du libre je trouve que la solution proposée n'est pas anodine et plutôt adaptée aux projets indépendants les uns des autres.
Car sinon chaque client devraient être géré par le même PKI ou bien pouvoir en faire cohabiter plusieurs à la fois ce qui devient le bordel car on a alors une tonne de certificats dont on a rien faire!
[^] # Re: ssl
Posté par ecyrbe . En réponse à la dépêche Zfone : Téléphonie IP sécurisée sous Linux. Évalué à 10.
Mais ce n'est pas SIP qui est chifrée ici, c'est la couche RTP... qui est plus ou moins indépendante de SIP vu que RTP est aussi utilisé dans H323 et bien d'autres protocoles de communication.
SIP est un protocole de signalisation d'appels, il n'encapsule pas les flux audios et vidéos. Les flux SIP transitent via des proxys SIP tandis que les flux RTP transitent généralement en Pear to Pear.
Voilà pourquoi une extension à RTP est proposée, elle permet une standardisation des échanges audios sécurisés, permettant l'interropérabilité des clients SIP (et pourquoi pas aussi aussi des clients H323).