wie komme ich an die dekomprimierten Scanlines/Buffer eines Jpeg.Objekts ran?



  • Hallo,
    vielleicht kann mir jemand helfen:
    schreibe ein Programm, dass auswertet, wieviel Prozent eines Jpeg's kaputt gehen, wenn ein Byte verändert wird.
    Ist die Variable *Buffer der Jpeglib wirklich der Pointer auf ein Array, dass einer dekomprimierten Scanline/Buffer entspricht?
    Oder ist sie noch komprimiert?
    Das würde erklären, dass, wenn ich später die Buffer zweier Jpeg-Dateien (kaputt und intakt) per strcmp vergleiche, das Verhältnis - kaputte zu ganze Buffer - so eigenartig ist...
    Mein Code:

    class verketteterbuffer{
    	public:
    		verketteterbuffer(){char* meinbuffer;}//Konstruktor
    		char* meinbuffer; 
    		verketteterbuffer* naechster;
    		~verketteterbuffer(){delete meinbuffer;}//Destruktor
    		};
    //...weiter unten:
    verketteterbuffer *aktuellkaputt=NULL;
    //...
    aktuellkaputt->meinbuffer = new char[row_stride];
    memcpy(aktuellkaputt->meinbuffer, *buffer, row_stride);
    //...weiter unten:
    if(strcmp(Hilfsobjekt1->meinbuffer,Hilfsobjekt2->meinbuffer))
     {
     laufvariable++;//wenn die beiden Buffer nicht übereinstimmen, dann gibts Punkte!
     }
    

    Vielen Dank für die Hilfe



  • ich hab zwar nicht zu dem thema beitztragen, aber was mir immer augenschmerzen bereitet sind deutsche bezeichner, und dazu noch laengere - das is schrecklich #augenreib



  • Wieso dann nicht gleich meinpuffer? *duck*



  • Danke erstmal für die überwältigende Hilfe 😉 ,
    aber ich hätte gerne inhaltliche Unterstützung!!
    was ich rausfinden konnte, ist dass es eine Funktion der jpeglib gibt, namens jpeg_read_raw_data()
    Wie verwende ich diese und wie komme ich in dieser Funktion an den "rohen" "Puffer" (wenns denn sein muss).

    Und - mit Verlaub - was bringen mir englische kurze Variablennamen, wenn ich sie nicht sofort als das erkenne, was sie sind, nämlich von mir deklarierte Variablen (also nicht Bestandteile eine Library) von denen ich wissen soll, was sie machen ?!



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply