@@ -14,7 +14,7 @@ mbed::DigitalOut video_rst(PJ_3);
14
14
15
15
extern " C" uint32_t JPEG_Decode_DMA (JPEG_HandleTypeDef *hjpeg, uint32_t FrameSourceAddress , uint32_t FrameSize, uint32_t DestAddress);
16
16
17
- static uint32_t AVI_FILE_ADDRESS = ((uint32_t )(0x90000000 )); // start of qspi flash, correct me later
17
+ static uint32_t AVI_FILE_ADDRESS = ((uint32_t )(0x90000000 ) + ( 2048 * 4096 ) ); // start of qspi flash, correct me later
18
18
19
19
/* Private macro -------------------------------------------------------------*/
20
20
/* Private variables ---------------------------------------------------------*/
@@ -62,6 +62,7 @@ void setup() {
62
62
63
63
delay (1000 );
64
64
65
+ /*
65
66
QSPIFBlockDevice* block_device = new QSPIFBlockDevice(PD_11, PD_12, PF_7, PD_13,
66
67
PF_10, PG_6, QSPIF_POLARITY_MODE_0, MBED_CONF_QSPIF_QSPI_FREQ);
67
68
block_device->init();
@@ -74,29 +75,35 @@ void setup() {
74
75
75
76
printf("QSPIF BD erase size (at address 0): %llu\n", sector_size_at_address_0);
76
77
77
- /*
78
78
char avi_header[] = {0x52, 0x49, 0x46, 0x46};
79
79
char *buffer = (char *) malloc(sector_size_at_address_0);
80
- int i = 2048 ;
80
+ int i = 0 ;
81
81
int res = 0;
82
- while (sector_size_at_address_0 * i < block_device. size()) {
83
- block_device. read(buffer, sector_size_at_address_0 * i, sector_size_at_address_0);
82
+ while (sector_size_at_address_0 * i < block_device-> size()) {
83
+ block_device-> read(buffer, i, sector_size_at_address_0);
84
84
res = KMP(avi_header, 4, buffer, sector_size_at_address_0);
85
85
if (res != -1) {
86
- break;
86
+ break;
87
87
}
88
88
i++;
89
89
}
90
- */
90
+
91
91
char *buffer = (char *) malloc(sector_size_at_address_0);
92
- block_device->read (buffer, 2048 * 4096 , sector_size_at_address_0);
92
+ block_device->read(buffer, 0, sector_size_at_address_0);
93
+ */
94
+
95
+ // AVI_FILE_ADDRESS = (((uint32_t)(ardulogo_avi)));
96
+ // DumpHex((void*)buffer, 40);
97
+
98
+ AVI_FILE_ADDRESS = ((uint32_t )(0x90000000 ));
99
+ // AVI_FILE_ADDRESS = (((uint32_t)(video_envie_avi)));
100
+
101
+ DumpHex ((void *)AVI_FILE_ADDRESS + 0x3210 , 40 );
93
102
94
- AVI_FILE_ADDRESS = (((uint32_t )(EnvieH7V1_0_4_avi))); // + (2048 * 4096))));
95
- // DumpHex((void*)AVI_FILE_ADDRESS, 40);
96
103
printf (" Address: %x\n " , AVI_FILE_ADDRESS);
97
104
98
105
// Deinitialize the device
99
- block_device->deinit ();
106
+ // block_device->deinit();
100
107
101
108
LCD_X_Size = stm32_getXSize ();
102
109
LCD_Y_Size = stm32_getYSize ();
@@ -226,6 +233,11 @@ void loop() {
226
233
/* ##-7- Get JPEG Info #############################################*/
227
234
HAL_JPEG_GetInfo (&JPEG_Handle, &JPEG_Info);
228
235
236
+ printf (" ChromaSubsampling: %x\n " , JPEG_Info.ChromaSubsampling );
237
+ printf (" w/h: %d : %d\n " , JPEG_Info.ImageWidth , JPEG_Info.ImageHeight );
238
+ printf (" ImageQuality: %d\n " , JPEG_Info.ImageQuality );
239
+ printf (" Colorspace: %d\n " , JPEG_Info.ColorSpace );
240
+
229
241
/* ##-8- Initialize the DMA2D #######################################*/
230
242
DMA2D_Init (JPEG_Info.ImageWidth , JPEG_Info.ImageHeight , JPEG_Info.ChromaSubsampling );
231
243
}
0 commit comments