Skip to content

Problème lecture DVD

4 juillet 2013

J’ai acheté récemment des DVDs et ni VLC, ni TOTEM, ni MPLAYER n’arrivent à les lire. C’est la première fois que VLC et MPLAYER me font défauts. Les erreurs sont les suivantes :

Pour VLC :

libdvdnav: decoder.c: [WARNING, unknown bits: 1000000000080000]

libdvdnav: decoder.c:[WARNING, unknown bits: 1000000000000000]

***libdvdread: CHECK_VALUE failed in ifo_read.c:914

****** for pgc->cell_playback_offset != 0 ***

Pour MPLAYER :

Audio: no sound
Starting playback…
Unsupported PixelFormat 61
Unsupported PixelFormat 53
Unsupported PixelFormat 81
Movie-Aspect is 1.33:1 – prescaling to correct movie aspect.
VO: [vdpau] 720×576 => 768×576 Planar YV12
[mpeg2video @ 0x7f9fd4513540]ac-tex damaged at 37 7
[mpeg2video @ 0x7f9fd4513540]Warning MVs not available
[mpeg2video @ 0x7f9fd4513540]concealing 1305 DC, 1305 AC, 1305 MV errors
V: 0.6 11/ 11 ??% ??% ??,?% 0 0

 

C’est XINE qui a réussit à les lire. Ce sont des DVDs de 2012 avec une protection anti-copiage (je dirais plutôt une protection anti-lecture).

Donc avant de brûler votre lecteur DVD, essayez XINE. 🙂

Publicités

Problème connexion Google Play

3 janvier 2013

J’ai un Huawei Boulder U8350.

Dès la réception, je ne peux pas me connecter à Androïd Market. Et j’obtiens l’erreur suivante : Erreur serveur Réessayez.

Le problème est beaucoup reporté sur le net, mais souvent les réponses concernent justes vider le cache de l’application Androïd Market ou du Framework Google. Et ça ne suffit pas.

Si j’ai bien compris le problème, il s’agit d’un problème de langue lors de la première connexion. Il faut la faire en anglais. Pour ma part, j’ai procédé comme suit :

  1. Enlever la carte sim, puis redémarrer le portable.
  2. Il faut réinitialiser sont portable au valeur dite usine : paramètre / confidentialité/ rétablir paramètres par défaut
  3. Aller dans paramètre de langue puis mettre en anglais.
  4. Aller dans gmail pour rentrer ton compte gmail (nom d’utilisateur puis mot de passe)
  5. Se connecter à Androïd Market, il met Google Play à jour.
  6. Remettre carte sim et redémarrer le portable
  7. Quitter et remettre le portable en français.

J’espère que ça vous aidera.

 

Utiliser C++11 avec Code::Blocks sur windows

14 novembre 2012

Si vous installez Code::Blocks et gardez le MinGW par défaut, il ne vous sera pas possible de compiler avec le standard C++11 (g++ -std=c++11). Ce standard peut être utile car GCC est désormais doté de std::thread et std::chrono, permettant de réaliser de simples threads pour l’utilisation des multi-coeurs et d’utiliser chrono qui implémente des mesures du temp et des temps d’attente de manière très simple.

Il ne vous sera pas possible non plus de compiler des programmes utilisant OpenMP. Mais j’avais déjà décrit ce problème dans un de mes billets précédents.

Il va falloir changer l’installation de mingw dans Code::Blocks. Pour cela, il faut récupérer le dernier MinGW sur SourceForge :

http://sourceforge.net/projects/mingwbuilds/

Il suffit de décompresser l’archive obtenue et de déplacer le répertoire MinGW contenu là où vous avez installé Code::Blocks (C:\Program Files (x86)\CodeBlocks par défaut).
Ensuite, on lance Code::Blocks et il faut adapter les paramètres du compilateur, comme sur l’image ci-dessous (Settings -> Compiler & Debugger, onglet Toolchain Executables).

Paramètres Toolchains

Paramètres dans Toolchains

Vous pouvez désormais compiler en ajoutant -std=c++11 (ou -fopenmp) en paramètre de compilation et -lpthread pour les liaison (linkage options).

 

Effacer les donneées d’un disque dur

29 octobre 2012

Un lien utile pour effacer ses données sur un disque dur, en utilisant dd ou shred.
http://www.tux-planet.fr/effacer-completement-un-disque-dur-en-ligne-de-commande/

Une autre commande utile peut être wipe, non décrite dans l’article.
Ceci est utile quand une carte SD d’un appareil photo plante. On récupère avec photo_rec (j’ai un article dessus). Je reformate avec gparted, puis efface toutes les données dessus.
Si jamais, le volume replante dans l’appareil photo, ça évite de ré-extraire des photos très vieilles avec photo_rec et de devoir trier trop de photos.

Au passage, photo_rec est toujours aussi efficace.

Un dépôt local pour Miktex

5 octobre 2012

