Consulta sobre compresión LZ77 y Devil Survivor

Lugar donde se intentarán resolver problemas específicos
Responder
Avatar de Usuario
Leeg
Mensajes: 379
Registrado: 20 Mar 2014, 00:25

Consulta sobre compresión LZ77 y Devil Survivor

Mensaje por Leeg » 31 Oct 2015, 15:44

¿Los 00 adicionales que hay que añadir a cada archivo para que su longitud sea múltiplo de 4 y funcione correctamente hay que añadirlos antes o después de comprimir?


Como hasta ahora he estado usando programas ajenos para esto no tengo ni idea de cómo va.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 31 Oct 2015, 16:37

En LZSS no hace falta, así que añádelos después.

Avatar de Usuario
Leeg
Mensajes: 379
Registrado: 20 Mar 2014, 00:25

Mensaje por Leeg » 31 Oct 2015, 16:47

¡Ok! ¿Y eso me joderá para los archivos a los que tengo que ponerle la longitud total? Lo digo porque tras añadir los 00 la longitud del archivo cambiará, pero ya estará comprimido y no podré editarlo. ¿Tendré que comprimirlo una vez para ver cuál va a ser la longitud del archivo cuadrada a múltiplo de cuatro tras añadir los 00 para después volverlo a comprimir usando ese valor de la longitud y poniéndolo donde toca? XD

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 31 Oct 2015, 16:53

No hagas nada, esos ceros serán solo de ajuste.

Avatar de Usuario
Leeg
Mensajes: 379
Registrado: 20 Mar 2014, 00:25

Mensaje por Leeg » 31 Oct 2015, 16:58

Perfecto pues, gracias ;D

Avatar de Usuario
Leeg
Mensajes: 379
Registrado: 20 Mar 2014, 00:25

Mensaje por Leeg » 09 Nov 2015, 15:36

Una duda:

[img]http://i.imgur.com/Llupn3k.png[/img]

En esta imagen, el archivo de arriba es el original y el de abajo es el mío. El original no está ajustado 4 bytes (pero he comprobado que sí lo está cuando lo descomprimes). El mío, siguiendo tu consejo, lo ajusto después de la compresión y no antes. Esto hace que ambos archivos (original y mío) tengan algunas diferencias cuando están comprimidos pese a tener el mismo contenido. ¿No pasará nada con ello?

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 09 Nov 2015, 16:32

Eso no influye en nada pues la compresión la haces antes de rellenar con esos ceros.

Que tengan alguna diferencia es lógico debido a las características de la compresión. Uno puede indicar que se repita 10 veces el byte que hay en la posición 100 y el otro puede indicar que el byte esté en la 537, siendo ambos bytes idénticos. Eso provoca que el offset sea diferente a la hora de almacenarlo, pero el resultado va a ser el mismo. Incluso puede darse el caso que los ficheros comprimidos, sin cambiar nada del original, sean de diferente tamaño.

Avatar de Usuario
Leeg
Mensajes: 379
Registrado: 20 Mar 2014, 00:25

Mensaje por Leeg » 09 Nov 2015, 16:50

Sí, eso del tamaño me esta pasando también. Pero si no va a haber problemas al reisertarlo en la ROM, todo perfecto pues. Gracias.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 09 Nov 2015, 17:26

Es sencillo de comprobar. Con las LZSS siempre debes comprimir y luego descomprimir. Si los ficheros descomprimidos son siempre iguales es que todo va bien (se supone que la compresión la haces bien, claro).

Responder