salut !!
je cherche un algorithme permettant de convertir un fichier vidéo compressé mpeg-2 d'extension m2v en un tableau ..
quelqu'un a une idée ?
Version imprimable
salut !!
je cherche un algorithme permettant de convertir un fichier vidéo compressé mpeg-2 d'extension m2v en un tableau ..
quelqu'un a une idée ?
Bonjour,
En un tableau de quoi ?Citation:
Envoyé par destructive
C'est une vidéo, en quoi veux-tu la transformer ?
c'est un fichier vidéo compressé selon la norme mpeg-2 ..je veux le transformer en un tableau composé des unsigned char de cette forme :
unsigned char image[60000]={
{
186,131,102,145,144,115,119,142,133,123,130,134,131,111,128,119,121,134,131,165, 97, 62,145,140,111,163,162,117,166,162,122,138,
153,157,153,146,161,149,129,16..........
}
le but est de pouvoir implémenter le décodeur mpeg-2 à l'aide du RTOS uc/osII sur NIOSII et il fallait initialiser la séquence d'entrée en la transformant en tableau ..
merci
Transformer selon quel algorithme ?Citation:
Envoyé par destructive
Parce que si il ne s'agit que de charger un bloc de données en mémoire, il suffir d'un gros tableau, d'une ouverture du fichier en mode binaire (fopen() avec "rb"), d'un fread() de la taille requise, fclose') et c'est tout. 10 lignes de code...
salut !!
le fichier m2v est visualisé de la façon suivante avec visual studio
00 00 01 B3 08 00 80 23 00 FA 20 30 00 00 01 B5 .......#..0....
vous voyez que les éléments de la vidéo (à gauche) sont codées en héxadécimal (code ascii) , pour les transformer en un tableau voilà l'algorithme que j'ai écrit:
mais l'erreur suivante est obtenue :Code:
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
37
38
39
40
41
42
43
44
45
46
47
48
49 #include <stdio.h> #include <stdlib.h> #include <stdio.h> #define NB_CAR_LGN 32 main() { FILE *fin, // pointeur sur le fichier d'entrée passé en paramètre *fout; // pointeur sur le fichier de sorti que l'on va créer unsigned char c; char i=1; while((fout=fopen("sequence.c","w"))==NULL) { printf("Erreur dans la lecture du fichier d'entrée"); return 0; } if(fin=fopen("test.m2v","rb")) { c=fgetc(fin); fprintf(fout,"unsigned char sequence[]={\n%d",c); // Ecrit le type et nom du tableau et la 1ère valeur while(!feof(fin)) { c=fgetc(fin); if(i==NB_CAR_LGN) { fprintf(fout,",\n%d",c); // ecrit la valeur i=0; } else{ fprintf(fout,",%d",c); // ecrit la valeur i++; } } fprintf(fout,"\n};"); fclose(fin); } else { printf("Erreur dans la lecture du fichier d'entrée (%s)","test.m2v"); } fclose(fout); }
des idées ?Code:fatal error C1010: unexpected end of file while looking for precompiled header directive
Salut !
C'est une erreur que tu as a la compil ?
Sinon dans ton code y'a 2 fois #include <stdio.h> (peut être un bug de copier/coller :D ) et aussi main retourne int (ca fait pas avancer le problème mais bon :lol: ) .
Bonjour,
Généralement, ce message d'erreur est dû au manque de
Code:#include "stdafx.h"
maintenant plus d'erreur à la compilation mais lors de la génération de l'exécutable j'obtient 2 erreurs et ce message :
!!!!!!!Code:
1
2 LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/convertm2v.exe : fatal error LNK1120: 1 unresolved extern
Citation:
Envoyé par destructive
- Vérifie que tu compiles bien en C et non en C++ (extension des fichiers .c et non .cpp ni .C)
- Vérifie que le projet est bien console et non GUI.
- Vérifie que tu as un main() dans ton code.
j'ai vérifié tout ça et ça marche bien :mouarf:
il semble que c'était un problème dans la définition du type du projet ..
remarque: le fichier d'entête stdafx.h n'est pas nécessaire ..
merci bien !!