Miktex est une version de Latex pour Windows (http://miktex.org). Il existe même un version portable.

Il est possible de le coupler avec un éditeur dédié, comme Texcenter ou Texmaker. Lors de l’utilisation de package dans latex \usepackage{}, il faut parfois en installer de nouveaux. Par défaut Miktex va essayer d’atteindre un dépôt sur le net. Cependant, cela n’est pas toujours possible.

Il est possible pour palier à ce problème de construire un dépôt local.

Pour cela, il faut aller récupérer les paquets sur les dépôts officiels (la liste des dépôts http://miktex.org/pkg/repositories) et placer ceux voulus dans un répertoire. Pour ma part, j’ai pris le paquet : mptopdf.tar.lzma. Et je l’ai placé dans le répertoire miktex_repo.

Afin que ce dépôt soit reconnu en tant que tel par Miktex , il faut placer deux autres paquets :

  • miktex-zzdb2-X.X.tar.lzma
  • miktex-zzdb1-X.X.tar.lzma

Où X.X indique votre version de Miktex (2.9 pour moi).

Lors de la compilation de votre fichier Tex, Miktex va automatiquement vous demander de télécharger les nouveaux paquets. Il faut alors lui indiquer que vous voulez utiliser un dépôt local et où il se situe.

 

Compiler Boost sous Windows et essai avec CodeBlocks

28 juin 2012

Le but de cet article est de présenter l’installation de la librairie boost en version compilée (pour utiliser boost thread, par exemple) sous windowspour l’utiliser avec Code::Blocks.

On commence par récupérer la dernière version stable (1.49.0 aujourd’hui) à cette adresse : http://www.boost.org/users/download/.

On décompresse l’archive à la racine de C:\boost dans notre exemple. Comme j’utlise Code::Blocks (MinGW), il faut compiler avec ce compilateur qui n’est pas officiellement supporté par Boost.

 

Installation

Il faut que dans la variable d’environnement PATH soit ajouté le chemin vers mingw/bin, par exemple : C:\Program files\codeblocks\mingw\bin, par défaut avec Code::Blocks. Ici la version de GCC est la gcc-mingw-4.5.2.

Ouvrez une fenêtre cmd (Démarrer->Exécuter, tapez cmd). allez dans C:\boost\tools\buid\v2

Exécutez bootstrap.bat, le log doit donner quelque chose de ressemblant à ça :


###
### Using 'mingw' toolset.
###

C:\boost\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap

C:\boost\tools\build\v2\engine>md bootstrap

C:\boost\tools\build\v2\engine>gcc -DNT -o bootstrap\jam0.exe  command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c

C:\boost\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw "--toolset-root=C:\MinGW\ " clean
...found 1 target...
...updating 1 target...
...updated 1 target...

C:\boost\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw "--toolset-root=C:\MinGW\ " 
...found 49 targets...
...updating 3 targets...
[MKDIR] bin.ntx86
[COMPILE] bin.ntx86\b2.exe
[COPY] bin.ntx86\bjam.exe
...updated 3 targets...

Enuite, on exécute:

b2 –prefix= »C:\boost » toolset=gcc install

On retourne dans C:\boost et lance :

bin\bjam.exe stage –build-type=complete –build-dir= »C:\boost\build »  –toolset=gcc –stage-dir= »C:\boost » –without-mpi –without-python

bin\b2.exe –prefix-dir= »C:\boost » toolset=gcc

Cette étape est assez longue. On peut vérifiez que les librairies (*.a) sont dans C:\boost\stage\lib. Puis :

bin\b2.exe –prefix-dir= »C:\boost » toolset=gcc install

C’est long aussi.

 

Vérification de l’installation

On choisit un programme exemple donné avec Boost et on va le compiler avec Code::Blocks.

Le programme est un classique hello.cpp:


// Copyright (C) 2001-2003
// William E. Kempf
//
//  Distributed under the Boost Software License, Version 1.0. (See accompanying
//  file LICENSE_1_0.txt or copy at <a href=(<a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>;<a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)>

#include <boost/thread/thread.hpp>
#include <iostream>

void helloworld()
{
    std::cout << "Hello World" << std::endl;
}

int main()
{
    boost::thread thrd(&amp;helloworld);
    thrd.join();

return 1;

}

Afin de le faire fonctionner ajouter avant l’inclusion de <boost/thread/thread.hpp>:

#ifdef WIN32
#define BOOST_THREAD_USE_LIB
#endif

Dans Project -> Build Options, sous l’onglet Compiler settings et sous-onglet Oher options, mettre :
-fexceptions
-I C:\boost
-lboost

Image pour Compiler settings

Compiler settings

Puis dans l’onglet Linker Settings, mettre :

-L C:\boost\lib
-lboost_thread-mgw45-mt-1_49

Le nom de l’inclusion lboost_thread peut changer selon la version de votre compilateur. Pour cela vérifiez la librairie dans C:\boost\lib (ici libboost_thread-mgw45-mt-1_49.a).

Image Linker Settings

Linker Settings

 Votre code doit compiler sans erreurs ni warning.

 

EDIT :

J’ai trouvé un bon tutoriel pour débuter avec les threads et les mutexs sous Boost (c’est en anglais):

http://www.drdobbs.com/cpp/the-boostthreads-library/184401518?pgno=1

Si vous en avez d’autres, n’hésitez pas à les donner dans les commentaires.

Texmaker, Doxygen et Ubuntu

24 mai 2012

Si vous générez des documentations en latex avec Doxygen pour commenter du code et si vous voulez compiler avec Texmaker (mais probablement aussi avec pdflatex en ligne de commande), vous obtenez probablement des erreurs du type :

Font U/bbold/m/n/8=bbold8 at 8.0pt not loadable: Metric (TFM) file not found.

Et la compilation du document est très longue avant de planter.

Il faut charger le paquet texlive-math-extra et tout rentre dans l’ordre.