2013-06-11 5 views
0

J'ai un fichier JPEG dans un char* buffer à partir d'un encodeur jpeg. Supposons que si je l'écris correctement dans le fichier, ce sera pic.jpg. Dites alors que j'ai lu en utilisant ifstream de pic.jpg et le stocker dans char* buffer2.différé JPEG et JPEG codé

Quelle est la différence entre ces deux tampons, s'il y en a?

(La raison pour laquelle je demande est que, j'ai fichier jpeg dans un char * buffer d'un décodeur jpeg et je dois l'écrire sur le disque. Mais en utilisant le système file descripter et la méthode write() dans fcntl.h ne pas écrire dehors correctement ... Je peux ouvrir l'image, mais il est très évident que les couleurs sont éteintes.Veuillez supposer que l'image a des couleurs valides quand elle a été sortie du décodeur, parce que je peux écrire directement du décodeur sur le disque et tout va bien. juste je dois le mettre dans un char* buffer à d'autres fins, et j'ai besoin de vérifier que buffer a des données valides avant un traitement ultérieur.)

Répondre

0

La description que vous donnez implique que vous lisez Y componen Cela signifie que vous n'écrivez pas toutes les données décodées sur le disque ou que vous ne lisez pas l'intégralité des données décodées du disque pendant le rendu (affichage). Le meilleur endroit pour commencer est de vérifier la taille des données décodées (taille = hauteur * largeur de l'image jpg originale).

http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/Images/ch6_image_downsampling.jpg