Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
R
reform-boundary-uboot
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jack Humbert
reform-boundary-uboot
Commits
059ae173
Commit
059ae173
authored
21 years ago
by
Wolfgang Denk
Browse files
Options
Downloads
Patches
Plain Diff
Add files needed for bitmap load support
parent
824a1ebf
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
common/cmd_bmp.c
+118
-0
118 additions, 0 deletions
common/cmd_bmp.c
include/bmp_layout.h
+77
-0
77 additions, 0 deletions
include/bmp_layout.h
include/cmd_bmp.h
+44
-0
44 additions, 0 deletions
include/cmd_bmp.h
with
239 additions
and
0 deletions
common/cmd_bmp.c
0 → 100644
+
118
−
0
View file @
059ae173
/*
* (C) Copyright 2002
* Dtlev Zundel, DENX Software Engineering, dzu@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/*
* BMP handling routines
*/
#include
<common.h>
#include
<bmp_layout.h>
#include
<command.h>
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
static
int
bmp_info
(
ulong
addr
);
static
int
bmp_display
(
ulong
addr
);
/*
* Subroutine: do_bmp
*
* Description: Handler for 'bmp' command..
*
* Inputs: argv[1] contains the subcommand
*
* Return: None
*
*/
int
do_bmp
(
cmd_tbl_t
*
cmdtp
,
int
flag
,
int
argc
,
char
*
argv
[])
{
ulong
addr
;
switch
(
argc
)
{
case
2
:
/* use load_addr as default address */
addr
=
load_addr
;
break
;
case
3
:
/* use argument */
addr
=
simple_strtoul
(
argv
[
2
],
NULL
,
16
);
break
;
default:
printf
(
"Usage:
\n
%s
\n
"
,
cmdtp
->
usage
);
return
1
;
}
/* Allow for short names
* Adjust length if more sub-commands get added
*/
if
(
strncmp
(
argv
[
1
],
"info"
,
1
)
==
0
)
{
return
(
bmp_info
(
addr
));
}
else
if
(
strncmp
(
argv
[
1
],
"display"
,
1
)
==
0
)
{
return
(
bmp_display
(
addr
));
}
else
{
printf
(
"Usage:
\n
%s
\n
"
,
cmdtp
->
usage
);
return
1
;
}
}
/*
* Subroutine: bmp_info
*
* Description: Show information about bmp file in memory
*
* Inputs: addr address of the bmp file
*
* Return: None
*
*/
static
int
bmp_info
(
ulong
addr
)
{
bmp_image_t
*
bmp
=
(
bmp_image_t
*
)
addr
;
if
(
!
((
bmp
->
header
.
signature
[
0
]
==
'B'
)
&&
(
bmp
->
header
.
signature
[
1
]
==
'M'
)))
{
printf
(
"There is no valid bmp file at the given address
\n
"
);
return
(
1
);
}
printf
(
"Image size : %d x %d
\n
"
,
le32_to_cpu
(
bmp
->
header
.
width
),
le32_to_cpu
(
bmp
->
header
.
height
));
printf
(
"Bits per pixel: %d
\n
"
,
le16_to_cpu
(
bmp
->
header
.
bit_count
));
printf
(
"Compression : %d
\n
"
,
le32_to_cpu
(
bmp
->
header
.
compression
));
return
(
0
);
}
/*
* Subroutine: bmp_display
*
* Description: Display bmp file located in memory
*
* Inputs: addr address of the bmp file
*
* Return: None
*
*/
static
int
bmp_display
(
ulong
addr
)
{
extern
int
lcd_display_bitmap
(
ulong
);
return
(
lcd_display_bitmap
(
addr
));
}
#endif
/* (CONFIG_COMMANDS & CFG_CMD_BMP) */
This diff is collapsed.
Click to expand it.
include/bmp_layout.h
0 → 100644
+
77
−
0
View file @
059ae173
/* (C) Copyright 2002
* Detlev Zundel, DENX Software Engineering, dzu@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/************************************************************************/
/* ** Layout of a bmp file */
/************************************************************************/
#ifndef _BMP_H_
#define _BMP_H_
typedef
struct
bmp_color_table_entry
{
__u8
blue
;
__u8
green
;
__u8
red
;
__u8
reserved
;
}
__attribute__
((
packed
))
bmp_color_table_entry_t
;
/* When accessing these fields, remember that they are stored in little
endian format, so use linux macros, e.g. le32_to_cpu(width) */
typedef
struct
bmp_header
{
/* Header */
char
signature
[
2
];
__u32
file_size
;
__u32
reserved
;
__u32
data_offset
;
/* InfoHeader */
__u32
size
;
__u32
width
;
__u32
height
;
__u16
planes
;
__u16
bit_count
;
__u32
compression
;
__u32
image_size
;
__u32
x_pixels_per_m
;
__u32
y_pixels_per_m
;
__u32
colors_used
;
__u32
colors_important
;
/* ColorTable */
}
__attribute__
((
packed
))
bmp_header_t
;
typedef
struct
bmp_image
{
bmp_header_t
header
;
/* We use a zero sized array just as a placeholder for variable
sized array */
bmp_color_table_entry_t
color_table
[
0
];
}
bmp_image_t
;
/* Data in the bmp_image is aligned to this length */
#define BMP_DATA_ALIGN 4
/* Constants for the compression field */
#define BMP_BI_RGB 0
#define BMP_BI_RLE8 1
#define BMP_BI_RLE4 2
#endif
/* _BMP_H_ */
This diff is collapsed.
Click to expand it.
include/cmd_bmp.h
0 → 100644
+
44
−
0
View file @
059ae173
/* (C) Copyright 2002
* Detlev Zundel, DENX Software Engineering, dzu@denx.de.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/*
* Bitmap display support
*/
#ifndef _CMD_BMP_H
#define _CMD_BMP_H
#include
<common.h>
#include
<command.h>
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
#define CMD_TBL_BMP MK_CMD_TBL_ENTRY( \
"bmp", 3, 3, 1, do_bmp, \
"bmp - manipulate BMP image data\n", \
"\nbmp info <imageAddr> - display image info\n" \
"bmp display <imageAddr> - display image\n" \
),
int
do_bmp
(
cmd_tbl_t
*
cmdtp
,
int
flag
,
int
argc
,
char
*
argv
[]);
#else
#define CMD_TBL_BMP
#endif
#endif
/* _CMD_BMP_H */
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment