IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Compression vidéo, problème avec VCM


Sujet :

Windows

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut Compression vidéo, problème avec VCM
    Bonjour à tous,

    j'ai un petit problème dans mon code pour encoder une vidéo.
    Cela-se passe dans les préparatifs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
       DWORD dwFormatSize;
    
          // Charge le format de l'image en entrée
       AVIStreamFormatSize( pAVIStream, 0, &lStreamSize );
    
       if ( (unsigned int) lStreamSize > sizeof( biIn ) )
          return false;
    
       lStreamSize = sizeof( biIn );
       HRESULT hr = AVIStreamReadFormat( pAVIStream, 0, &biIn.bmiHeader,
                                                                    &lStreamSize );
    
       if ( hr != 0 )
          return false;
    
          // Récupère les informations sur la vidéo d'entrée
       hr = AVIStreamInfo( pAVIStream, &aviInfos, sizeof ( aviInfos ) );
       if ( hr != 0 )
          return false;
    
          // Allocation du buffer d'entrée
       In = malloc( biIn.bmiHeader.biSizeImage );
    
          // Récupère le format de l'image de sortie
       dwFormatSize = ICCompressGetFormat( hCodec, &biIn, NULL );
    
       if ( (unsigned int) dwFormatSize > sizeof( biIn ) )
          return false;
    
       if ( ICCompressGetFormat( hCodec, &biIn, &biOut ) != ICERR_OK )
          return false;
    
       OutSize = ICCompressGetSize( hCodec, &biIn, &biOut );
       Out = malloc( OutSize );
    
       return true;
    Sachant que hCodec est un handle valide vers le compresseur Xvid
    et que j'ai bien ouvert le Stream AVI.

    biIn et biOut sont des BITMAPINFO.

    Le problème est à la ligne if ( (unsigned int) dwFormatSize > sizeof( biIn ) )...le taille nécessaire retourné par ICCompressGetFormat est supérieure à celle de mon biIn.
    Du coup impossible de récupérer le format de sortie de la vidéo...(ce qu'il faut mettre dans biOut dans le if suivant).

    Je suis un peu perdu alors si vous pouviez m'aider à retrouver le droit chemin !
    Merci !

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 593
    Points
    41 593
    Par défaut
    Une BITMAPINFO est une structure "à taille variable", à cause de la palette de couleurs.
    Toutefois, si elles doivent recevoir les données d'un bitmap 32bits, il ne devrait pas y avoir ce genre de problème...

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Je sais mais même en forcant ce passage après c'est l'appel à ICCompress qui plante !

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Un exemple ? http://www.gamedev.net/reference/programming/features/avifile/page3.asp

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Merci ça va déjà un peu mieux.

    Maintenant c'est le codec Xvid qui me fait une erreur lors de l'appel à ICCompressBegin :

    Citation Envoyé par Codec Xvid
    Statsfile not found
    C'est plutôt embêtant et je ne sais pas comment résoudre ce problème. Je suppose qu'il faut lui donner des statsfile ou bien lui dire où les mettre...mais comment ?[/quote]

Discussions similaires

  1. Problème avec une vidéo AVI
    Par dexm47 dans le forum Images
    Réponses: 2
    Dernier message: 01/05/2011, 20h37
  2. Réponses: 8
    Dernier message: 03/10/2009, 22h36
  3. Problème avec le HTTP compression
    Par jeremgoal dans le forum IIS
    Réponses: 0
    Dernier message: 20/08/2009, 13h09
  4. problème avec média player par défaut pour les vidéos ?
    Par tomguiss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/10/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo