libjpeg-turbo

צילום מסך תוכנה:
libjpeg-turbo
פרטי תוכנה:
גרסה: 1.4.90 מעודכן
טען תאריך: 10 Mar 16
מפתחים: D. R. Commander
רשיון: ללא תשלום
פופולריות: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-טורבו הוא קוד פתוח, חוצה פלטפורמות ותוכנה חופשית לחלוטין מהונדסים לספק גרסה במהירות גבוהה של תוכנת ספריית libjpeg המקורית, שנוצרה במיוחד עבור מעבדי x86 ו- x86-64, אשר להשתמש SIMD ( פקודה יחידה, הוראות נתונים) מרובים, כגון SSE2, MMX ו ניאון, להאיץ דקומפרסיה JPEG הבסיס ודחיסה.


ה- Codec תמונה מהיר מאוד JPEG

תוכנה הוא codec תמונת JPEG מהר מאוד כי הוא בדרך כלל 2-4x מהר יותר מהגרסה ללא שינוי של libjpeg. הפרויקט במקור התבסס על הפרויקט libjpeg / SIMD נוצר על ידי Miyasaka מאסארו.


מיישם את ממשק API libjpeg המסורתי

גרסת טורבו הזה של הספרייה libjpeg גם מיישמת את API המסורתי libjpeg, כמו גם את ה- API TurboJPEG פשוטה. הוא כולל רחבות צבעים, אשר מאפשרות למשתמשים לדחוס מ או לשחרר לחצו כדי גדולים endian ו 32 סיביות מאגרים פיקסל (XBGR, RGBX, וכו '), ואת ממשק Java הכולל את כל תכונות.


מבוזרת כמו מתקינים מקוריים עבור DEB ו מערכות הפעלה מבוססת RPM

לנוחיותכם, התוכנה מתפלגת מתקינים מקורית עבור DEB ומערכות הפעלה מבוססת RPM, כמו דביאן, אובונטו, Linux Mint, פדורה, CentOS, רד האט, openSUSE, Mageia, וכו ', תמיכה בשתי 64 ופלטפורמות חומרה של 32 סיביות.


תחילת עבודה עם libjpeg-טורבו

הפרויקט libjpeg-טורבו ניתן להתקין בקלות מן המאגרים התוכנה הראשי של גנו / לינוקס ההפצה. כמו כן יותקנו באופן אוטומטי יחד עם כל תוכנה הדורשת אותה.

כדי להתקין אותו באופן ידני באמצעות חבילת המקור, במקרה אתה רוצה לייעל את זה עבור ארכיטקטורת החומרה / מערכת הפעלה, להוריד ולשמור בארכיון האחרון מ Softoware, לחלץ את תוך באמצעות כלי מנהל ארכיון, לפתוח יישום מסוף עברו אל המיקום של קובץ ארכיון חילוץ (למשל cd / home / softoware / libjpeg-טורבו).

לאחר מכן, הפעל את & lsquo; ./ configure && לעשות & rsquo; הפקודה להגדיר ולגבש תוכנית, ואחריו & lsquo; sudo make install & rsquo; commad להתקין את מערכת רחבה ולהפוך אותו לזמין לכל היישומים

מה חדש במהדורה זו:.

    < li> תוקן בעיה לבנות על פלטפורמות PowerPC OS X (md5cmp הצליחו לבנות בגלל OS X אינו מספק את le32toh () ו htole32 () פונקציות.).
  • קוד המרת צבעי RGB565 הלא SIMD לא עבד כראוי על מכונות endian גדולות. זו תוקנה.
  • תוקנה בעיה ב tjPlaneSizeYUV () לפיו יחזור בטעות 1 במקום -1 אם componentID היה & gt; 0 ו subsamp היה TJSAMP_GRAY.
  • תוקנה בעיה ב tjBufSizeYUV2 () wherby זה היה בטעות לחזור 0 במקום -1 אם רוחב היה & lt; 1.
  • מקודד האפמן משתמש כעת clz ו ב.ס.ר הוראות קצת סומכים פלטפורמות ARM64.
  • קרוב (שיטה) של כיתות ג 'אווה TJCompressor ו TJDecompressor כעת idempotent. בעבר, השיטה שבה יקרא tjDestroy הילידים (פונקציה) גם אם למשל TurboJPEG כבר הושמדו. זה גרם לחריגה להיזרק במהלך השלמה, אם קרוב (השיטה) כבר נקראה. החריג נתפס, אבל זה עדיין היה מבצע יקר.
  • API TurboJPEG שנוצר בעבר שגיאה (& quot; לא ניתן לקבוע את סוג subsampling עבור תמונת JPEG & quot;) כאשר מנסים לשחרר תמונות JPEG בגווני אפור שהיו דחוסים עם גורם דגימה למעט 1 (למשל, עם "cjpeg -grayscale - 2x2 מדגם '). Subsampling אין משמעות טכנית עם תמונות JPEG בגוונים אפורים, וכך גורמי דגימה האופקיים ואנכיים עבור תמונות כאלה הם התעלמו ידי הדחיסה. עם זאת, TurboJPEG API היה להיות נוקשה מדי ציפה הגורמים הדגימה להיות שווה ל 1 לפני שהוא מטופל את התמונה כקובץ JPEG בגווני אפור.
  • cjpeg, djpeg, ו jpegtran עכשיו לקבל טענה של -version, אשר תדפיס את גרסת הספרייה ויציאה.
  • בהתייחסו 1.4 beta1 [15], אחר נסיבות נדירות מאוד התגלתה לפיו למאגר המקומי של מקודד האפמן יכול להיות מוצף כאשר מנהל יעד שנאגר נמצא בשימוש, בלוק מאוד בתדר גבוה (בעצם נתוני תמונת זבל) הוא להיות מקודד. למרות למאגר המקומי האפמן הוגדל מ 128 בתים ל -136 בתים להתייחס לנושא הקודם, בגיליון החדש וגרם אפילו חיץ גדול כדי להיות מוצף. ניתוח נוסף מגלה כי, במקרה הרע המוחלט (כגון הגדרת מקדמי AC לסירוגין כדי 32767 ו -32,768 בסדר סריקת JPEG), מקודד האפמן יכול לייצר בלוקים מקודדים כי גישה כפולה בגודל של אבן unencoded. לפיכך, למאגר המקומי האפמן הוגדל ל 256 בתים, אשר אמור למנוע כל בעיה כזו מחדש התרחשות בעתיד.
  • tjPlaneSizeYUV החדש (), tjPlaneWidth () ולאחר tjPlaneHeight (פונקציות) לא היו ממש שמישות על כל פלטפורמה למעט OS X ו- Windows, כי הפונקציות אלה לא נכללו ב libturbojpeg mapfile. זו תוקנה.
  • שוחזר JPP (), JMETHOD (), ואת פקודות מאקרו FAR בתיקי libjpeg-טורבו הכותרת. JPP () ו JMETHOD () פקודות מאקרו יושמו במקור libjpeg כדרך לתמוך מהדרים שאינם ANSI כי חסרה תמיכה פרמטרים אבטיפוס. libjpeg-טורבו מעולם לא תמך מהדרים כאלה, אבל כמה חבילות תוכנה עדיין להשתמש בפקודות מאקרו להגדיר טיפוס שלהם. באופן דומה, טורבו libjpeg מעולם לא תמך MS-DOS ופלטפורמות אחרות שיש להן סימנים כה, אך כמה חבילות תוכנה עדיין להשתמש במאקרו FAR. טען די טוב יכול להתבצע שזהו מנהג רע מצד התוכנה מדוברת, אבל מאז זה משפיע על יותר בחבילה אחת, זה פשוט קל יותר לתקן את זה כאן.
  • בעיות קבועות כי מונעות את קוד SIMD 64 סיבי ARM מ קומפילציה עבור iOS, וכלל ארכיטקטורת ARMv8 בכל הבינאריים מותקנים על ידי & quot; רשמי & quot; libjpeg-טורבו SDK עבור OS X.

מה חדש בגירסה 1.4.2:

  • תוקן בעיה לבנות על פלטפורמות OS X PowerPC ( md5cmp הצליח לבנות בגלל OS X אינו מספק את le32toh () ו htole32 () פונקציות.).
  • קוד המרת צבעי RGB565 הלא SIMD לא עבד כראוי על מכונות endian גדולות. זו תוקנה.
  • תוקנה בעיה ב tjPlaneSizeYUV () לפיו יחזור בטעות 1 במקום -1 אם componentID היה & gt; 0 ו subsamp היה TJSAMP_GRAY.
  • תוקנה בעיה ב tjBufSizeYUV2 () wherby זה היה בטעות לחזור 0 במקום -1 אם רוחב היה & lt; 1.
  • מקודד האפמן משתמש כעת clz ו ב.ס.ר הוראות קצת סומכים פלטפורמות ARM64.
  • קרוב (שיטה) של כיתות ג 'אווה TJCompressor ו TJDecompressor כעת idempotent. בעבר, השיטה שבה יקרא tjDestroy הילידים (פונקציה) גם אם למשל TurboJPEG כבר הושמדו. זה גרם לחריגה להיזרק במהלך השלמה, אם קרוב (השיטה) כבר נקראה. החריג נתפס, אבל זה עדיין היה מבצע יקר.
  • API TurboJPEG שנוצר בעבר שגיאה (& quot; לא ניתן לקבוע את סוג subsampling עבור תמונת JPEG & quot;) כאשר מנסים לשחרר תמונות JPEG בגווני אפור שהיו דחוסים עם גורם דגימה למעט 1 (למשל, עם "cjpeg -grayscale - 2x2 מדגם '). Subsampling אין משמעות טכנית עם תמונות JPEG בגוונים אפורים, וכך גורמי דגימה האופקיים ואנכיים עבור תמונות כאלה הם התעלמו ידי הדחיסה. עם זאת, TurboJPEG API היה להיות נוקשה מדי ציפה הגורמים הדגימה להיות שווה ל 1 לפני שהוא מטופל את התמונה כקובץ JPEG בגווני אפור.
  • cjpeg, djpeg, ו jpegtran עכשיו לקבל טענה של -version, אשר תדפיס את גרסת הספרייה ויציאה.
  • בהתייחסו 1.4 beta1 [15], אחר נסיבות נדירות מאוד התגלתה לפיו למאגר המקומי של מקודד האפמן יכול להיות מוצף כאשר מנהל יעד שנאגר נמצא בשימוש, בלוק מאוד בתדר גבוה (בעצם נתוני תמונת זבל) הוא להיות מקודד. למרות למאגר המקומי האפמן הוגדל מ 128 בתים ל -136 בתים להתייחס לנושא הקודם, בגיליון החדש וגרם אפילו חיץ גדול כדי להיות מוצף. ניתוח נוסף מגלה כי, במקרה הרע המוחלט (כגון הגדרת מקדמי AC לסירוגין כדי 32767 ו -32,768 בסדר סריקת JPEG), מקודד האפמן יכול לייצר בלוקים מקודדים כי גישה כפולה בגודל של אבן unencoded. לפיכך, למאגר המקומי האפמן הוגדל ל 256 בתים, אשר אמור למנוע כל בעיה כזו מחדש התרחשות בעתיד.
  • tjPlaneSizeYUV החדש (), tjPlaneWidth () ולאחר tjPlaneHeight (פונקציות) לא היו ממש שמישות על כל פלטפורמה למעט OS X ו- Windows, כי הפונקציות אלה לא נכללו ב libturbojpeg mapfile. זו תוקנה.
  • שוחזר JPP (), JMETHOD (), ואת פקודות מאקרו FAR בתיקי libjpeg-טורבו הכותרת. JPP () ו JMETHOD () פקודות מאקרו יושמו במקור libjpeg כדרך לתמוך מהדרים שאינם ANSI כי חסרה תמיכה פרמטרים אבטיפוס. libjpeg-טורבו מעולם לא תמך מהדרים כאלה, אבל כמה חבילות תוכנה עדיין להשתמש בפקודות מאקרו להגדיר טיפוס שלהם. באופן דומה, טורבו libjpeg מעולם לא תמך MS-DOS ופלטפורמות אחרות שיש להן סימנים כה, אך כמה חבילות תוכנה עדיין להשתמש במאקרו FAR. טען די טוב יכול להתבצע שזהו מנהג רע מצד התוכנה מדוברת, אבל מאז זה משפיע על יותר בחבילה אחת, זה פשוט קל יותר לתקן את זה כאן.
  • בעיות קבועות כי מונעות את קוד SIMD 64 סיבי ARM מ קומפילציה עבור iOS, וכלל ארכיטקטורת ARMv8 בכל הבינאריים מותקנים על ידי & quot; רשמי & quot; libjpeg-טורבו SDK עבור OS X.

מה חדש בגירסה 1.4.0:

  • תוקן בעיה לבנות על פלטפורמות OS X PowerPC ( md5cmp הצליח לבנות בגלל OS X אינו מספק את le32toh () ו htole32 () פונקציות.).
  • קוד המרת צבעי RGB565 הלא SIMD לא עבד כראוי על מכונות endian גדולות. זו תוקנה.
  • תוקנה בעיה ב tjPlaneSizeYUV () לפיו יחזור בטעות 1 במקום -1 אם componentID היה & gt; 0 ו subsamp היה TJSAMP_GRAY.
  • תוקנה בעיה ב tjBufSizeYUV2 () wherby זה היה בטעות לחזור 0 במקום -1 אם רוחב היה & lt; 1.
  • מקודד האפמן משתמש כעת clz ו ב.ס.ר הוראות קצת סומכים פלטפורמות ARM64.
  • קרוב (שיטה) של כיתות ג 'אווה TJCompressor ו TJDecompressor כעת idempotent. בעבר, השיטה שבה יקרא tjDestroy הילידים (פונקציה) גם אם למשל TurboJPEG כבר הושמדו. זה גרם לחריגה להיזרק במהלך השלמה, אם קרוב (השיטה) כבר נקראה. החריג נתפס, אבל זה עדיין היה מבצע יקר.
  • API TurboJPEG שנוצר בעבר שגיאה (& quot; לא ניתן לקבוע את סוג subsampling עבור תמונת JPEG & quot;) כאשר מנסים לשחרר תמונות JPEG בגווני אפור שהיו דחוסים עם גורם דגימה למעט 1 (למשל, עם "cjpeg -grayscale - 2x2 מדגם '). Subsampling אין משמעות טכנית עם תמונות JPEG בגוונים אפורים, וכך גורמי דגימה האופקיים ואנכיים עבור תמונות כאלה הם התעלמו ידי הדחיסה. עם זאת, TurboJPEG API היה להיות נוקשה מדי ציפה הגורמים הדגימה להיות שווה ל 1 לפני שהוא מטופל את התמונה כקובץ JPEG בגווני אפור.
  • cjpeg, djpeg, ו jpegtran עכשיו לקבל טענה של -version, אשר תדפיס את גרסת הספרייה ויציאה.
  • בהתייחסו 1.4 beta1 [15], אחר נסיבות נדירות מאוד התגלתה לפיו למאגר המקומי של מקודד האפמן יכול להיות מוצף כאשר מנהל יעד שנאגר נמצא בשימוש, בלוק מאוד בתדר גבוה (בעצם נתוני תמונת זבל) הוא להיות מקודד. למרות למאגר המקומי האפמן הוגדל מ 128 בתים ל -136 בתים להתייחס לנושא הקודם, בגיליון החדש וגרם אפילו חיץ גדול כדי להיות מוצף. ניתוח נוסף מגלה כי, במקרה הרע המוחלט (כגון הגדרת מקדמי AC לסירוגין כדי 32767 ו -32,768 בסדר סריקת JPEG), מקודד האפמן יכול לייצר בלוקים מקודדים כי גישה כפולה בגודל של אבן unencoded. לפיכך, למאגר המקומי האפמן הוגדל ל 256 בתים, אשר אמור למנוע כל בעיה כזו מחדש התרחשות בעתיד.
  • tjPlaneSizeYUV החדש (), tjPlaneWidth () ולאחר tjPlaneHeight (פונקציות) לא היו ממש שמישות על כל פלטפורמה למעט OS X ו- Windows, כי הפונקציות אלה לא נכללו ב libturbojpeg mapfile. זו תוקנה.
  • שוחזר JPP (), JMETHOD (), ואת פקודות מאקרו FAR בתיקי libjpeg-טורבו הכותרת. JPP () ו JMETHOD () פקודות מאקרו יושמו במקור libjpeg כדרך לתמוך מהדרים שאינם ANSI כי חסרה תמיכה פרמטרים אבטיפוס. libjpeg-טורבו מעולם לא תמך מהדרים כאלה, אבל כמה חבילות תוכנה עדיין להשתמש בפקודות מאקרו להגדיר טיפוס שלהם. באופן דומה, טורבו libjpeg מעולם לא תמך MS-DOS ופלטפורמות אחרות שיש להן סימנים כה, אך כמה חבילות תוכנה עדיין להשתמש במאקרו FAR. טען די טוב יכול להתבצע שזהו מנהג רע מצד התוכנה מדוברת, אבל מאז זה משפיע על יותר בחבילה אחת, זה פשוט קל יותר לתקן את זה כאן.
  • בעיות קבועות כי מונעות את קוד SIMD 64 סיבי ARM מ קומפילציה עבור iOS, וכלל ארכיטקטורת ARMv8 בכל הבינאריים מותקנים על ידי & quot; רשמי & quot; libjpeg-טורבו SDK עבור OS X.

מה חדש בגרסת 1.3.0:

  • [1] "לעשות מבחן" עובד עכשיו כמו שצריך על FreeBSD, וזה כבר לא דורש הפעלת md5sum להיות נוכח בפלטפורמות אחרות Un * x.
  • [2] שפץ מערכת האריזה: - כדי למנוע עימות עם המסופק על-ידי ספק חבילות libjpeg-טורבו, RPMs הרשמי דבס עבור טורבו libjpeg שינו את השם ל & quot; libjpeg-טורבו-רשמי & quot ;. - ספריות TurboJPEG כיום ממוקמות תחת / opt / libjpeg-טורבו בחבילה לינוקס ו- Mac הרשמית, כדי למנוע עימות עם חבילות שסופק על-ידי ספק וגם לייעל את מערכת האריזה. - חבילות שחרור נוצרות עכשיו עם מבנה הספריות שהוגדרו על ידי משתנים configure & quot; הקידומת & quot ;, & quot; bindir & quot ;, & quot; libdir & quot ;, וכו (Un * x) או על ידי המשתנה CMAKE_INSTALL_PREFIX (Windows.) היוצא מן הכלל הוא כי Docs תמיד נמצאים תחת ספריית תיעוד ברירת המחדל של המערכת על Un * x ומערכות Mac ו- Windows, ה- DLL TurboJPEG ממוקם תמיד בספריית המערכת Windows. - כדי למנוע בלבול, חבילות libjpeg-טורבו רשמי על פלטפורמות לינוקס / יוניקס (למעט Mac) תמיד יהיה להתקין את ספריות 32 ביט / opt / libjpeg-טורבו / lib32 ואת ספריות 64 ביט / opt / libjpeg- טורבו / lib64. - תוקן בעיה לפיה, במקרים מסוימים, ההרצה טורבו libjpeg על Un * x מערכות לא היו מקשרת כהלכה עם הספריות המשותפות מותקן כברירה באותה האריזה. - תוקנה בעיה לפיה בניית & quot; מתקין & quot; למקד ב- Windows כאשר WITH_JAVA = 1 ייכשל אם JAR TurboJPEG לא נבנו בעבר. - בונים את & quot; התקן & quot; יעד על Windows חברה מתקין קבצים לתוך באותם המקומות כי המתקין עושה.
  • [3] תוקן באג מקודד האפמן שמנעו I / O השעיה מעבודה כראוי.

מה חדש בגירסה 1.2.0:

  • בעיית הצטברות נתקלו בעת שימוש YASM על מערכות יוניקס נקבע.
  • out-of-גבולות לקרוא בקוד SIMD SSE2 נקבע.
  • קבוע תוסף חדש צבעים המאפשרים יישומים לציין כי בייט בשימוש במאגר RGB 4 בתים יש להתייחס כאל ערוץ אלפא כאשר לחץ תוך נוספו.
  • בעיית רגרסיה נתקל בעת בניית השטן עם libjpeg-טורבו נקבע.
  • תמיכה iOS נוספה SDK-טורבו libjpeg עבור Mac.

מה חדש בגירסה 1.1 Beta 1:

  • libjpeg-טורבו ניתן לבנות לחקות את libjpeg API v7 או v8b / ABI.
  • המערכת לבנות Windows משתמש כעת CMake.
  • TurboJPEG / OSS יכול עכשיו לדחוס מ / לשחרר לחץ כדי מפת סיביות בגווני אפור להמיר תמונות RGB או JPEG פלט מישוריים YUV.
  • jpgtest ניתן להשתמש כדי לבדוק את הביצועים דקומפרסיה עם תמונות JPEG קיימים.
  • פענוח קידוד אריתמטי אופציונלי תמיכה נוספה.
  • גינות בהמשך נוספו נגד קודי האפמן חוקיים.

מה חדש בגירסה 1.0.0:.

  • בהמשך לבנות שיפורים על FreeBSD
  • חבילות יוניקס / לינוקס כוללות כעת libjpeg זמן ריצה תוכניות (cjpeg, וכו ') ודפי אדם.
  • יש חבילה משלים 32 סיביות עבור מערכות דביאן amd64.
  • תמיכה Cygwin.
  • תמיכה מלאה לבנייה / בדיקות על ארכיטקטורות שאינם x86.
  • 64-bit OS X הבינאריים נמצאים כעת תואם לאחור עם OS X 10.4.
  • יש tweaks לינוקס האריזה שונה.

מה חדש בגירסה 0.0.91:

  • נוסף תיעוד .deb חבילות
  • בעיות שחיתות נתונים קבועים כאשר לחץ תוך תמונות JPEG גדולות ו / או באמצעות שנאגר I / O עם מבטל הדחיסה-טורבו libjpeg

תוכנות אחרות של יזם D. R. Commander

TurboVNC
TurboVNC

3 Jun 15

VirtualGL
VirtualGL

7 Mar 16

תגובות ל libjpeg-turbo

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!