Lines Matching refs:hjpeg

441 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeDef *Hu…
443 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *Hu…
445 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg);
446 static void JPEG_Set_Huff_DHTMem(JPEG_HandleTypeDef *hjpeg);
447 static uint32_t JPEG_Set_Quantization_Mem(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable,
449 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg);
450 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg);
451 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg);
453 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg);
454 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg);
455 static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords);
456 static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords);
457 static uint32_t JPEG_GetQuality(JPEG_HandleTypeDef *hjpeg);
459 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg);
460 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg);
461 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg);
462 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg);
498 HAL_StatusTypeDef HAL_JPEG_Init(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Init() argument
525 if (hjpeg == NULL) in HAL_JPEG_Init()
531 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
534 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
536 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_Init()
537 hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_Init()
538 hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_Init()
539 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_Init()
540 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_Init()
541 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_Init()
543 if (hjpeg->MspInitCallback == NULL) in HAL_JPEG_Init()
545 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_Init()
549 hjpeg->MspInitCallback(hjpeg); in HAL_JPEG_Init()
552 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
555 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
558 HAL_JPEG_MspInit(hjpeg); in HAL_JPEG_Init()
563 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_Init()
566 __HAL_JPEG_ENABLE(hjpeg); in HAL_JPEG_Init()
569 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Init()
572 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Init()
575 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Init()
578 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Init()
579 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Init()
582 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Init()
585 hjpeg->QuantTable0 = (uint8_t *)((uint32_t)JPEG_LUM_QuantTable); in HAL_JPEG_Init()
586 hjpeg->QuantTable1 = (uint8_t *)((uint32_t)JPEG_CHROM_QuantTable); in HAL_JPEG_Init()
587 hjpeg->QuantTable2 = NULL; in HAL_JPEG_Init()
588 hjpeg->QuantTable3 = NULL; in HAL_JPEG_Init()
591 if (JPEG_Set_HuffEnc_Mem(hjpeg) != HAL_OK) in HAL_JPEG_Init()
593 hjpeg->ErrorCode = HAL_JPEG_ERROR_HUFF_TABLE; in HAL_JPEG_Init()
599 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_Init()
602 hjpeg->JpegInCount = 0; in HAL_JPEG_Init()
603 hjpeg->JpegOutCount = 0; in HAL_JPEG_Init()
606 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Init()
609 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_Init()
612 hjpeg->Context = 0; in HAL_JPEG_Init()
624 HAL_StatusTypeDef HAL_JPEG_DeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DeInit() argument
627 if (hjpeg == NULL) in HAL_JPEG_DeInit()
633 if (hjpeg->MspDeInitCallback == NULL) in HAL_JPEG_DeInit()
635 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_DeInit()
639 hjpeg->MspDeInitCallback(hjpeg); in HAL_JPEG_DeInit()
643 HAL_JPEG_MspDeInit(hjpeg); in HAL_JPEG_DeInit()
647 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DeInit()
650 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_DeInit()
653 hjpeg->JpegInCount = 0; in HAL_JPEG_DeInit()
654 hjpeg->JpegOutCount = 0; in HAL_JPEG_DeInit()
657 hjpeg->State = HAL_JPEG_STATE_RESET; in HAL_JPEG_DeInit()
660 hjpeg->Context = 0; in HAL_JPEG_DeInit()
663 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DeInit()
675 __weak void HAL_JPEG_MspInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspInit() argument
678 UNUSED(hjpeg); in HAL_JPEG_MspInit()
691 __weak void HAL_JPEG_MspDeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspDeInit() argument
694 UNUSED(hjpeg); in HAL_JPEG_MspDeInit()
716 HAL_StatusTypeDef HAL_JPEG_RegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef C… in HAL_JPEG_RegisterCallback() argument
724 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
728 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterCallback()
730 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterCallback()
735 hjpeg->EncodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
739 hjpeg->DecodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
743 hjpeg->ErrorCallback = pCallback; in HAL_JPEG_RegisterCallback()
747 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
751 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
756 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
762 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_RegisterCallback()
767 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
771 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
776 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
785 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
791 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterCallback()
809 HAL_StatusTypeDef HAL_JPEG_UnRegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef… in HAL_JPEG_UnRegisterCallback() argument
814 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
816 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
821hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
825hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
829 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_UnRegisterCallback()
833 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
837 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_UnRegisterCallback()
842 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
848 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
853 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
857 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
862 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
871 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
877 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
888 HAL_StatusTypeDef HAL_JPEG_RegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterInfoReadyCallback() argument
896 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
900 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
902 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterInfoReadyCallback()
904 hjpeg->InfoReadyCallback = pCallback; in HAL_JPEG_RegisterInfoReadyCallback()
909 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
915 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
925 HAL_StatusTypeDef HAL_JPEG_UnRegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterInfoReadyCallback() argument
930 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
932 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterInfoReadyCallback()
934 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_UnRegisterInfoReadyCallback()
939 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterInfoReadyCallback()
945 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
956 HAL_StatusTypeDef HAL_JPEG_RegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg, pJPEG_GetDataCallback… in HAL_JPEG_RegisterGetDataCallback() argument
963 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
967 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
969 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterGetDataCallback()
971 hjpeg->GetDataCallback = pCallback; in HAL_JPEG_RegisterGetDataCallback()
976 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
982 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
992 HAL_StatusTypeDef HAL_JPEG_UnRegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterGetDataCallback() argument
997 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
999 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterGetDataCallback()
1001 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_UnRegisterGetDataCallback()
1006 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterGetDataCallback()
1012 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
1023 HAL_StatusTypeDef HAL_JPEG_RegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterDataReadyCallback() argument
1031 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1035 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1037 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterDataReadyCallback()
1039 hjpeg->DataReadyCallback = pCallback; in HAL_JPEG_RegisterDataReadyCallback()
1044 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1050 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1060 HAL_StatusTypeDef HAL_JPEG_UnRegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterDataReadyCallback() argument
1065 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1067 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterDataReadyCallback()
1069 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_UnRegisterDataReadyCallback()
1074 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterDataReadyCallback()
1080 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1116 HAL_StatusTypeDef HAL_JPEG_ConfigEncoding(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pConf) in HAL_JPEG_ConfigEncoding() argument
1126 if ((hjpeg == NULL) || (pConf == NULL)) in HAL_JPEG_ConfigEncoding()
1138 __HAL_LOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1140 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_ConfigEncoding()
1142 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_ConfigEncoding()
1144 hjpeg->Conf.ColorSpace = pConf->ColorSpace; in HAL_JPEG_ConfigEncoding()
1145 hjpeg->Conf.ChromaSubsampling = pConf->ChromaSubsampling; in HAL_JPEG_ConfigEncoding()
1146 hjpeg->Conf.ImageHeight = pConf->ImageHeight; in HAL_JPEG_ConfigEncoding()
1147 hjpeg->Conf.ImageWidth = pConf->ImageWidth; in HAL_JPEG_ConfigEncoding()
1148 hjpeg->Conf.ImageQuality = pConf->ImageQuality; in HAL_JPEG_ConfigEncoding()
1151 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1154 if (hjpeg->Conf.ColorSpace == JPEG_GRAYSCALE_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1157 hjpeg->Conf.ChromaSubsampling = JPEG_444_SUBSAMPLING; in HAL_JPEG_ConfigEncoding()
1159 JPEG_SetColorGrayScale(hjpeg); in HAL_JPEG_ConfigEncoding()
1161 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1163 else if (hjpeg->Conf.ColorSpace == JPEG_YCBCR_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1169 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_0; in HAL_JPEG_ConfigEncoding()
1171 JPEG_SetColorYCBCR(hjpeg); in HAL_JPEG_ConfigEncoding()
1174 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1176 error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1178 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1182 hjpeg->Instance->CONFR1 &= (~JPEG_CONFR1_COLORSPACE); in HAL_JPEG_ConfigEncoding()
1183 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_1; in HAL_JPEG_ConfigEncoding()
1185 error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1188 hjpeg->Instance->CONFR5 &= (~JPEG_CONFR5_QT); in HAL_JPEG_ConfigEncoding()
1189 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1192 hjpeg->Instance->CONFR6 &= (~JPEG_CONFR6_QT); in HAL_JPEG_ConfigEncoding()
1193 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1198 JPEG_SetColorCMYK(hjpeg); in HAL_JPEG_ConfigEncoding()
1201 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1204 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1208 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1210 error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1211 error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1212 error |= JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable3, (hjpeg->Instance->QMEM3)); in HAL_JPEG_ConfigEncoding()
1215 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1218 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1221 hjpeg->Instance->CONFR7 |= JPEG_CONFR7_QT; in HAL_JPEG_ConfigEncoding()
1227 hjpeg->ErrorCode = HAL_JPEG_ERROR_QUANT_TABLE; in HAL_JPEG_ConfigEncoding()
1230 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1233 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1239 …MODIFY_REG(hjpeg->Instance->CONFR1, JPEG_CONFR1_YSIZE, ((hjpeg->Conf.ImageHeight & 0x0000FFFFUL) <… in HAL_JPEG_ConfigEncoding()
1241 …MODIFY_REG(hjpeg->Instance->CONFR3, JPEG_CONFR3_XSIZE, ((hjpeg->Conf.ImageWidth & 0x0000FFFFUL) <<… in HAL_JPEG_ConfigEncoding()
1244 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) /* 4:2:0*/ in HAL_JPEG_ConfigEncoding()
1249 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) /* 4:2:2*/ in HAL_JPEG_ConfigEncoding()
1260 hMCU = (hjpeg->Conf.ImageWidth / hfactor); in HAL_JPEG_ConfigEncoding()
1261 if ((hjpeg->Conf.ImageWidth % hfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1266 vMCU = (hjpeg->Conf.ImageHeight / vfactor); in HAL_JPEG_ConfigEncoding()
1267 if ((hjpeg->Conf.ImageHeight % vfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1274 hjpeg->Instance->CONFR2 = (numberMCU & JPEG_CONFR2_NMCU); in HAL_JPEG_ConfigEncoding()
1276 hjpeg->Context |= JPEG_CONTEXT_CONF_ENCODING; in HAL_JPEG_ConfigEncoding()
1279 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1282 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1290 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1306 HAL_StatusTypeDef HAL_JPEG_GetInfo(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_GetInfo() argument
1313 if ((hjpeg == NULL) || (pInfo == NULL)) in HAL_JPEG_GetInfo()
1319 if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF_1) in HAL_JPEG_GetInfo()
1323 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == 0UL) in HAL_JPEG_GetInfo()
1327 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF) in HAL_JPEG_GetInfo()
1336 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1337 pInfo->ImageWidth = (hjpeg->Instance->CONFR3 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1341 yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; in HAL_JPEG_GetInfo()
1342 cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; in HAL_JPEG_GetInfo()
1343 cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; in HAL_JPEG_GetInfo()
1367 pInfo->ImageQuality = JPEG_GetQuality(hjpeg); in HAL_JPEG_GetInfo()
1379 HAL_StatusTypeDef HAL_JPEG_EnableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EnableHeaderParsing() argument
1382 __HAL_LOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1384 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_EnableHeaderParsing()
1387 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_EnableHeaderParsing()
1390 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_EnableHeaderParsing()
1393 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1396 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_EnableHeaderParsing()
1403 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1415 HAL_StatusTypeDef HAL_JPEG_DisableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DisableHeaderParsing() argument
1418 __HAL_LOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1420 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_DisableHeaderParsing()
1423 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DisableHeaderParsing()
1426 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_HDR; in HAL_JPEG_DisableHeaderParsing()
1429 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1432 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_DisableHeaderParsing()
1439 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1462 HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable0, uint8_t… in HAL_JPEG_SetUserQuantTables() argument
1466 __HAL_LOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1468 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_SetUserQuantTables()
1471 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_SetUserQuantTables()
1473 hjpeg->Context |= JPEG_CONTEXT_CUSTOM_TABLES; in HAL_JPEG_SetUserQuantTables()
1475 hjpeg->QuantTable0 = QTable0; in HAL_JPEG_SetUserQuantTables()
1476 hjpeg->QuantTable1 = QTable1; in HAL_JPEG_SetUserQuantTables()
1477 hjpeg->QuantTable2 = QTable2; in HAL_JPEG_SetUserQuantTables()
1478 hjpeg->QuantTable3 = QTable3; in HAL_JPEG_SetUserQuantTables()
1481 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1484 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_SetUserQuantTables()
1492 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1537 HAL_StatusTypeDef HAL_JPEG_Encode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataL… in HAL_JPEG_Encode() argument
1547 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode()
1552 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode()
1554 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1557 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1562 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1564 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode()
1567 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode()
1570 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode()
1571 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Encode()
1577 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode()
1578 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode()
1579hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /* In Data length must be multiple o… in HAL_JPEG_Encode()
1580hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /* Out Data length must be multiple … in HAL_JPEG_Encode()
1583 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode()
1584 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode()
1587 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode()
1590 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Encode()
1598 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Encode()
1601 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1604 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1612 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1615 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1621 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1641 HAL_StatusTypeDef HAL_JPEG_Decode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataLeng… in HAL_JPEG_Decode() argument
1651 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode()
1657 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode()
1662 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode()
1665 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode()
1669 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode()
1670 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Decode()
1673 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode()
1674 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode()
1675hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple of… in HAL_JPEG_Decode()
1676hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple o… in HAL_JPEG_Decode()
1679 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode()
1680 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode()
1683 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode()
1686 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Decode()
1694 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Decode()
1697 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1700 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1708 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1711 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1717 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1735 HAL_StatusTypeDef HAL_JPEG_Encode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDa… in HAL_JPEG_Encode_IT() argument
1743 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_IT()
1749 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_IT()
1751 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_IT()
1754 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1760 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_IT()
1763 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_IT()
1766 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_IT()
1767 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_IT); in HAL_JPEG_Encode_IT()
1770 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_IT()
1771 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_IT()
1772hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple of… in HAL_JPEG_Encode_IT()
1773hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple o… in HAL_JPEG_Encode_IT()
1776 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_IT()
1777 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_IT()
1780 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_IT()
1786 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1805 HAL_StatusTypeDef HAL_JPEG_Decode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataL… in HAL_JPEG_Decode_IT() argument
1813 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_IT()
1819 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_IT()
1821 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_IT()
1824 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_IT()
1827 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_IT()
1828 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_IT); in HAL_JPEG_Decode_IT()
1831 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_IT()
1832 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_IT()
1833hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple of… in HAL_JPEG_Decode_IT()
1834hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple o… in HAL_JPEG_Decode_IT()
1837 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_IT()
1838 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_IT()
1841 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_IT()
1847 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_IT()
1865 HAL_StatusTypeDef HAL_JPEG_Encode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InD… in HAL_JPEG_Encode_DMA() argument
1873 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_DMA()
1879 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1881 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_DMA()
1884 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1890 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_DMA()
1893 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_DMA()
1896 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_DMA()
1897 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Encode_DMA()
1900 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_DMA()
1901 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_DMA()
1902 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Encode_DMA()
1903 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Encode_DMA()
1906 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_DMA()
1907 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_DMA()
1910 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_DMA()
1913 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Encode_DMA()
1916 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Encode_DMA()
1918 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1927 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1946 HAL_StatusTypeDef HAL_JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InData… in HAL_JPEG_Decode_DMA() argument
1954 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_DMA()
1960 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_DMA()
1962 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_DMA()
1965 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_DMA()
1968 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_DMA()
1969 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Decode_DMA()
1972 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_DMA()
1973 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_DMA()
1974 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Decode_DMA()
1975 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Decode_DMA()
1978 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_DMA()
1979 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_DMA()
1982 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_DMA()
1985 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Decode_DMA()
1988 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Decode_DMA()
1990 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
1998 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
2016 HAL_StatusTypeDef HAL_JPEG_Pause(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Pause() argument
2022 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Pause()
2026 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2031 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2034 JPEG_DISABLE_DMA(hjpeg, mask); in HAL_JPEG_Pause()
2037 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Pause()
2042 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2047 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2050 __HAL_JPEG_DISABLE_IT(hjpeg, mask); in HAL_JPEG_Pause()
2072 HAL_StatusTypeDef HAL_JPEG_Resume(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Resume() argument
2078 if ((hjpeg->Context & (JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)) == 0UL) in HAL_JPEG_Resume()
2084 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Resume()
2089 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2094 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in HAL_JPEG_Resume()
2096 if (hjpeg->InDataLength > 0UL) in HAL_JPEG_Resume()
2099 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in HAL_JPEG_Resume()
2100 hjpeg->InDataLength >> 2) != HAL_OK) in HAL_JPEG_Resume()
2102 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Resume()
2103 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Resume()
2110 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2112 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in HAL_JPEG_Resume()
2114 JPEG_DMA_PollResidualData(hjpeg); in HAL_JPEG_Resume()
2121 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in HAL_JPEG_Resume()
2122 hjpeg->OutDataLength >> 2) != HAL_OK) in HAL_JPEG_Resume()
2124 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Resume()
2125 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Resume()
2131 JPEG_ENABLE_DMA(hjpeg, mask); in HAL_JPEG_Resume()
2134 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Resume()
2138 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2143 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2146 __HAL_JPEG_ENABLE_IT(hjpeg, mask); in HAL_JPEG_Resume()
2166 void HAL_JPEG_ConfigInputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewInputBuffer, uint32_t InDat… in HAL_JPEG_ConfigInputBuffer() argument
2168 hjpeg->pJpegInBuffPtr = pNewInputBuffer; in HAL_JPEG_ConfigInputBuffer()
2169 hjpeg->InDataLength = InDataLength; in HAL_JPEG_ConfigInputBuffer()
2180 void HAL_JPEG_ConfigOutputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewOutputBuffer, uint32_t Out… in HAL_JPEG_ConfigOutputBuffer() argument
2182 hjpeg->pJpegOutBuffPtr = pNewOutputBuffer; in HAL_JPEG_ConfigOutputBuffer()
2183 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_ConfigOutputBuffer()
2192 HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Abort() argument
2196 tmpContext = hjpeg->Context; in HAL_JPEG_Abort()
2199hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_D… in HAL_JPEG_Abort()
2204 if (HAL_DMA_Abort(hjpeg->hdmaout) != HAL_OK) in HAL_JPEG_Abort()
2206 if (hjpeg->hdmaout->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2208 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2211 if (HAL_DMA_Abort(hjpeg->hdmain) != HAL_OK) in HAL_JPEG_Abort()
2213 if (hjpeg->hdmain->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2215 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2222 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Abort()
2228 while (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_COF) != 0UL) in HAL_JPEG_Abort()
2234 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Abort()
2237 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2243 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Abort()
2246 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Abort()
2249 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Abort()
2250 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Abort()
2253 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Abort()
2256 hjpeg->JpegInCount = 0; in HAL_JPEG_Abort()
2257 hjpeg->JpegOutCount = 0; in HAL_JPEG_Abort()
2260 hjpeg->Context &= ~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Abort()
2263 if (hjpeg->ErrorCode != HAL_JPEG_ERROR_NONE) in HAL_JPEG_Abort()
2265 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2267 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2273 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Abort()
2275 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2314 __weak void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_InfoReadyCallback() argument
2317 UNUSED(hjpeg); in HAL_JPEG_InfoReadyCallback()
2331 __weak void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EncodeCpltCallback() argument
2334 UNUSED(hjpeg); in HAL_JPEG_EncodeCpltCallback()
2347 __weak void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DecodeCpltCallback() argument
2350 UNUSED(hjpeg); in HAL_JPEG_DecodeCpltCallback()
2363 __weak void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_ErrorCallback() argument
2366 UNUSED(hjpeg); in HAL_JPEG_ErrorCallback()
2380 __weak void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef *hjpeg, uint32_t NbDecodedData) in HAL_JPEG_GetDataCallback() argument
2383 UNUSED(hjpeg); in HAL_JPEG_GetDataCallback()
2399 __weak void HAL_JPEG_DataReadyCallback(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataOut, uint32_t OutDa… in HAL_JPEG_DataReadyCallback() argument
2402 UNUSED(hjpeg); in HAL_JPEG_DataReadyCallback()
2436 void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_IRQHandler() argument
2438 switch (hjpeg->State) in HAL_JPEG_IRQHandler()
2444 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_IRQHandler()
2446 (void) JPEG_Process(hjpeg); in HAL_JPEG_IRQHandler()
2448 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_IRQHandler()
2450 JPEG_DMA_ContinueProcess(hjpeg); in HAL_JPEG_IRQHandler()
2488 HAL_JPEG_STATETypeDef HAL_JPEG_GetState(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetState() argument
2490 return hjpeg->State; in HAL_JPEG_GetState()
2499 uint32_t HAL_JPEG_GetError(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetError() argument
2501 return hjpeg->ErrorCode; in HAL_JPEG_GetError()
2692 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeDef *Hu… in JPEG_Set_HuffDC_Mem() argument
2702 if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) in JPEG_Set_HuffDC_Mem()
2704 address = (hjpeg->Instance->HUFFENC_DC0 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2706 else if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC1)) in JPEG_Set_HuffDC_Mem()
2708 address = (hjpeg->Instance->HUFFENC_DC1 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2754 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeDef *Hu… in JPEG_Set_HuffAC_Mem() argument
2762 if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) in JPEG_Set_HuffAC_Mem()
2764 address = (hjpeg->Instance->HUFFENC_AC0 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2766 else if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC1)) in JPEG_Set_HuffAC_Mem()
2768 address = (hjpeg->Instance->HUFFENC_AC1 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2827 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg) in JPEG_Set_HuffEnc_Mem() argument
2831 JPEG_Set_Huff_DHTMem(hjpeg); in JPEG_Set_HuffEnc_Mem()
2832 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2833 (hjpeg->Instance->HUFFENC_AC0)); in JPEG_Set_HuffEnc_Mem()
2839 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2840 (hjpeg->Instance->HUFFENC_AC1)); in JPEG_Set_HuffEnc_Mem()
2846 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2847 hjpeg->Instance->HUFFENC_DC0); in JPEG_Set_HuffEnc_Mem()
2853 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2854 hjpeg->Instance->HUFFENC_DC1); in JPEG_Set_HuffEnc_Mem()
2870 static void JPEG_Set_Huff_DHTMem(JPEG_HandleTypeDef *hjpeg) in JPEG_Set_Huff_DHTMem() argument
2881 address = (hjpeg->Instance->DHTMEM + 3); in JPEG_Set_Huff_DHTMem()
2896 address = (hjpeg->Instance->DHTMEM + 6); in JPEG_Set_Huff_DHTMem()
2910 address = (hjpeg->Instance->DHTMEM + 10UL); in JPEG_Set_Huff_DHTMem()
2926 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2947 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2953 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
2975 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
2982 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3003 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3009 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3031 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3038 address = (hjpeg->Instance->DHTMEM + 102); in JPEG_Set_Huff_DHTMem()
3061 static uint32_t JPEG_Set_Quantization_Mem(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable, in JPEG_Set_Quantization_Mem() argument
3073 if ((hjpeg->Conf.ImageQuality >= 50UL) && (hjpeg->Conf.ImageQuality <= 100UL)) in JPEG_Set_Quantization_Mem()
3075 ScaleFactor = 200UL - (hjpeg->Conf.ImageQuality * 2UL); in JPEG_Set_Quantization_Mem()
3077 else if (hjpeg->Conf.ImageQuality > 0UL) in JPEG_Set_Quantization_Mem()
3079 ScaleFactor = ((uint32_t) 5000) / ((uint32_t) hjpeg->Conf.ImageQuality); in JPEG_Set_Quantization_Mem()
3127 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorYCBCR() argument
3134 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_NF; in JPEG_SetColorYCBCR()
3135 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_NF_1; in JPEG_SetColorYCBCR()
3138 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorYCBCR()
3145 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorYCBCR()
3160 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorYCBCR()
3161 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF_1 | JPEG_CONFR1_NS_1); in JPEG_SetColorYCBCR()
3164 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorYCBCR()
3166 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorYCBCR()
3169 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorYCBCR()
3171hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0 | JPEG_CONFR5_QT_0 | JPEG_CONFR5… in JPEG_SetColorYCBCR()
3174 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorYCBCR()
3178hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0 | JPEG_CONFR6_QT_0 | JPEG_CONFR6… in JPEG_SetColorYCBCR()
3188 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorGrayScale() argument
3191 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorGrayScale()
3197 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorGrayScale()
3199 hjpeg->Instance->CONFR4 |= JPEG_CONFR4_HSF_0 | JPEG_CONFR4_VSF_0 ; in JPEG_SetColorGrayScale()
3208 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorCMYK() argument
3215 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorCMYK()
3218 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorCMYK()
3225 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorCMYK()
3241 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorCMYK()
3243 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorCMYK()
3246 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorCMYK()
3248 hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0); in JPEG_SetColorCMYK()
3251 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorCMYK()
3253 hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0); in JPEG_SetColorCMYK()
3256 hjpeg->Instance->CONFR7 = 0; in JPEG_SetColorCMYK()
3258 hjpeg->Instance->CONFR7 |= (JPEG_CONFR7_HSF_0 | JPEG_CONFR7_VSF_0); in JPEG_SetColorCMYK()
3267 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Init_Process() argument
3270 hjpeg->Context &= (~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)); in JPEG_Init_Process()
3272 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Init_Process()
3275 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; in JPEG_Init_Process()
3280 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_DE; in JPEG_Init_Process()
3284 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Init_Process()
3287 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Init_Process()
3290 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_Init_Process()
3292 hjpeg->Instance->CR |= JPEG_CR_IFF; in JPEG_Init_Process()
3293 hjpeg->Instance->CR |= JPEG_CR_OFF; in JPEG_Init_Process()
3296 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Init_Process()
3299 hjpeg->Instance->CONFR0 |= JPEG_CONFR0_START; in JPEG_Init_Process()
3301 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Init_Process()
3304 …__HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_IFT | JPEG_IT_IFNF | JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC … in JPEG_Init_Process()
3306 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in JPEG_Init_Process()
3309 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_Init_Process()
3324 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Process() argument
3329 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Process()
3331 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != 0UL) in JPEG_Process()
3334 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_Process()
3336 hjpeg->Conf.ImageQuality = 0; in JPEG_Process()
3342 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3344 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3347 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_Process()
3350 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_Process()
3355 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) in JPEG_Process()
3357 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFTF) != 0UL) in JPEG_Process()
3361 JPEG_ReadInputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3363 else if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_IFNFF) != 0UL) in JPEG_Process()
3367 JPEG_ReadInputData(hjpeg, 1); in JPEG_Process()
3377 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_Process()
3379 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFTF) != 0UL) in JPEG_Process()
3383 JPEG_StoreOutputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3385 else if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) in JPEG_Process()
3389 JPEG_StoreOutputData(hjpeg, 1); in JPEG_Process()
3398 …if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF | JPEG_FLAG_OFTF | JPEG_FLAG_OFNEF) == JPEG_FLAG_EOC… in JPEG_Process()
3401 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Process()
3403 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Process()
3406 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Process()
3410 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Process()
3413 if (hjpeg->JpegOutCount > 0UL) in JPEG_Process()
3417 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3419 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3422 hjpeg->JpegOutCount = 0; in JPEG_Process()
3426 tmpContext = hjpeg->Context; in JPEG_Process()
3428 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_Process()
3431 __HAL_UNLOCK(hjpeg); in JPEG_Process()
3434 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_Process()
3440 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_Process()
3442 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_Process()
3448 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_Process()
3450 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_Process()
3470 static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords) in JPEG_StoreOutputData() argument
3477 if (hjpeg->OutDataLength >= (hjpeg->JpegOutCount + (nbOutputWords * 4UL))) in JPEG_StoreOutputData()
3482 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3483 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); in JPEG_StoreOutputData()
3484 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); in JPEG_StoreOutputData()
3485hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3486hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); in JPEG_StoreOutputData()
3487 hjpeg->JpegOutCount += 4UL; in JPEG_StoreOutputData()
3489 if (hjpeg->OutDataLength == hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3493 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3495 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3497 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3500 else if (hjpeg->OutDataLength > hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3502 nb_words = (hjpeg->OutDataLength - hjpeg->JpegOutCount) / 4UL; in JPEG_StoreOutputData()
3506 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3507 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataword & 0x000000FFUL); in JPEG_StoreOutputData()
3508 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataword & 0x0000FF00UL) >> 8); in JPEG_StoreOutputData()
3509hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3510hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataword & 0xFF000000UL) >> 24); in JPEG_StoreOutputData()
3511 hjpeg->JpegOutCount += 4UL; in JPEG_StoreOutputData()
3513 if (hjpeg->OutDataLength == hjpeg->JpegOutCount) in JPEG_StoreOutputData()
3517 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3519 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3521 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3525 nb_bytes = hjpeg->OutDataLength - hjpeg->JpegOutCount; in JPEG_StoreOutputData()
3526 dataword = hjpeg->Instance->DOR; in JPEG_StoreOutputData()
3529hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * (index & 0x3UL))) & 0x… in JPEG_StoreOutputData()
3530 hjpeg->JpegOutCount++; in JPEG_StoreOutputData()
3534 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3536 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_StoreOutputData()
3539 hjpeg->JpegOutCount = 0; in JPEG_StoreOutputData()
3544hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)((dataword >> (8UL * index)) & 0xFFUL); in JPEG_StoreOutputData()
3545 hjpeg->JpegOutCount++; in JPEG_StoreOutputData()
3564 static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords) in JPEG_ReadInputData() argument
3572 if ((hjpeg->InDataLength == 0UL) || (nbRequestWords == 0UL)) in JPEG_ReadInputData()
3575 (void) HAL_JPEG_Pause(hjpeg, JPEG_PAUSE_RESUME_INPUT); in JPEG_ReadInputData()
3577 else if (hjpeg->InDataLength > hjpeg->JpegInCount) in JPEG_ReadInputData()
3579 nb_bytes = hjpeg->InDataLength - hjpeg->JpegInCount; in JPEG_ReadInputData()
3581 else if (hjpeg->InDataLength == hjpeg->JpegInCount) in JPEG_ReadInputData()
3585 hjpeg->GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_ReadInputData()
3587 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_ReadInputData()
3590 if (hjpeg->InDataLength > 4UL) in JPEG_ReadInputData()
3592 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in JPEG_ReadInputData()
3594 hjpeg->JpegInCount = 0; in JPEG_ReadInputData()
3595 nb_bytes = hjpeg->InDataLength; in JPEG_ReadInputData()
3601 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (nb_bytes > 0UL)) in JPEG_ReadInputData()
3608 input_count = hjpeg->JpegInCount; in JPEG_ReadInputData()
3609 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ in JPEG_ReadInputData()
3610 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ in JPEG_ReadInputData()
3611 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ in JPEG_ReadInputData()
3612 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); in JPEG_ReadInputData()
3614 hjpeg->JpegInCount += 4UL; in JPEG_ReadInputData()
3623 input_count = hjpeg->JpegInCount; in JPEG_ReadInputData()
3624 hjpeg->Instance->DIR = (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count])) | \ in JPEG_ReadInputData()
3625 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 1UL])) << 8) | \ in JPEG_ReadInputData()
3626 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 2UL])) << 16) | \ in JPEG_ReadInputData()
3627 (((uint32_t)(hjpeg->pJpegInBuffPtr[input_count + 3UL])) << 24)); in JPEG_ReadInputData()
3629 hjpeg->JpegInCount += 4UL; in JPEG_ReadInputData()
3638 … dataword |= (uint32_t)hjpeg->pJpegInBuffPtr[hjpeg->JpegInCount] << (8UL * (index & 0x03UL)); in JPEG_ReadInputData()
3639 hjpeg->JpegInCount++; in JPEG_ReadInputData()
3641 hjpeg->Instance->DIR = dataword; in JPEG_ReadInputData()
3653 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_StartProcess() argument
3655 if ((hjpeg->InDataLength < 4UL) || (hjpeg->OutDataLength < 4UL)) in JPEG_DMA_StartProcess()
3660 hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_StartProcess()
3663 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_StartProcess()
3666 hjpeg->hdmain->XferCpltCallback = JPEG_DMAInCpltCallback; in JPEG_DMA_StartProcess()
3668 hjpeg->hdmain->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3671 hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; in JPEG_DMA_StartProcess()
3673 hjpeg->hdmaout->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3675 hjpeg->hdmaout->XferAbortCallback = JPEG_DMAOutAbortCallback; in JPEG_DMA_StartProcess()
3678 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in JPEG_DMA_StartProcess()
3681 hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % 4UL); in JPEG_DMA_StartProcess()
3684 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMA_StartProcess()
3685 hjpeg->InDataLength >> 2) != HAL_OK) in JPEG_DMA_StartProcess()
3687 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3692 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMA_StartProcess()
3693 hjpeg->OutDataLength >> 2) != HAL_OK) in JPEG_DMA_StartProcess()
3695 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3700 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); in JPEG_DMA_StartProcess()
3711 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_ContinueProcess() argument
3714 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_DMA_ContinueProcess()
3716 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_HPDF) != 0UL) in JPEG_DMA_ContinueProcess()
3719 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3722 hjpeg->Conf.ImageQuality = 0; in JPEG_DMA_ContinueProcess()
3728 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3730 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3733 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_DMA_ContinueProcess()
3736 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_DMA_ContinueProcess()
3741 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) != 0UL) in JPEG_DMA_ContinueProcess()
3744 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_ContinueProcess()
3746 hjpeg->Context |= JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_ContinueProcess()
3749 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_ContinueProcess()
3751 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMA_ContinueProcess()
3754 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_DMA_ContinueProcess()
3756 if (hjpeg->hdmain->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3759 (void) HAL_DMA_Abort_IT(hjpeg->hdmain); in JPEG_DMA_ContinueProcess()
3762 if (hjpeg->hdmaout->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3765 (void) HAL_DMA_Abort_IT(hjpeg->hdmaout); in JPEG_DMA_ContinueProcess()
3769 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMA_ContinueProcess()
3782 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_EndProcess() argument
3785 hjpeg->JpegOutCount = hjpeg->OutDataLength - ((hjpeg->hdmaout->Instance->NDTR & DMA_SxNDT) << 2); in JPEG_DMA_EndProcess()
3788 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_EndProcess()
3791 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3793 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3796 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3800 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) in JPEG_DMA_EndProcess()
3802 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_EndProcess()
3806 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3808 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3811 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3815 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_EndProcess()
3817 tmpContext = hjpeg->Context; in JPEG_DMA_EndProcess()
3819 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_EndProcess()
3822 __HAL_UNLOCK(hjpeg); in JPEG_DMA_EndProcess()
3825 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_EndProcess()
3831 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3833 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3839 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3841 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3845 else if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_EndProcess()
3847 JPEG_DMA_PollResidualData(hjpeg); in JPEG_DMA_EndProcess()
3862 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_PollResidualData() argument
3870 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_PollResidualData()
3872 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) in JPEG_DMA_PollResidualData()
3874 dataOut = hjpeg->Instance->DOR; in JPEG_DMA_PollResidualData()
3875 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataOut & 0x000000FFUL); in JPEG_DMA_PollResidualData()
3876hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataOut & 0x0000FF00UL) >> 8); in JPEG_DMA_PollResidualData()
3877hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataOut & 0x00FF0000UL) >> 16); in JPEG_DMA_PollResidualData()
3878hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataOut & 0xFF000000UL) >> 24); in JPEG_DMA_PollResidualData()
3879 hjpeg->JpegOutCount += 4UL; in JPEG_DMA_PollResidualData()
3881 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_PollResidualData()
3885 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
3887 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
3890 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
3897 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
3899 …if ((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) || ((tmpContext & JPEG_CONTEXT_PAUSE_OUTP… in JPEG_DMA_PollResidualData()
3902 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_PollResidualData()
3904 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_PollResidualData()
3908 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
3910 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
3913 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
3916 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
3918 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_PollResidualData()
3921 __HAL_UNLOCK(hjpeg); in JPEG_DMA_PollResidualData()
3924 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_PollResidualData()
3930 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
3932 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
3938 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
3940 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
3953 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAInCpltCallback() local
3956 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAInCpltCallback()
3958 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAInCpltCallback()
3961 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
3963 hjpeg->JpegInCount = hjpeg->InDataLength - ((hdma->Instance->NDTR & DMA_SxNDT) << 2); in JPEG_DMAInCpltCallback()
3967 hjpeg->GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
3969 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
3972 if (hjpeg->InDataLength >= 4UL) in JPEG_DMAInCpltCallback()
3976 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in JPEG_DMAInCpltCallback()
3978 else if (hjpeg->InDataLength > 0UL) in JPEG_DMAInCpltCallback()
3981 hjpeg->InDataLength = 4; in JPEG_DMAInCpltCallback()
3984 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (hjpeg->InDataLength > 0UL)) in JPEG_DMAInCpltCallback()
3987 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMAInCpltCallback()
3988 hjpeg->InDataLength >> 2) != HAL_OK) in JPEG_DMAInCpltCallback()
3990 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAInCpltCallback()
3991 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAInCpltCallback()
3993 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
3995 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
3999 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
4003 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAInCpltCallback()
4014 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutCpltCallback() local
4017 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAOutCpltCallback()
4019 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAOutCpltCallback()
4022 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) == 0UL) in JPEG_DMAOutCpltCallback()
4024 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4025 hjpeg->JpegOutCount = hjpeg->OutDataLength - ((hdma->Instance->NDTR & DMA_SxNDT) << 2); in JPEG_DMAOutCpltCallback()
4029 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4031 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4034 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMAOutCpltCallback()
4037 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMAOutCpltCallback()
4038 hjpeg->OutDataLength >> 2) != HAL_OK) in JPEG_DMAOutCpltCallback()
4040 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAOutCpltCallback()
4041 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAOutCpltCallback()
4043 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4045 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4049 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4054 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAOutCpltCallback()
4066 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAErrorCallback() local
4072 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMAErrorCallback()
4075 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAErrorCallback()
4078 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_DMAErrorCallback()
4080 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMAErrorCallback()
4081 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAErrorCallback()
4083 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4085 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4097 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutAbortCallback() local
4099 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in JPEG_DMAOutAbortCallback()
4101 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMAOutAbortCallback()
4112 static uint32_t JPEG_GetQuality(JPEG_HandleTypeDef *hjpeg) in JPEG_GetQuality() argument
4116 __IO uint32_t *tableAddress = hjpeg->Instance->QMEM0; in JPEG_GetQuality()
4133 scale = (quantVal * 100UL) / ((uint32_t) hjpeg->QuantTable0[JPEG_ZIGZAG_ORDER[i + j]]); in JPEG_GetQuality()