gk7205v200-uboot/cmd/cmd_dec.c
2025-08-07 17:13:54 +08:00

74 lines
1.4 KiB
C
Executable File

/*
* Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved.
*/
#include <common.h>
#include <command.h>
#ifdef CONFIG_GODNET
#include <godnet_vo.h>
#endif
#ifdef CONFIG_GODARM
#include <godarm_vo.h>
#endif
extern int load_jpeg(void);
extern int jpeg_decode(unsigned int format);
int do_jpgd(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
{
int ret;
unsigned int format;
if (argc < 2) {
printf("Insufficient parameter!\n");
printf("Usage:\n%s\n", cmdtp->usage);
return -1;
}
format = (unsigned int)simple_strtoul(argv[1], NULL, 10);
#ifdef RGB_OUTPUT_ENABLE
if (format > 2) {
#else
if (format != 0) {
#endif
printf("Invalid parameter!\n");
return -1;
}
#ifdef CONFIG_SYS_LONGHELP
printf("you should first set:\n%s\n", cmdtp->help);
#endif
ret = load_jpeg();
if (ret != 0) {
printf("load jpeg err. \n");
//todo return 0 or ret?
return 0;
}
jpeg_decode(format);
printf("decode jpeg!\n");
return 0;
}
U_BOOT_CMD(
decjpg, CFG_MAXARGS, 1, do_jpgd,
"jpgd - decode jpeg picture.\n"
"decjpg [format]",
"\nargs: [format]\n"
#ifdef RGB_OUTPUT_ENABLE
"\t-<format> : 0: semi-plannar yvu420, 1: ARGB1555, 2: ARGB8888\n"
#else
"\t-<format> : 0: semi-plannar yvu420\n"
#endif
"\t- setenv jpeg_addr 0x--------\n"
"\t- setenv jpeg_size 0x--------\n"
"\t- setenv vobuf 0x--------\n"
"\t- setenv jpeg_emar_buf 0x--------\n"
);