Autor Tema: Precomp v0.4.5 vFINAL  (Leído 2827 veces)

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 9651
Precomp v0.4.5 vFINAL
« en: 10 de Mayo de 2016, 09:21:17 am »
Al final su autor ha "etiquetado" la versión como final, 100% recomendada  :ok:

https://github.com/schnaader/precomp-cpp/releases/tag/v0.4.5
 
  • Updated packJPG to 2.5k, packMP3 to 1.0g (Issue #33)
  • Windows version compiled using GCC/G++ 5.3.0 (before: 4.8.1)
  • 32-bit and 64-bit versions (~10-20% faster on 64-bit machines)
  • SWF support adjusted to newer versions (Issue #31)
  • MP3 support (Issue #18)
  • MP3 and JPG recompression without temporary files for sizes up to 64 MB (also see Issue #14)
  • Fixed memory corruption in packJPG that led to crashes (Issue #17)
  • Fixed Base64 streams not being restored correctly in recursion (Issue #36)
  • Also see closed issue list
  Downloads
« Última modificación: 10 de Mayo de 2016, 09:23:54 am por Fl0ppy »
Siempre que pasa igual sucede lo mismo



marc731116

  • KaPiTaL SiN miembro
  • Usuario Héroe
  • *
  • Mensajes: 629
Re:Precomp v0.4.5 vFINAL
« Respuesta #1 en: 10 de Mayo de 2016, 09:29:20 am »
 :ok: :ok: :ok:

El readme en Español
Spoiler for Hiden:
Quote (selected)
Precomp v0.4.5
--------------
1. Que es Precomp?
2. Que es Precomp Comfort?
3. Tipos de archivos
4. Como usarlo
5. Preguntas freduentes
6. Contacto
7. Creditos
8. Cosas legales

1. Que es Precomp?
-------------------
Precomp es un precompressor de línea de comandos. Se puede utilizar para lograr una mejor compresión de algunos tipos de archivos (funciona en los archivos que se comprimen con zlib o el método de compresión Deflate y en los archivos GIF). Precomp intenta descomprimir los flujos en esos archivos  y si puede ser descomprimido y "re-" comprimido de manera que sean bit-a-bit-idénticos a la secuencia original, la secuencia de descompresión se puede utilizar en lugar de la comprimida.

El resultado es un archivo. Pcf (PCF = PreCompressedFile) que contiene datos mas descomprimidos que el archivo original. Tenga en cuenta que este archivo es mayor que el archivo original, pero si se comprime con un método de compresión más fuerte que Deflate, la compresión es mejor que antes.

Desde la versión 0.4.3, precomp también está disponible para Linux. Las versiones de Linux y Windows son completamente compatibles, los archivos PCF son intercambiables entre sistemas Windows y Linux.

2. Que es Precomp Comfort?
---------------------------
Precomp Comfort es una variación de precomp. Soporta arrastrar y soltar los archivos individuales y utiliza un archivo INI para los parámetros.
Ejecutar precomp.exe para la versión original, precomf.exe para la versión Comfort.

3. Tipos de archivos
------------
Aquí está una lista de los tipos de archivos que pueden llegar a alcanzar una mejor compresión con precomp y cómo puede comprobar si se puede.
Tenga en cuenta que esta lista no es completa  y que los otros tipos de archivo también pueden contener secuencias de deflate o zLib, pero debe usar el parámetro de modo intenso (-intense) para ellos.

PDF
Los archivos PDF de Adobe a menudo utilizan la compresión zlib para comprimir sus documentos.
Averigüe si "FlateDecode" aparece en el archivo, pero no se combina con "ASCII85Decode".

JPG
Precomp utiliza packJPG por Matthias Stirner (http://www.elektronik.htw-aalen.de/packjpg/index.htm) para comprimir con menos perdida imágenes JPG.

MJPEG
MJPEG es un formato de vídeo que consiste en imágenes JPG sin tablas Huffman.
Precomp inserta estos de modo que packJPG es capaz de comprimir las imágenes.

ZIP/JAR
La mayoría de los archivos ZIP usan Deflate para la compresión. Archivos JAR son básicamente archivos ZIP con un manifiesto adicional para su uso con Java.

PNG
PNG usa Deflate  para comprimir sus datos de imagen filtrados

GIF
El formato GIF utiliza LZW para comprimir sus datos de imagen.

GZ
Archivos GZip usan Deflate para la compresión.

BZ2
bzip2 es un formato utilizado a menudo en entornos Linux.

SWF
Archivos de Shockwaveflash de Macromedia pueden utilizar compresión zlib desde la versión 6.
Comprobar: Los tres primeros bytes del archivo son CWS (en lugar de FWS para los archivos sin comprimir).

MIME Base64
Esta codificación se utiliza para adjuntar archivos binarios a los e-mails.

SVGZ
Estos archivos contienen archivos SVG comprimido con gzip.

ODT
OpenOffice Document consisten en comprimidos de datos XML.

SIS (slow mode only)
Estos archivos contienen información acerca de la instalación de software en el sistema operativo Symbian para teléfonos móviles. Ellos utilizan la compresión zlib.

3DM (slow mode only)
Este es un formato de archivo para geometría 3D utilizado por Rhino3D que contiene secuencias de zlib.

zeno (slow mode only)
Zeno es un formato de archivo usado por el alemán  e.g. de Wikipedia DVD.

4. Como se usa
----------------
La manera más sencilla (precomp Comfort):
Arrastrar y soltar un archivo en precomf.exe para precomprimir en un archivo ,pfc con el mismo nombre
Para recuperar el archivo original, haga lo mismo con el archivo. Pcf.

O use la linea de comandos: (Precomp)
"precomp Archivo_a_comprimir" para precomprimir un archivo en un archivo. pcf con el mismo nombre
"precomp-rpcf_Archivo_a_descomprimir" para restaurar el archivo original (-d sigue siendo válido también)

Para los trabajos de proceso por lotes, usted encontrará estos posibles niveles de error:

0                  No error                                                                                                                                  Sin errores
1                  Various errors (f.e. file access errors)                                                                   Errores Varios (F.E. errores de acceso a archivos)
2                  No streams could be decompressed                                                                       No hay secuencias a descomprimir
3                  Disk full                                                                                                                                   Disco lleno
4                  Temporary file disappeared                                                                                         Archivos temporales desaparecidos
5                  Parameter error: Ignore position too big                                                              Parametros de error: Ignorar posición demasiado grande
6                  Parameter error: Identical byte size too big                                                       Parametros de error: Tamaño de bytes idénticos demasiado grande
7                  Parameter error: Recursion level too big                                                             Parametros de error: Nivel de recursión demasiado grande
8                  Parameter error: Recursion level set more than once                                  Parametros de error: Nivel de recursión establecido mas de una vez
9                  Parameter error: Minimal identical byte size set more than once          Parametros de error: Tamaño mínimo de bytes idénticos establecido mas de una vez
10               Parameter error: Don't use a space after -o                                                        Parametros de error: No usar un espacio después de -o
11               Parameter error: More than one output file                                                         Parametros de error: Más de un archivo de salida
12               Parameter error: More than one input file                                                            Parametros de error: Más de un archivo de entrada
13               Ctrl-C detected (user break)                                                                                        Ctrl-C detectado (cerrado por el usuario)
14               Parameter error: Intense mode recursion limit too big                                 Parametros de error: Modo Intense limite de recursión demasiado grande
15               Parameter error: Brute mode recursion limit too big                                     Parametros de error: Modo Brute Linite de recursión demasiado grande


Comandos adicionales:

-longhelp:
Sólo los comandos comunes se muestran de forma predeterminada. Este comando mostrará una ayuda extensa y detallada

-o[nombre_de_archivo]:
Especifica el nombre del archivo de salida. Para precompresión por defecto es el nombre original del archivo con la extensión. Pcf, para "descompresión", es el nombre del archivo original. Si el archivo de salida ya existe, se le preguntará si desea sobrescribirlo. Sin embargo, puede especificar un nombre de archivo de salida diferente con esta opción.

-c[bn]: (Comfort: Metodo de Compresion)
El primer paso que precomp hace es descomprimir todas las secuencias en el archivo de entrada. Después de esto, se puede volver a comprimir el archivo con bzip2 ("-cb", ajuste predeterminado) o dejarlo como está ("-cn") para que pueda comprimir el archivo PCF con un método de compresión más fuerte.

-n[bn]:
Este comando se utiliza para convertir un archivo PCF sin ninguna compresión para la compresion bzip2 y viceversa sin correr precomp en el archivo original de nuevo.

-zl: (Comfort: Niveles de zLib)
Después de la precompresión de un archivo con precomp, le indica cómo utilizar este parámetro para acelerar la precompresión la próxima vez que precomprima este archivo. Se trata de uno o más números de dos dígitos. El primer dígito es el nivel de compresión, el segundo es la configuración de memoria que se pretende en este archivo. Sin embargo, usando esto en un archivo diferente podría dar lugar el precomp desaparescan algunas piezas comprimidas de la misma.

-t: (Comfort: Tipos de compresión)
Activa o desactiva la detección de ciertos tipos de compresión. Para el uso de línea de comandos, hay dos variantes: t+ permite ciertos tipos y desactiva los demás, mientras que t- desactiva ciertos tipos y permite a los demás.
El uso de -t-j por ejemplo deshabilita la recompresión JPEG y deja todos los demás tipos como antes, con -t+pf permite la precompresión solo de PDF y GIF, desactivando todos los demás.

-d: (Comfort: Nivel máximo de recursividad)
Ajusta el nivel de recursividad máxima. Varias secuencias pueden contener flujos adicionales en el interior, por ejemplo ZIP o  secuencias MIME Base64. Este modificador especifica el máximo de "profundidad" donde precomp buscará secuencias. Si se establece en 0 deshabilita la recursividad, el valor por defecto es 10, que debería ser suficiente para la mayoría de tipos de archivos.

-f: (Comfort: Modo rápido)
Modo rápido para acelerar el precomp. Este sistema utiliza la primera compresión encontrada para todas las secuencias en lugar de tratar todas las 81 combinaciones cuando no se esta seguro seguro. Esto funciona muy bien en archivos que utilizan sólo unos pocos métodos de compresión, pero se traducirá en peor compresión para archivos que utilizan muchos métodos de compresión. Buenos candidatos para este sonarchivos PDF y ZIP / JAR / GZ.
Malos candidatos son los archivos que contienen muchos archivos.
En el modo no-rápido (non-fast), hay un mensaje cuando sólo se utiliza una combinación de nivel. Esto significa que el modo rápido no hará absolutamente lo mismo en este archivo, pero es más rápido.

-intense: (Comfort: Modo intenso)
En el Modo lento se reduce la velocidad del precomp. Se busca cabeceras zlib  y reconoce otros formatos de archivo como SWF o SIS y formatos especiales utilizados únicamente para un solo programa. Sin embargo, el encabezado zLib sólo consta de 2 bytes, por lo quepuede haber muchos secuencias falsas detectadas, por  que no son secuencias Zlib pero se manejan como ellas, lo que resulta en un comportamiento más lento y más inestable.
Modo lento puede ser combinado con el modo rápido, pero puede suceder que se detecte una secuencia falsa, en la primera secuencia y evita que otros flujos reales sean detectados, por lo que ellos la combinan se debe manjejar con precaución.
Utilice este modo si tiene archivos que utilizan compresión zlib pero no son compatibles (SIS, SWF, archivos ISO juego ...).

-brute: (Comfort: Modo bruto)

En el Modo Bruto se reduce la velocidad del precomp. Se supone que podría haber secuencias de Zlib sin encabezados por todas partes. Este incluso reconoce los formatos de archivo más exóticos que no incluyen encabezados zlib, pero tomará mucho tiempo (más de un minuto incluso para archivos de alrededor de 10 KB de tamaño). Si tiene datos que deben ser procesados ??con este modo, mejor intente agregar encabezados zlib por su cuenta.
El Modo Bruto puede ser combinado con el Modo rápido, pero desactive el modo lento.

-pdfbmp[+-]: (Comfort: Modo PDF BMP)
Esto precede imágenes PDF con un cabezazo BMP para mejorar la compresión y la velocidad, especialmente para PAQ.

-progonly[+-]: (Comfort: JPG progresivo sólo)
Recomprime archivos JPG progresivos solamente. De nuevo, esto es especialmente útil para PAQ que generalmente tiene una mejor compresión de JPG packJPG, pero carece de soporte JPG progresivo.

-mjpeg[+-]: (Comfort: Recompresion MJPEG)
Permite recompresión MJPEG mediante la inserción de tablas Huffman en los datos de JPG.

-v: (Comfort: Detallado)
El Modo Detallado (debug) sirve para obtener información adicional acerca de las secuencias detectadas y el éxito / fracaso de la recompresión. Si quieres un archivo con estas informaciones, poner así el comando: "precomp -v nombre_del_archivo > verbose.txt".

-i: (Comfort: Ignorar posiciones)
En el modo detallado, se puede ver la posición de las secuencias en el archivo. Con este parámetro, puede pasar por alto ciertas secuencias.

-s: (Comfort: Tamaño mínimo)
Con este parámetro, se puede elegir el tamaño mínimo de Proceso de una secuencia. El valor por defecto es de 4 bytes. Si lo establece a los valores más altos (alrededor de 50-200 bytes) a veces mejora la recompresión, especialmente en modo lento o bruta.


5. Preguntas Frecuentes
------
P: He intentado comprimir un archivo comprimido previamente con precomp y no se hace más pequeños.

R: precomp no ha encontrado secuencias de comprición en el archivo y la compresión bzip2 no ayudó tampoco.

P: ¿El código fuente está disponible para precomp?

R: Todavía no, porque es muy complicado en este momento, pero estará disponible pronto.

P: ¿Hay alguna bugs conocidos?

R: Hay algunos errores que conducen a los accidentes en los archivos  especialmente los corruptos, pero estos son muy inusuales. Sin embargo, precomp está lejos de ser completamente terminado, así que si usted encuentra un error, envíame un informe del error.

P: He encontrado un bug. Cómo informar de ello?

R: Envíe un correo electrónico a schnaader@gmx.de, de preferencia con "[precomp]" en el tema con una descripción del error y si lo desea (y si es menos de 10 MB), el archivo que querías precomprimir / restauración .

P: ¿Cuál es la diferencia entre usar precomp o Multivalent para los archivos PDF?

R: La diferencia principal es que los archivos PDF comprimidos con Multivalent no se puede restaurar bit-a-bit-idénticos debido a que el Multivalent es un método de compresión con pérdida (aunque no se pierde el contenido del PDF). Así que si lo que desea es comprimir los archivos PDF y tener un rápido acceso a ellos más adelante, use Multivalent. Si desea obtener archivos más pequeños que Multivalent (incluso en modo compacto) o si quieres estar seguro de que el archivo es bit a bit idéntico al original PDF, utilice precomp. También puede utilizar precomp en archivos PDF comprimidos con Multivalent.

P: La precompresión para PNG, GIF y archivos ZIP es malo, aunque el modo detallado dice que pueden ser descomprimidos por completo.

R: La descompresión de los archivos está bien definido, pero hay muchas maneras de volver a comprimir. Especialmente zLib se puede ajustar con deflateTune (), que no está soportado por precomp porque Simplemente hay demasiadas hay variaciones para probar. Estoy trabajando en esto.

6. Contact----------
Christian Schneider
schnaader@gmx.de
http://schnaader.info

7. Creditos
----------
Gracias por el apoyo, la ayuda y los comentarios:
  Stephan Busch (Squeeze Chart Author, http://www.squeezechart.de)
  Werner Bergmans (Maximum Compression Benchmark Author, http://www.maximumcompression.com)
  Matthias Stirner (PackJPG, http://www.elektronik.htw-aalen.de/packjpg/index.htm)
  Mark Adler (http://www.zlib.net)
  Matt Mahoney (http://www.mattmahoney.net, http://www.cs.fit.edu/~mmahoney/compression)
  Malcolm Taylor (http://www.msoftware.co.nz/WinRK_about.php)
  Simon Berger (helped to fix many bugs)
  The whole ENCODE.RU forum (http://encode.ru/forum)

8.Cosas legales
--------------
PackJPG v2.5 (http://www.elektronik.htw-aalen.de/packjpg/index.htm) by Matthias Stirner is used for compression/decompression of JPG files.
bZip2 1.05 (http://www.bzip.org) by Julian Seward is used for compression/decompression of bZip2 streams.
zLib 1.2.5 (http://www.zlib.net) by Jean-loup Gailly and Mark Adler is used for compression/decompression of zLib streams.
GifLib 4.1.4 (http://sourceforge.net/projects/libungif) is used for compression/decompression of GIF files.
  The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond

! Tenga en cuenta que el uso de precomp en cualquier producto comercial no está permitida sin mi permiso! !

Precomp en sí no está disponible todavía, pero tengo la intención de liberar el código fuente y licencia, bajo LGPL.

9.Definiciones:

Recurrencia, recursión o recursividad es la forma en la cual se especifica un proceso basado en su propia definición
« Última modificación: 10 de Mayo de 2016, 09:33:49 am por marc731116 »

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 9651
Re:Precomp v0.4.5 vFINAL
« Respuesta #2 en: 10 de Mayo de 2016, 09:33:53 am »
Lo llevo usando desde el 2006..creo que KPS fué el primer grupo que lo usó en juegos de manera pública (al igual que el 7-zip), más tarde la gente también lo encontró y mira..hasta el día de hoy, le faltan cosas como:

-Mejorar la deteccion zlib de ciertos png
-La compresión ZIP la lleva fatal
-Detección de LZO
-Detección de LZMA

Siempre que pasa igual sucede lo mismo