• 大小: 1.8MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: C/C++
  • 标签: 开源代码  jpeg解码  C  

资源简介

开源的JPEG格式图片解码C语言程序库,其中包含已移植的avr,pic单片机版本以及原始的VC版本。本人亲测,移植到stm32f103单片机中,正常使用,效果非常好。其特点是可以解码所有的jpeg格式图片。本人在项目中选用的一款摄像头给出的编码后的jpeg图片非常规格式。主流的jpeg解码程序库无法正常解码。使用该程序库后可正常解码。

资源截图

代码片段和文件信息

/*------------------------------------------------------------------------/
/  MARYEX-OB OLED display control module
/-------------------------------------------------------------------------/
/
/  Copyright (C) 2011 ChaN all right reserved.
/
/ * This software is a free software and there is NO WARRANTY.
/ * No restriction on use. You can use modify and redistribute it for
/   personal non-profit or commercial products UNDER YOUR RESPONSIBILITY.
/ * Redistributions of source code must retain the above copyright notice.
/
/-------------------------------------------------------------------------*/

#include 
#include “disp.h“
#include “xprintf.h“
#include “uart.h“


static int MaskT MaskL MaskR MaskB; /* Active drawing area */
static int LocX LocY;
static uint32_t ChrColor; /* Current character color ((bg << 16) + fg) */
static const uint8_t *FontS; /* Current font (ANK) */
#if DISP_USE_DBCS
static const uint8_t *FontD; /* Current font (Kanji) */
static uint8_t Sjis1; /* Sjis leading byte */
#endif





/*-----------------------------------------------------*/
/* OLED module access functions                        */

#define POWER_LOW() _LATB5 = 0
#define POWER_HIGH() _LATB5 = 1
#define RES_LOW() _LATB6 = 0
#define RES_HIGH() _LATB6 = 1
#define CS_LOW() _LATB7 = 0
#define CS_HIGH() _LATB7 = 1

#define CMD_WR(d) send_cmd(d); /* Write a command byte to the OLED */
#define DATA_WRB(d) send_data(d); /* Write a data byte to the OLED */
#define DATA_WPX(d) { send_data(d >> 8); send_data(d); } /* Write a pixel to the OLED */


void send_cmd (
BYTE d

{
_LATB8 = 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x80) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x40) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x20) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x10) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x08) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x04) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x02) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x01) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
}



void send_data (
BYTE d

{
_LATB8 = 1;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x80) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x40) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x20) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x10) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x08) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x04) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x02) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x01) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
}



/*-----------------------------------------------------*/
/* Set rectangular area to be transferred              */

static
void disp_setrect (
int left /* Left end (0 to 127) */
int right /* Right end (0 to 127 >= left) */
int top /* Top end (0 to 127) */
int bottom /* Bottom end (0 to 1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2574  2010-08-11 02:45  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\diskio.h

     文件      21396  2011-10-04 19:53  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\disp.c

     文件       2702  2011-10-04 19:53  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\disp.h

     文件     141694  2011-09-05 23:01  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ff.c

     文件      12334  2011-09-05 13:42  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ff.h

     文件       7519  2011-10-01 19:20  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ffconf.h

     文件      13261  2011-10-04 19:54  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\font.c

     文件        856  2010-04-24 23:45  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\integer.h

     文件     106003  2011-10-04 22:06  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.map

     文件       2326  2011-10-04 23:03  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcp

     文件      10592  2011-10-04 23:03  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcs

     文件      36864  2011-10-04 23:03  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcw

     文件       9030  2011-10-01 21:59  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.png

     文件      16621  2011-10-04 19:53  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\main.c

     文件       2695  2007-12-24 13:13  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\Makefile

     文件      17018  2011-08-01 20:12  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\mmc.c

     文件        172  2011-10-01 19:05  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\pic24f.h

     文件         25  2011-10-01 19:32  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\pic24sp.ini

     文件      16556  2009-03-14 12:27  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\stdint.h

     文件        130  2008-02-10 01:18  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\test.bat

     文件      35288  2011-10-04 19:52  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tjpgd.c

     文件       2833  2011-10-04 22:05  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tjpgd.h

     文件         24  2011-09-05 23:33  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tt.ini

     文件       3317  2011-10-01 18:04  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\uart.c

     文件        235  2011-10-01 18:39  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\uart.h

     文件      10228  2011-07-10 21:05  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\xprintf.c

     文件       1386  2011-06-08 22:19  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\xprintf.h

     文件       1158  2011-12-06 03:50  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\redme.txt

     文件       1146  2009-12-09 21:45  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\tjpgd_avr\diskio.h

     文件      21107  2011-10-04 19:56  ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\tjpgd_avr\disp.c

............此处省略101个文件信息

评论

共有 条评论