Lines Matching refs:hjpeg

455 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeD…
457 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeD…
459 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg);
460 static void JPEG_Set_Huff_DHTMem(const JPEG_HandleTypeDef *hjpeg);
461 static uint32_t JPEG_Set_Quantization_Mem(const JPEG_HandleTypeDef *hjpeg, const uint8_t *QTable,
463 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg);
464 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg);
465 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg);
467 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg);
468 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg);
469 static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords);
470 static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords);
471 static uint32_t JPEG_GetQuality(const JPEG_HandleTypeDef *hjpeg);
473 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg);
474 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg);
475 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg);
476 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg);
512 HAL_StatusTypeDef HAL_JPEG_Init(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Init() argument
539 if (hjpeg == NULL) in HAL_JPEG_Init()
545 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
548 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
550 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_Init()
551 hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_Init()
552 hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_Init()
553 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_Init()
554 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_Init()
555 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_Init()
557 if (hjpeg->MspInitCallback == NULL) in HAL_JPEG_Init()
559 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_Init()
563 hjpeg->MspInitCallback(hjpeg); in HAL_JPEG_Init()
566 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
569 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
572 HAL_JPEG_MspInit(hjpeg); in HAL_JPEG_Init()
577 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_Init()
580 __HAL_JPEG_ENABLE(hjpeg); in HAL_JPEG_Init()
583 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Init()
586 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Init()
589 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Init()
592 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Init()
593 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Init()
596 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Init()
599 hjpeg->QuantTable0 = (uint8_t *)((uint32_t)JPEG_LUM_QuantTable); in HAL_JPEG_Init()
600 hjpeg->QuantTable1 = (uint8_t *)((uint32_t)JPEG_CHROM_QuantTable); in HAL_JPEG_Init()
601 hjpeg->QuantTable2 = NULL; in HAL_JPEG_Init()
602 hjpeg->QuantTable3 = NULL; in HAL_JPEG_Init()
605 if (JPEG_Set_HuffEnc_Mem(hjpeg) != HAL_OK) in HAL_JPEG_Init()
607 hjpeg->ErrorCode = HAL_JPEG_ERROR_HUFF_TABLE; in HAL_JPEG_Init()
613 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_Init()
616 hjpeg->JpegInCount = 0; in HAL_JPEG_Init()
617 hjpeg->JpegOutCount = 0; in HAL_JPEG_Init()
620 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Init()
623 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_Init()
626 hjpeg->Context = 0; in HAL_JPEG_Init()
638 HAL_StatusTypeDef HAL_JPEG_DeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DeInit() argument
641 if (hjpeg == NULL) in HAL_JPEG_DeInit()
647 if (hjpeg->MspDeInitCallback == NULL) in HAL_JPEG_DeInit()
649 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_DeInit()
653 hjpeg->MspDeInitCallback(hjpeg); in HAL_JPEG_DeInit()
657 HAL_JPEG_MspDeInit(hjpeg); in HAL_JPEG_DeInit()
661 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DeInit()
664 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_DeInit()
667 hjpeg->JpegInCount = 0; in HAL_JPEG_DeInit()
668 hjpeg->JpegOutCount = 0; in HAL_JPEG_DeInit()
671 hjpeg->State = HAL_JPEG_STATE_RESET; in HAL_JPEG_DeInit()
674 hjpeg->Context = 0; in HAL_JPEG_DeInit()
677 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DeInit()
689 __weak void HAL_JPEG_MspInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspInit() argument
692 UNUSED(hjpeg); in HAL_JPEG_MspInit()
705 __weak void HAL_JPEG_MspDeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspDeInit() argument
708 UNUSED(hjpeg); in HAL_JPEG_MspDeInit()
730 HAL_StatusTypeDef HAL_JPEG_RegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef C… in HAL_JPEG_RegisterCallback() argument
738 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
742 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterCallback()
744 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterCallback()
749 hjpeg->EncodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
753 hjpeg->DecodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
757 hjpeg->ErrorCallback = pCallback; in HAL_JPEG_RegisterCallback()
761 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
765 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
770 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
776 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_RegisterCallback()
781 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
785 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
790 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
799 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
805 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterCallback()
822 HAL_StatusTypeDef HAL_JPEG_UnRegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef… in HAL_JPEG_UnRegisterCallback() argument
827 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
829 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
834hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
838hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
842 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_UnRegisterCallback()
846 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
850 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_UnRegisterCallback()
855 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
861 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
866 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
870 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
875 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
884 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
890 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
901 HAL_StatusTypeDef HAL_JPEG_RegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterInfoReadyCallback() argument
909 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
913 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
915 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterInfoReadyCallback()
917 hjpeg->InfoReadyCallback = pCallback; in HAL_JPEG_RegisterInfoReadyCallback()
922 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
928 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
938 HAL_StatusTypeDef HAL_JPEG_UnRegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterInfoReadyCallback() argument
943 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
945 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterInfoReadyCallback()
947 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_UnRegisterInfoReadyCallback()
952 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterInfoReadyCallback()
958 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
969 HAL_StatusTypeDef HAL_JPEG_RegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg, pJPEG_GetDataCallback… in HAL_JPEG_RegisterGetDataCallback() argument
976 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
980 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
982 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterGetDataCallback()
984 hjpeg->GetDataCallback = pCallback; in HAL_JPEG_RegisterGetDataCallback()
989 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
995 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
1005 HAL_StatusTypeDef HAL_JPEG_UnRegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterGetDataCallback() argument
1010 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
1012 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterGetDataCallback()
1014 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_UnRegisterGetDataCallback()
1019 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterGetDataCallback()
1025 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
1036 HAL_StatusTypeDef HAL_JPEG_RegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterDataReadyCallback() argument
1044 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1048 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1050 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterDataReadyCallback()
1052 hjpeg->DataReadyCallback = pCallback; in HAL_JPEG_RegisterDataReadyCallback()
1057 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1063 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1073 HAL_StatusTypeDef HAL_JPEG_UnRegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterDataReadyCallback() argument
1078 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1080 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterDataReadyCallback()
1082 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_UnRegisterDataReadyCallback()
1087 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterDataReadyCallback()
1093 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1129 HAL_StatusTypeDef HAL_JPEG_ConfigEncoding(JPEG_HandleTypeDef *hjpeg, const JPEG_ConfTypeDef *pConf) in HAL_JPEG_ConfigEncoding() argument
1139 if ((hjpeg == NULL) || (pConf == NULL)) in HAL_JPEG_ConfigEncoding()
1151 __HAL_LOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1153 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_ConfigEncoding()
1155 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_ConfigEncoding()
1157 hjpeg->Conf.ColorSpace = pConf->ColorSpace; in HAL_JPEG_ConfigEncoding()
1158 hjpeg->Conf.ChromaSubsampling = pConf->ChromaSubsampling; in HAL_JPEG_ConfigEncoding()
1159 hjpeg->Conf.ImageHeight = pConf->ImageHeight; in HAL_JPEG_ConfigEncoding()
1160 hjpeg->Conf.ImageWidth = pConf->ImageWidth; in HAL_JPEG_ConfigEncoding()
1161 hjpeg->Conf.ImageQuality = pConf->ImageQuality; in HAL_JPEG_ConfigEncoding()
1164 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1167 if (hjpeg->Conf.ColorSpace == JPEG_GRAYSCALE_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1170 hjpeg->Conf.ChromaSubsampling = JPEG_444_SUBSAMPLING; in HAL_JPEG_ConfigEncoding()
1172 JPEG_SetColorGrayScale(hjpeg); in HAL_JPEG_ConfigEncoding()
1174 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1176 else if (hjpeg->Conf.ColorSpace == JPEG_YCBCR_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1182 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_0; in HAL_JPEG_ConfigEncoding()
1184 JPEG_SetColorYCBCR(hjpeg); in HAL_JPEG_ConfigEncoding()
1187 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1189 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1191 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1195 hjpeg->Instance->CONFR1 &= (~JPEG_CONFR1_COLORSPACE); in HAL_JPEG_ConfigEncoding()
1196 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_1; in HAL_JPEG_ConfigEncoding()
1198 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1201 hjpeg->Instance->CONFR5 &= (~JPEG_CONFR5_QT); in HAL_JPEG_ConfigEncoding()
1202 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1205 hjpeg->Instance->CONFR6 &= (~JPEG_CONFR6_QT); in HAL_JPEG_ConfigEncoding()
1206 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1211 JPEG_SetColorCMYK(hjpeg); in HAL_JPEG_ConfigEncoding()
1214 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1217 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1221 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1223 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1224 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1225 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable3, (hjpeg->Instance->QMEM3)); in HAL_JPEG_ConfigEncoding()
1228 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1231 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1234 hjpeg->Instance->CONFR7 |= JPEG_CONFR7_QT; in HAL_JPEG_ConfigEncoding()
1240 hjpeg->ErrorCode = HAL_JPEG_ERROR_QUANT_TABLE; in HAL_JPEG_ConfigEncoding()
1243 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1246 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1252 …MODIFY_REG(hjpeg->Instance->CONFR1, JPEG_CONFR1_YSIZE, ((hjpeg->Conf.ImageHeight & 0x0000FFFFUL) <… in HAL_JPEG_ConfigEncoding()
1254 …MODIFY_REG(hjpeg->Instance->CONFR3, JPEG_CONFR3_XSIZE, ((hjpeg->Conf.ImageWidth & 0x0000FFFFUL) <<… in HAL_JPEG_ConfigEncoding()
1257 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) /* 4:2:0*/ in HAL_JPEG_ConfigEncoding()
1262 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) /* 4:2:2*/ in HAL_JPEG_ConfigEncoding()
1273 hMCU = (hjpeg->Conf.ImageWidth / hfactor); in HAL_JPEG_ConfigEncoding()
1274 if ((hjpeg->Conf.ImageWidth % hfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1279 vMCU = (hjpeg->Conf.ImageHeight / vfactor); in HAL_JPEG_ConfigEncoding()
1280 if ((hjpeg->Conf.ImageHeight % vfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1287 hjpeg->Instance->CONFR2 = (numberMCU & JPEG_CONFR2_NMCU); in HAL_JPEG_ConfigEncoding()
1289 hjpeg->Context |= JPEG_CONTEXT_CONF_ENCODING; in HAL_JPEG_ConfigEncoding()
1292 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1295 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1303 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1319 HAL_StatusTypeDef HAL_JPEG_GetInfo(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_GetInfo() argument
1326 if ((hjpeg == NULL) || (pInfo == NULL)) in HAL_JPEG_GetInfo()
1332 if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF_1) in HAL_JPEG_GetInfo()
1336 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == 0UL) in HAL_JPEG_GetInfo()
1340 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF) in HAL_JPEG_GetInfo()
1349 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1350 pInfo->ImageWidth = (hjpeg->Instance->CONFR3 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1354 yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; in HAL_JPEG_GetInfo()
1355 cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; in HAL_JPEG_GetInfo()
1356 cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; in HAL_JPEG_GetInfo()
1380 pInfo->ImageQuality = JPEG_GetQuality(hjpeg); in HAL_JPEG_GetInfo()
1392 HAL_StatusTypeDef HAL_JPEG_EnableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EnableHeaderParsing() argument
1395 __HAL_LOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1397 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_EnableHeaderParsing()
1400 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_EnableHeaderParsing()
1403 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_EnableHeaderParsing()
1406 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1409 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_EnableHeaderParsing()
1416 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1428 HAL_StatusTypeDef HAL_JPEG_DisableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DisableHeaderParsing() argument
1431 __HAL_LOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1433 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_DisableHeaderParsing()
1436 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DisableHeaderParsing()
1439 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_HDR; in HAL_JPEG_DisableHeaderParsing()
1442 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1445 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_DisableHeaderParsing()
1452 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1475 HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable0, uint8_t… in HAL_JPEG_SetUserQuantTables() argument
1479 __HAL_LOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1481 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_SetUserQuantTables()
1484 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_SetUserQuantTables()
1486 hjpeg->Context |= JPEG_CONTEXT_CUSTOM_TABLES; in HAL_JPEG_SetUserQuantTables()
1488 hjpeg->QuantTable0 = QTable0; in HAL_JPEG_SetUserQuantTables()
1489 hjpeg->QuantTable1 = QTable1; in HAL_JPEG_SetUserQuantTables()
1490 hjpeg->QuantTable2 = QTable2; in HAL_JPEG_SetUserQuantTables()
1491 hjpeg->QuantTable3 = QTable3; in HAL_JPEG_SetUserQuantTables()
1494 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1497 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_SetUserQuantTables()
1505 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1550 HAL_StatusTypeDef HAL_JPEG_Encode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataL… in HAL_JPEG_Encode() argument
1560 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode()
1565 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode()
1567 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1570 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1575 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1577 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode()
1580 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode()
1583 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode()
1584 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Encode()
1590 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode()
1591 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode()
1592hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /* In Data length must be multiple in HAL_JPEG_Encode()
1594hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /* Out Data length must be multiple in HAL_JPEG_Encode()
1598 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode()
1599 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode()
1602 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode()
1605 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Encode()
1613 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Encode()
1616 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1619 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1627 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1630 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1636 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1656 HAL_StatusTypeDef HAL_JPEG_Decode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataLeng… in HAL_JPEG_Decode() argument
1666 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode()
1672 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode()
1677 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode()
1680 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode()
1684 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode()
1685 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Decode()
1688 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode()
1689 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode()
1690 hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Decode()
1692 hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Decode()
1696 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode()
1697 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode()
1700 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode()
1703 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Decode()
1711 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Decode()
1714 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1717 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1725 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1728 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1734 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1752 HAL_StatusTypeDef HAL_JPEG_Encode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDa… in HAL_JPEG_Encode_IT() argument
1760 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_IT()
1766 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_IT()
1768 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_IT()
1771 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1777 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_IT()
1780 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_IT()
1783 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_IT()
1784 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_IT); in HAL_JPEG_Encode_IT()
1787 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_IT()
1788 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_IT()
1789hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Encode_IT()
1791hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Encode_IT()
1795 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_IT()
1796 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_IT()
1799 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_IT()
1805 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1824 HAL_StatusTypeDef HAL_JPEG_Decode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataL… in HAL_JPEG_Decode_IT() argument
1832 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_IT()
1838 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_IT()
1840 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_IT()
1843 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_IT()
1846 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_IT()
1847 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_IT); in HAL_JPEG_Decode_IT()
1850 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_IT()
1851 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_IT()
1852 hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Decode_IT()
1854 hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Decode_IT()
1858 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_IT()
1859 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_IT()
1862 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_IT()
1868 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_IT()
1886 HAL_StatusTypeDef HAL_JPEG_Encode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InD… in HAL_JPEG_Encode_DMA() argument
1894 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_DMA()
1900 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1902 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_DMA()
1905 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1911 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_DMA()
1914 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_DMA()
1917 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_DMA()
1918 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Encode_DMA()
1921 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_DMA()
1922 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_DMA()
1923 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Encode_DMA()
1924 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Encode_DMA()
1927 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_DMA()
1928 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_DMA()
1931 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_DMA()
1934 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Encode_DMA()
1937 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Encode_DMA()
1939 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1948 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1967 HAL_StatusTypeDef HAL_JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InData… in HAL_JPEG_Decode_DMA() argument
1975 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_DMA()
1981 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_DMA()
1983 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_DMA()
1986 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_DMA()
1989 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_DMA()
1990 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Decode_DMA()
1993 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_DMA()
1994 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_DMA()
1995 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Decode_DMA()
1996 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Decode_DMA()
1999 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_DMA()
2000 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_DMA()
2003 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_DMA()
2006 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Decode_DMA()
2009 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Decode_DMA()
2011 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
2019 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
2037 HAL_StatusTypeDef HAL_JPEG_Pause(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Pause() argument
2043 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Pause()
2047 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2052 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2055 JPEG_DISABLE_DMA(hjpeg, mask); in HAL_JPEG_Pause()
2058 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Pause()
2063 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2068 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2071 __HAL_JPEG_DISABLE_IT(hjpeg, mask); in HAL_JPEG_Pause()
2093 HAL_StatusTypeDef HAL_JPEG_Resume(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Resume() argument
2099 if ((hjpeg->Context & (JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)) == 0UL) in HAL_JPEG_Resume()
2105 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Resume()
2110 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2115 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in HAL_JPEG_Resume()
2117 if (hjpeg->InDataLength > 0UL) in HAL_JPEG_Resume()
2120 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in HAL_JPEG_Resume()
2121 hjpeg->InDataLength) != HAL_OK) in HAL_JPEG_Resume()
2123 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Resume()
2124 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Resume()
2131 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2133 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in HAL_JPEG_Resume()
2135 JPEG_DMA_PollResidualData(hjpeg); in HAL_JPEG_Resume()
2142 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in HAL_JPEG_Resume()
2143 hjpeg->OutDataLength) != HAL_OK) in HAL_JPEG_Resume()
2145 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Resume()
2146 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Resume()
2152 JPEG_ENABLE_DMA(hjpeg, mask); in HAL_JPEG_Resume()
2155 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Resume()
2159 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2164 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2167 __HAL_JPEG_ENABLE_IT(hjpeg, mask); in HAL_JPEG_Resume()
2187 void HAL_JPEG_ConfigInputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewInputBuffer, uint32_t InDat… in HAL_JPEG_ConfigInputBuffer() argument
2189 hjpeg->pJpegInBuffPtr = pNewInputBuffer; in HAL_JPEG_ConfigInputBuffer()
2190 hjpeg->InDataLength = InDataLength; in HAL_JPEG_ConfigInputBuffer()
2201 void HAL_JPEG_ConfigOutputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewOutputBuffer, uint32_t Out… in HAL_JPEG_ConfigOutputBuffer() argument
2203 hjpeg->pJpegOutBuffPtr = pNewOutputBuffer; in HAL_JPEG_ConfigOutputBuffer()
2204 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_ConfigOutputBuffer()
2213 HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Abort() argument
2217 tmpContext = hjpeg->Context; in HAL_JPEG_Abort()
2220hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_D… in HAL_JPEG_Abort()
2225 if (HAL_DMA_Abort(hjpeg->hdmaout) != HAL_OK) in HAL_JPEG_Abort()
2227 if (hjpeg->hdmaout->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2229 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2232 if (HAL_DMA_Abort(hjpeg->hdmain) != HAL_OK) in HAL_JPEG_Abort()
2234 if (hjpeg->hdmain->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2236 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2243 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Abort()
2249 while (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_COF) != 0UL) in HAL_JPEG_Abort()
2255 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Abort()
2258 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2264 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Abort()
2267 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Abort()
2270 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Abort()
2271 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Abort()
2274 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Abort()
2277 hjpeg->JpegInCount = 0; in HAL_JPEG_Abort()
2278 hjpeg->JpegOutCount = 0; in HAL_JPEG_Abort()
2281 hjpeg->Context &= ~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Abort()
2284 if (hjpeg->ErrorCode != HAL_JPEG_ERROR_NONE) in HAL_JPEG_Abort()
2286 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2288 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2294 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Abort()
2296 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2335 __weak void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_InfoReadyCallback() argument
2338 UNUSED(hjpeg); in HAL_JPEG_InfoReadyCallback()
2352 __weak void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EncodeCpltCallback() argument
2355 UNUSED(hjpeg); in HAL_JPEG_EncodeCpltCallback()
2368 __weak void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DecodeCpltCallback() argument
2371 UNUSED(hjpeg); in HAL_JPEG_DecodeCpltCallback()
2384 __weak void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_ErrorCallback() argument
2387 UNUSED(hjpeg); in HAL_JPEG_ErrorCallback()
2401 __weak void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef *hjpeg, uint32_t NbDecodedData) in HAL_JPEG_GetDataCallback() argument
2404 UNUSED(hjpeg); in HAL_JPEG_GetDataCallback()
2420 __weak void HAL_JPEG_DataReadyCallback(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataOut, uint32_t OutDa… in HAL_JPEG_DataReadyCallback() argument
2423 UNUSED(hjpeg); in HAL_JPEG_DataReadyCallback()
2457 void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_IRQHandler() argument
2459 switch (hjpeg->State) in HAL_JPEG_IRQHandler()
2465 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_IRQHandler()
2467 (void) JPEG_Process(hjpeg); in HAL_JPEG_IRQHandler()
2469 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_IRQHandler()
2471 JPEG_DMA_ContinueProcess(hjpeg); in HAL_JPEG_IRQHandler()
2509 HAL_JPEG_STATETypeDef HAL_JPEG_GetState(const JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetState() argument
2511 return hjpeg->State; in HAL_JPEG_GetState()
2520 uint32_t HAL_JPEG_GetError(const JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetError() argument
2522 return hjpeg->ErrorCode; in HAL_JPEG_GetError()
2716 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeD… in JPEG_Set_HuffDC_Mem() argument
2727 if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) in JPEG_Set_HuffDC_Mem()
2729 address = (hjpeg->Instance->HUFFENC_DC0 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2731 else if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC1)) in JPEG_Set_HuffDC_Mem()
2733 address = (hjpeg->Instance->HUFFENC_DC1 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2779 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeD… in JPEG_Set_HuffAC_Mem() argument
2790 if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) in JPEG_Set_HuffAC_Mem()
2792 address = (hjpeg->Instance->HUFFENC_AC0 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2794 else if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC1)) in JPEG_Set_HuffAC_Mem()
2796 address = (hjpeg->Instance->HUFFENC_AC1 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2855 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg) in JPEG_Set_HuffEnc_Mem() argument
2859 JPEG_Set_Huff_DHTMem(hjpeg); in JPEG_Set_HuffEnc_Mem()
2860 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2861 (hjpeg->Instance->HUFFENC_AC0)); in JPEG_Set_HuffEnc_Mem()
2867 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2868 (hjpeg->Instance->HUFFENC_AC1)); in JPEG_Set_HuffEnc_Mem()
2874 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2875 hjpeg->Instance->HUFFENC_DC0); in JPEG_Set_HuffEnc_Mem()
2881 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2882 hjpeg->Instance->HUFFENC_DC1); in JPEG_Set_HuffEnc_Mem()
2898 static void JPEG_Set_Huff_DHTMem(const JPEG_HandleTypeDef *hjpeg) in JPEG_Set_Huff_DHTMem() argument
2910 address = (hjpeg->Instance->DHTMEM + 3); in JPEG_Set_Huff_DHTMem()
2925 address = (hjpeg->Instance->DHTMEM + 6); in JPEG_Set_Huff_DHTMem()
2939 address = (hjpeg->Instance->DHTMEM + 10UL); in JPEG_Set_Huff_DHTMem()
2955 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2977 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2984 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
3007 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
3014 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3036 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3043 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3065 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3072 address = (hjpeg->Instance->DHTMEM + 102); in JPEG_Set_Huff_DHTMem()
3095 static uint32_t JPEG_Set_Quantization_Mem(const JPEG_HandleTypeDef *hjpeg, const uint8_t *QTable, in JPEG_Set_Quantization_Mem() argument
3107 if ((hjpeg->Conf.ImageQuality >= 50UL) && (hjpeg->Conf.ImageQuality <= 100UL)) in JPEG_Set_Quantization_Mem()
3109 ScaleFactor = JPEG_HIGH_QUALITY_REFERENCE - (hjpeg->Conf.ImageQuality * 2UL); in JPEG_Set_Quantization_Mem()
3111 else if (hjpeg->Conf.ImageQuality > 0UL) in JPEG_Set_Quantization_Mem()
3113 ScaleFactor = JPEG_LOW_QUALITY_REFERENCE / ((uint32_t) hjpeg->Conf.ImageQuality); in JPEG_Set_Quantization_Mem()
3161 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorYCBCR() argument
3168 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_NF; in JPEG_SetColorYCBCR()
3169 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_NF_1; in JPEG_SetColorYCBCR()
3172 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorYCBCR()
3179 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorYCBCR()
3194 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorYCBCR()
3195 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF_1 | JPEG_CONFR1_NS_1); in JPEG_SetColorYCBCR()
3198 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorYCBCR()
3201 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorYCBCR()
3204 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorYCBCR()
3207hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0 | JPEG_CONFR5_QT_0 | JPEG_CONFR5… in JPEG_SetColorYCBCR()
3211 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorYCBCR()
3216hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0 | JPEG_CONFR6_QT_0 | JPEG_CONFR6… in JPEG_SetColorYCBCR()
3227 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorGrayScale() argument
3230 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorGrayScale()
3236 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorGrayScale()
3239 hjpeg->Instance->CONFR4 |= JPEG_CONFR4_HSF_0 | JPEG_CONFR4_VSF_0 ; in JPEG_SetColorGrayScale()
3248 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorCMYK() argument
3255 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorCMYK()
3258 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorCMYK()
3265 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorCMYK()
3281 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorCMYK()
3284 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorCMYK()
3287 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorCMYK()
3290 hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0); in JPEG_SetColorCMYK()
3293 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorCMYK()
3296 hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0); in JPEG_SetColorCMYK()
3299 hjpeg->Instance->CONFR7 = 0; in JPEG_SetColorCMYK()
3302 hjpeg->Instance->CONFR7 |= (JPEG_CONFR7_HSF_0 | JPEG_CONFR7_VSF_0); in JPEG_SetColorCMYK()
3311 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Init_Process() argument
3314 hjpeg->Context &= (~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)); in JPEG_Init_Process()
3316 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Init_Process()
3319 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; in JPEG_Init_Process()
3324 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_DE; in JPEG_Init_Process()
3328 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Init_Process()
3331 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Init_Process()
3334 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_Init_Process()
3336 hjpeg->Instance->CR |= JPEG_CR_IFF; in JPEG_Init_Process()
3337 hjpeg->Instance->CR |= JPEG_CR_OFF; in JPEG_Init_Process()
3340 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Init_Process()
3343 hjpeg->Instance->CONFR0 |= JPEG_CONFR0_START; in JPEG_Init_Process()
3345 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Init_Process()
3348 …__HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_IFT | JPEG_IT_IFNF | JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC … in JPEG_Init_Process()
3350 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in JPEG_Init_Process()
3353 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_Init_Process()
3368 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Process() argument
3373 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Process()
3375 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != 0UL) in JPEG_Process()
3378 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_Process()
3380 hjpeg->Conf.ImageQuality = 0; in JPEG_Process()
3386 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3388 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3391 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_Process()
3394 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_Process()
3399 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) in JPEG_Process()
3401 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFTF) != 0UL) in JPEG_Process()
3405 JPEG_ReadInputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3407 else if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFNFF) != 0UL) in JPEG_Process()
3411 JPEG_ReadInputData(hjpeg, 1); in JPEG_Process()
3421 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_Process()
3423 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFTF) != 0UL) in JPEG_Process()
3427 JPEG_StoreOutputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3429 else if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) in JPEG_Process()
3433 JPEG_StoreOutputData(hjpeg, 1); in JPEG_Process()
3442 …if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF | JPEG_FLAG_OFTF | JPEG_FLAG_OFNEF) == JPEG_FLAG_EOC… in JPEG_Process()
3445 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Process()
3447 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Process()
3450 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Process()
3454 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Process()
3457 if (hjpeg->JpegOutCount > 0UL) in JPEG_Process()
3461 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3463 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3466 hjpeg->JpegOutCount = 0; in JPEG_Process()
3470 tmpContext = hjpeg->Context; in JPEG_Process()
3472 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_Process()
3475 __HAL_UNLOCK(hjpeg); in JPEG_Process()
3478 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_Process()
3484 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_Process()
3486 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_Process()
3492 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_Process()
3494 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_Process()
3514 static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords) in JPEG_StoreOutputData() argument
3521 if (hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords * 4UL))) in JPEG_StoreOutputData()
3526 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3527 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); in JPEG_StoreOutputData()
3528 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); in JPEG_StoreOutputData()
3529hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3530hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); in JPEG_StoreOutputData()
3531 hjpeg->JpegOutCount += 4UL; in JPEG_StoreOutputData()
3533 if (hjpeg->OutDataLength == hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3537 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3539 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3541 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3544 else if (hjpeg->OutDataLength > hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3546 nb_words = (hjpeg->OutDataLength - hjpeg->JpegOutCount) / 4UL; in JPEG_StoreOutputData()
3550 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3551 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); in JPEG_StoreOutputData()
3552 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); in JPEG_StoreOutputData()
3553hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3554hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); in JPEG_StoreOutputData()
3555 hjpeg->JpegOutCount += 4UL; in JPEG_StoreOutputData()
3557 if (hjpeg->OutDataLength == hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3561 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3563 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3565 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3569 nb_bytes = hjpeg->OutDataLength - hjpeg->JpegOutCount; in JPEG_StoreOutputData()
3570 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3573hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * (index & 0x3UL))) & 0x… in JPEG_StoreOutputData()
3574 hjpeg->JpegOutCount++; in JPEG_StoreOutputData()
3578 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3580 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3583 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3588hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * index)) & 0xFFUL); in JPEG_StoreOutputData()
3589 hjpeg->JpegOutCount++; in JPEG_StoreOutputData()
3608 static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords) in JPEG_ReadInputData() argument
3616 if ((hjpeg->InDataLength == 0UL) || (nbRequestWords == 0UL)) in JPEG_ReadInputData()
3619 (void) HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_INPUT); in JPEG_ReadInputData()
3621 else if (hjpeg->InDataLength > hjpeg->JpegInCount) in JPEG_ReadInputData()
3623 nb_bytes = hjpeg->InDataLength - hjpeg->JpegInCount; in JPEG_ReadInputData()
3625 else if (hjpeg->InDataLength == hjpeg->JpegInCount) in JPEG_ReadInputData()
3629 hjpeg->GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_ReadInputData()
3631 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_ReadInputData()
3634 if (hjpeg->InDataLength > 4UL) in JPEG_ReadInputData()
3636 hjpeg->InDataLength = ((hjpeg->InDataLength + 3UL) / 4UL) * 4UL; in JPEG_ReadInputData()
3638 hjpeg->JpegInCount = 0; in JPEG_ReadInputData()
3639 nb_bytes = hjpeg->InDataLength; in JPEG_ReadInputData()
3645 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (nb_bytes > 0UL)) in JPEG_ReadInputData()
3652 input_count = hjpeg->JpegInCount; in JPEG_ReadInputData()
3653 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ in JPEG_ReadInputData()
3654 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ in JPEG_ReadInputData()
3655 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ in JPEG_ReadInputData()
3656 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); in JPEG_ReadInputData()
3658 hjpeg->JpegInCount += 4UL; in JPEG_ReadInputData()
3667 input_count = hjpeg->JpegInCount; in JPEG_ReadInputData()
3668 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ in JPEG_ReadInputData()
3669 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ in JPEG_ReadInputData()
3670 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ in JPEG_ReadInputData()
3671 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); in JPEG_ReadInputData()
3673 hjpeg->JpegInCount += 4UL; in JPEG_ReadInputData()
3682 … dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8UL * (index & 0x03UL)); in JPEG_ReadInputData()
3683 hjpeg->JpegInCount++; in JPEG_ReadInputData()
3685 hjpeg->Instance->DIR = dataword; in JPEG_ReadInputData()
3697 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_StartProcess() argument
3699 if ((hjpeg->InDataLength < 4UL) || (hjpeg->OutDataLength < 4UL)) in JPEG_DMA_StartProcess()
3704 hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_StartProcess()
3707 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_StartProcess()
3710 hjpeg->hdmain->XferCpltCallback = JPEG_DMAInCpltCallback; in JPEG_DMA_StartProcess()
3712 hjpeg->hdmain->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3715 hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; in JPEG_DMA_StartProcess()
3717 hjpeg->hdmaout->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3719 hjpeg->hdmaout->XferAbortCallback = JPEG_DMAOutAbortCallback; in JPEG_DMA_StartProcess()
3722 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in JPEG_DMA_StartProcess()
3725 hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % 4UL); in JPEG_DMA_StartProcess()
3727 if ((hjpeg->hdmain->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in JPEG_DMA_StartProcess()
3729 if (hjpeg->hdmain->LinkedListQueue != NULL) in JPEG_DMA_StartProcess()
3732hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->InDataLengt… in JPEG_DMA_StartProcess()
3735hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->p… in JPEG_DMA_StartProcess()
3738hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg->… in JPEG_DMA_StartProcess()
3740 if (HAL_DMAEx_List_Start_IT(hjpeg->hdmain) != HAL_OK) in JPEG_DMA_StartProcess()
3748 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_StartProcess()
3751 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3754 __HAL_UNLOCK(hjpeg); in JPEG_DMA_StartProcess()
3762 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMA_StartProcess()
3763 hjpeg->InDataLength) != HAL_OK) in JPEG_DMA_StartProcess()
3765 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3770 if ((hjpeg->hdmaout->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in JPEG_DMA_StartProcess()
3772 if (hjpeg->hdmaout->LinkedListQueue != NULL) in JPEG_DMA_StartProcess()
3775hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->OutDataLen… in JPEG_DMA_StartProcess()
3778hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg-… in JPEG_DMA_StartProcess()
3781hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->… in JPEG_DMA_StartProcess()
3783 if (HAL_DMAEx_List_Start_IT(hjpeg->hdmaout) != HAL_OK) in JPEG_DMA_StartProcess()
3791 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_StartProcess()
3794 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3797 __HAL_UNLOCK(hjpeg); in JPEG_DMA_StartProcess()
3805 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMA_StartProcess()
3806 hjpeg->OutDataLength) != HAL_OK) in JPEG_DMA_StartProcess()
3808 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3814 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); in JPEG_DMA_StartProcess()
3825 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_ContinueProcess() argument
3828 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_DMA_ContinueProcess()
3830 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != 0UL) in JPEG_DMA_ContinueProcess()
3833 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3836 hjpeg->Conf.ImageQuality = 0; in JPEG_DMA_ContinueProcess()
3842 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3844 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3847 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_DMA_ContinueProcess()
3850 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_DMA_ContinueProcess()
3855 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) != 0UL) in JPEG_DMA_ContinueProcess()
3858 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_ContinueProcess()
3860 hjpeg->Context |= JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_ContinueProcess()
3863 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_ContinueProcess()
3865 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMA_ContinueProcess()
3868 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_DMA_ContinueProcess()
3870 if (hjpeg->hdmain->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3873 (void) HAL_DMA_Abort(hjpeg->hdmain); in JPEG_DMA_ContinueProcess()
3876 if (hjpeg->hdmaout->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3879 (void) HAL_DMA_Abort(hjpeg->hdmaout); in JPEG_DMA_ContinueProcess()
3882 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMA_ContinueProcess()
3894 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_EndProcess() argument
3897 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hjpeg->hdmaout); in JPEG_DMA_EndProcess()
3900 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_EndProcess()
3903 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3905 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3908 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3912 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) in JPEG_DMA_EndProcess()
3914 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_EndProcess()
3918 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3920 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3923 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3927 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_EndProcess()
3929 tmpContext = hjpeg->Context; in JPEG_DMA_EndProcess()
3931 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_EndProcess()
3934 __HAL_UNLOCK(hjpeg); in JPEG_DMA_EndProcess()
3937 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_EndProcess()
3943 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3945 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3951 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3953 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3957 else if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_EndProcess()
3959 JPEG_DMA_PollResidualData(hjpeg); in JPEG_DMA_EndProcess()
3974 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_PollResidualData() argument
3982 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_PollResidualData()
3984 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) in JPEG_DMA_PollResidualData()
3986 dataOut = hjpeg->Instance->DOR; in JPEG_DMA_PollResidualData()
3987 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataOut & 0x000000FFUL); in JPEG_DMA_PollResidualData()
3988hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataOut & 0x0000FF00UL) >> 8); in JPEG_DMA_PollResidualData()
3989hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataOut & 0x00FF0000UL) >> 16); in JPEG_DMA_PollResidualData()
3990hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataOut & 0xFF000000UL) >> 24); in JPEG_DMA_PollResidualData()
3991 hjpeg->JpegOutCount += 4UL; in JPEG_DMA_PollResidualData()
3993 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_PollResidualData()
3997 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
3999 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4002 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
4009 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
4011 …if ((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) || ((tmpContext & JPEG_CONTEXT_PAUSE_OUTP… in JPEG_DMA_PollResidualData()
4014 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_PollResidualData()
4016 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_PollResidualData()
4020 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4022 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4025 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
4028 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
4030 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_PollResidualData()
4033 __HAL_UNLOCK(hjpeg); in JPEG_DMA_PollResidualData()
4036 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_PollResidualData()
4042 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4044 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4050 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4052 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4065 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAInCpltCallback() local
4068 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAInCpltCallback()
4070 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAInCpltCallback()
4073 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
4075 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); in JPEG_DMAInCpltCallback()
4079 hjpeg->GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
4081 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
4084 if (hjpeg->InDataLength >= 4UL) in JPEG_DMAInCpltCallback()
4088 hjpeg->InDataLength = ((hjpeg->InDataLength + 3UL) / 4UL) * 4UL; in JPEG_DMAInCpltCallback()
4095 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (hjpeg->InDataLength > 0UL)) in JPEG_DMAInCpltCallback()
4098 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMAInCpltCallback()
4099 hjpeg->InDataLength) != HAL_OK) in JPEG_DMAInCpltCallback()
4101 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAInCpltCallback()
4102 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAInCpltCallback()
4104 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
4106 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
4110 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
4114 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAInCpltCallback()
4125 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutCpltCallback() local
4128 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAOutCpltCallback()
4130 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAOutCpltCallback()
4133 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) == 0UL) in JPEG_DMAOutCpltCallback()
4135 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4136 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); in JPEG_DMAOutCpltCallback()
4140 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4142 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4145 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMAOutCpltCallback()
4148 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMAOutCpltCallback()
4149 hjpeg->OutDataLength) != HAL_OK) in JPEG_DMAOutCpltCallback()
4151 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAOutCpltCallback()
4152 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAOutCpltCallback()
4154 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4156 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4160 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4165 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAOutCpltCallback()
4177 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAErrorCallback() local
4182 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMAErrorCallback()
4185 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAErrorCallback()
4188 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_DMAErrorCallback()
4190 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMAErrorCallback()
4191 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAErrorCallback()
4193 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4195 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4207 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutAbortCallback() local
4209 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in JPEG_DMAOutAbortCallback()
4211 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMAOutAbortCallback()
4222 static uint32_t JPEG_GetQuality(const JPEG_HandleTypeDef *hjpeg) in JPEG_GetQuality() argument
4230 const __IO uint32_t *tableAddress = hjpeg->Instance->QMEM0; in JPEG_GetQuality()
4247 scale = (quantVal * 100UL) / ((uint32_t) hjpeg->QuantTable0[JPEG_ZIGZAG_ORDER[i + j]]); in JPEG_GetQuality()