ส่งออกจาก http://code.google.com/p/picojpeg ผู้เขียนต้นฉบับคือ Rich Geldreich ที่ richgel99 ที่ gmail.com
picojpeg เป็นสาธารณสมบัติ JPEG decompressor ที่เขียนด้วยภาษา C ธรรมดาในไฟล์ต้นฉบับไฟล์เดียว picojpeg.c และส่วนหัวเดียว picojpeg.h มันมีคุณสมบัติที่ค่อนข้างพิเศษหลายประการที่ทำให้มีประโยชน์กับอุปกรณ์ฝังตัวขนาดเล็ก 8/16 บิตหรือในสภาพแวดล้อมที่จำกัดหน่วยความจำมาก:
picojpeg มีข้อเสียและปัญหาที่ทราบหลายประการเมื่อเปรียบเทียบกับการใช้งานอื่น:
picojpeg รูปแบบใกล้เคียงกันได้รับการคอมไพล์และดำเนินการบนไมโครคอนโทรลเลอร์ PIC18F4610 ของ Microchip ได้สำเร็จ โดยใช้คอมไพเลอร์แบบฝัง SourceBoost Technologies BoostC (โปรดส่งอีเมลหากคุณต้องการดูตัวแปรนี้) picojpeg.c ยังใช้กับซีพียู MSP430 และ ARM Cortex-M4 อีกด้วย (สำหรับตัวอย่างการใช้งาน โปรดดูที่การใช้ไลบรารี picojpeg บน PIC ที่มีโมดูล LCD 320x240 ILI9341)
การกระจายแหล่งที่มาประกอบด้วยโปรเจ็กต์ VS2005 ตัวอย่างและไฟล์ปฏิบัติการบรรทัดคำสั่ง Win32/Win64 ที่คอมไพล์แล้วซึ่งแปลงไฟล์ JPG เป็น TGA โดยใช้ picojpeg สำหรับการขยายการบีบอัด โมดูล stb_image.c ซึ่งเป็นโดเมนสาธารณะของ Sean Barrett ใช้เพื่อเขียนไฟล์ TGA
เดิมที picojpeg มีพื้นฐานมาจากคลาส jpgd decompressor C++ ของฉัน ซึ่ง (บน CPU สมัยใหม่) นั้นเร็วกว่าและมีความสามารถมากกว่า picojpeg.c แต่ใช้หน่วยความจำมากกว่ามากและถือว่า int เป็น 32 บิต
นี่คือ picojpeg ที่ทำงานบน CPU 6809 (คอมพิวเตอร์ Tandy Color 3) รวบรวมโดยใช้ gcc6809: picojpeg: การถอดรหัส Lena บนคอมพิวเตอร์ Tandy Color 3
เวอร์ชัน 1.1 - 23/03/2020: แก้ไขปัญหาที่ไม่ได้ลงนาม/ลงนามในมาโคร แก้ไขปัญหาโอเวอร์โฟลว์ในตัวถอดรหัสที่ป้องกันการถอดรหัสของ JPEG ที่มีขนาดใหญ่มาก
v1.1 - 19 กุมภาพันธ์ 2556: ได้รับอนุญาตแบบคู่ทั้งที่เป็นสาธารณสมบัติและ (ในกรณีที่ไม่ยอมรับสาธารณสมบัติ) ใบอนุญาต MIT กรุณาติดต่อฉันสำหรับแหล่งที่มาลดลง
เวอร์ชัน 1.1 - 9 กุมภาพันธ์ 2556: ปรับลูปแถว/คอลัมน์ IDCT ให้เหมาะสมเพื่อหลีกเลี่ยงการแปลงกลับแบบสมบูรณ์เมื่อส่วนประกอบ DC เท่านั้นที่ไม่เป็นศูนย์ เพิ่มโหมด "ลด" เพื่อการถอดรหัสความละเอียด 1/8 ที่รวดเร็ว การจัดการข้อผิดพลาดที่ดีขึ้น เพิ่มการรองรับปัจจัยการสุ่มตัวอย่างโครมา H2V1/H1V2 ย้ายพอร์ต jpg2tga.cpp เป็น jpg2jpg.c (ดังนั้นโมดูลทั้งหมดจึงเขียนด้วยภาษา C ธรรมดาตอนนี้) เพิ่มโค้ด เพื่อเปรียบเทียบเอาต์พุตที่ถอดรหัสของ picojpeg กับ stb_image'c สำหรับการทดสอบ/การตรวจสอบ
v1.0 - 10 พฤศจิกายน 2553: การเปิดตัวครั้งแรก มาจากเวอร์ชันดั้งเดิมซึ่งทดสอบกับ CPU ซีรีส์ PIC18F
ขอขอบคุณ Daniel Swenson [email protected] ที่สนับสนุนการพัฒนาของ picojpeg และ Chris Phoenix [email protected] สำหรับแพตช์ MSP430 ของเขา
หากมีคำถามหรือปัญหาเกี่ยวกับโมดูลนี้ โปรดติดต่อ Rich Geldreich ที่ richgel99 ที่ gmail.com นี่คือหน้าทวิตเตอร์ของฉัน