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 ?
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 ?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 ?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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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) et aussi main retourne int (ca fait pas avancer le problème mais bon
) .
Partager