Lines Matching refs:hjpeg
456 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeD…
458 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeD…
460 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg);
461 static void JPEG_Set_Huff_DHTMem(const JPEG_HandleTypeDef *hjpeg);
462 static uint32_t JPEG_Set_Quantization_Mem(const JPEG_HandleTypeDef *hjpeg, const uint8_t *QTable,
464 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg);
465 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg);
466 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg);
468 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg);
469 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg);
470 static void JPEG_ReadInputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbRequestWords);
471 static void JPEG_StoreOutputData(JPEG_HandleTypeDef *hjpeg, uint32_t nbOutputWords);
472 static uint32_t JPEG_GetQuality(const JPEG_HandleTypeDef *hjpeg);
474 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg);
475 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg);
476 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg);
477 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg);
513 HAL_StatusTypeDef HAL_JPEG_Init(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Init() argument
540 if (hjpeg == NULL) in HAL_JPEG_Init()
546 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
549 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
551 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_Init()
552 hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_Init()
553 hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_Init()
554 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_Init()
555 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_Init()
556 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_Init()
558 if (hjpeg->MspInitCallback == NULL) in HAL_JPEG_Init()
560 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_Init()
564 hjpeg->MspInitCallback(hjpeg); in HAL_JPEG_Init()
567 if (hjpeg->State == HAL_JPEG_STATE_RESET) in HAL_JPEG_Init()
570 hjpeg->Lock = HAL_UNLOCKED; in HAL_JPEG_Init()
573 HAL_JPEG_MspInit(hjpeg); in HAL_JPEG_Init()
578 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_Init()
581 __HAL_JPEG_ENABLE(hjpeg); in HAL_JPEG_Init()
584 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Init()
587 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Init()
590 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Init()
593 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Init()
594 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Init()
597 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Init()
600 hjpeg->QuantTable0 = (uint8_t *)((uint32_t)JPEG_LUM_QuantTable); in HAL_JPEG_Init()
601 hjpeg->QuantTable1 = (uint8_t *)((uint32_t)JPEG_CHROM_QuantTable); in HAL_JPEG_Init()
602 hjpeg->QuantTable2 = NULL; in HAL_JPEG_Init()
603 hjpeg->QuantTable3 = NULL; in HAL_JPEG_Init()
606 if (JPEG_Set_HuffEnc_Mem(hjpeg) != HAL_OK) in HAL_JPEG_Init()
608 hjpeg->ErrorCode = HAL_JPEG_ERROR_HUFF_TABLE; in HAL_JPEG_Init()
614 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_Init()
617 hjpeg->JpegInCount = 0; in HAL_JPEG_Init()
618 hjpeg->JpegOutCount = 0; in HAL_JPEG_Init()
621 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Init()
624 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_Init()
627 hjpeg->Context = 0; in HAL_JPEG_Init()
639 HAL_StatusTypeDef HAL_JPEG_DeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DeInit() argument
642 if (hjpeg == NULL) in HAL_JPEG_DeInit()
648 if (hjpeg->MspDeInitCallback == NULL) in HAL_JPEG_DeInit()
650 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_DeInit()
654 hjpeg->MspDeInitCallback(hjpeg); in HAL_JPEG_DeInit()
658 HAL_JPEG_MspDeInit(hjpeg); in HAL_JPEG_DeInit()
662 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DeInit()
665 hjpeg->ErrorCode = HAL_JPEG_ERROR_NONE; in HAL_JPEG_DeInit()
668 hjpeg->JpegInCount = 0; in HAL_JPEG_DeInit()
669 hjpeg->JpegOutCount = 0; in HAL_JPEG_DeInit()
672 hjpeg->State = HAL_JPEG_STATE_RESET; in HAL_JPEG_DeInit()
675 hjpeg->Context = 0; in HAL_JPEG_DeInit()
678 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DeInit()
690 __weak void HAL_JPEG_MspInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspInit() argument
693 UNUSED(hjpeg); in HAL_JPEG_MspInit()
706 __weak void HAL_JPEG_MspDeInit(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_MspDeInit() argument
709 UNUSED(hjpeg); in HAL_JPEG_MspDeInit()
731 HAL_StatusTypeDef HAL_JPEG_RegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef C… in HAL_JPEG_RegisterCallback() argument
739 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
743 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterCallback()
745 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterCallback()
750 hjpeg->EncodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
754 hjpeg->DecodeCpltCallback = pCallback; in HAL_JPEG_RegisterCallback()
758 hjpeg->ErrorCallback = pCallback; in HAL_JPEG_RegisterCallback()
762 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
766 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
771 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
777 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_RegisterCallback()
782 hjpeg->MspInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
786 hjpeg->MspDeInitCallback = pCallback; in HAL_JPEG_RegisterCallback()
791 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
800 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterCallback()
806 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterCallback()
823 HAL_StatusTypeDef HAL_JPEG_UnRegisterCallback(JPEG_HandleTypeDef *hjpeg, HAL_JPEG_CallbackIDTypeDef… in HAL_JPEG_UnRegisterCallback() argument
828 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
830 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
835 … hjpeg->EncodeCpltCallback = HAL_JPEG_EncodeCpltCallback; /* Legacy weak EncodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
839 … hjpeg->DecodeCpltCallback = HAL_JPEG_DecodeCpltCallback; /* Legacy weak DecodeCpltCallback */ in HAL_JPEG_UnRegisterCallback()
843 hjpeg->ErrorCallback = HAL_JPEG_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_JPEG_UnRegisterCallback()
847 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
851 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspDeInit */ in HAL_JPEG_UnRegisterCallback()
856 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
862 else if (HAL_JPEG_STATE_RESET == hjpeg->State) in HAL_JPEG_UnRegisterCallback()
867 hjpeg->MspInitCallback = HAL_JPEG_MspInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
871 hjpeg->MspDeInitCallback = HAL_JPEG_MspDeInit; /* Legacy weak MspInit */ in HAL_JPEG_UnRegisterCallback()
876 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
885 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterCallback()
891 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterCallback()
902 HAL_StatusTypeDef HAL_JPEG_RegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterInfoReadyCallback() argument
910 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
914 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
916 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterInfoReadyCallback()
918 hjpeg->InfoReadyCallback = pCallback; in HAL_JPEG_RegisterInfoReadyCallback()
923 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterInfoReadyCallback()
929 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterInfoReadyCallback()
939 HAL_StatusTypeDef HAL_JPEG_UnRegisterInfoReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterInfoReadyCallback() argument
944 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
946 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterInfoReadyCallback()
948 hjpeg->InfoReadyCallback = HAL_JPEG_InfoReadyCallback; /* Legacy weak InfoReadyCallback */ in HAL_JPEG_UnRegisterInfoReadyCallback()
953 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterInfoReadyCallback()
959 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterInfoReadyCallback()
970 HAL_StatusTypeDef HAL_JPEG_RegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg, pJPEG_GetDataCallback… in HAL_JPEG_RegisterGetDataCallback() argument
977 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
981 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
983 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterGetDataCallback()
985 hjpeg->GetDataCallback = pCallback; in HAL_JPEG_RegisterGetDataCallback()
990 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterGetDataCallback()
996 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterGetDataCallback()
1006 HAL_StatusTypeDef HAL_JPEG_UnRegisterGetDataCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterGetDataCallback() argument
1011 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
1013 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterGetDataCallback()
1015 hjpeg->GetDataCallback = HAL_JPEG_GetDataCallback; /* Legacy weak GetDataCallback */ in HAL_JPEG_UnRegisterGetDataCallback()
1020 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterGetDataCallback()
1026 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterGetDataCallback()
1037 HAL_StatusTypeDef HAL_JPEG_RegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg, in HAL_JPEG_RegisterDataReadyCallback() argument
1045 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1049 __HAL_LOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1051 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_RegisterDataReadyCallback()
1053 hjpeg->DataReadyCallback = pCallback; in HAL_JPEG_RegisterDataReadyCallback()
1058 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_RegisterDataReadyCallback()
1064 __HAL_UNLOCK(hjpeg); in HAL_JPEG_RegisterDataReadyCallback()
1074 HAL_StatusTypeDef HAL_JPEG_UnRegisterDataReadyCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_UnRegisterDataReadyCallback() argument
1079 __HAL_LOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1081 if (HAL_JPEG_STATE_READY == hjpeg->State) in HAL_JPEG_UnRegisterDataReadyCallback()
1083 hjpeg->DataReadyCallback = HAL_JPEG_DataReadyCallback; /* Legacy weak DataReadyCallback */ in HAL_JPEG_UnRegisterDataReadyCallback()
1088 hjpeg->ErrorCode |= HAL_JPEG_ERROR_INVALID_CALLBACK; in HAL_JPEG_UnRegisterDataReadyCallback()
1094 __HAL_UNLOCK(hjpeg); in HAL_JPEG_UnRegisterDataReadyCallback()
1130 HAL_StatusTypeDef HAL_JPEG_ConfigEncoding(JPEG_HandleTypeDef *hjpeg, const JPEG_ConfTypeDef *pConf) in HAL_JPEG_ConfigEncoding() argument
1140 if ((hjpeg == NULL) || (pConf == NULL)) in HAL_JPEG_ConfigEncoding()
1152 __HAL_LOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1154 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_ConfigEncoding()
1156 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_ConfigEncoding()
1158 hjpeg->Conf.ColorSpace = pConf->ColorSpace; in HAL_JPEG_ConfigEncoding()
1159 hjpeg->Conf.ChromaSubsampling = pConf->ChromaSubsampling; in HAL_JPEG_ConfigEncoding()
1160 hjpeg->Conf.ImageHeight = pConf->ImageHeight; in HAL_JPEG_ConfigEncoding()
1161 hjpeg->Conf.ImageWidth = pConf->ImageWidth; in HAL_JPEG_ConfigEncoding()
1162 hjpeg->Conf.ImageQuality = pConf->ImageQuality; in HAL_JPEG_ConfigEncoding()
1165 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1168 if (hjpeg->Conf.ColorSpace == JPEG_GRAYSCALE_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1171 hjpeg->Conf.ChromaSubsampling = JPEG_444_SUBSAMPLING; in HAL_JPEG_ConfigEncoding()
1173 JPEG_SetColorGrayScale(hjpeg); in HAL_JPEG_ConfigEncoding()
1175 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1177 else if (hjpeg->Conf.ColorSpace == JPEG_YCBCR_COLORSPACE) in HAL_JPEG_ConfigEncoding()
1183 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_0; in HAL_JPEG_ConfigEncoding()
1185 JPEG_SetColorYCBCR(hjpeg); in HAL_JPEG_ConfigEncoding()
1188 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1190 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1192 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1196 hjpeg->Instance->CONFR1 &= (~JPEG_CONFR1_COLORSPACE); in HAL_JPEG_ConfigEncoding()
1197 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE_1; in HAL_JPEG_ConfigEncoding()
1199 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1202 hjpeg->Instance->CONFR5 &= (~JPEG_CONFR5_QT); in HAL_JPEG_ConfigEncoding()
1203 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1206 hjpeg->Instance->CONFR6 &= (~JPEG_CONFR6_QT); in HAL_JPEG_ConfigEncoding()
1207 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1212 JPEG_SetColorCMYK(hjpeg); in HAL_JPEG_ConfigEncoding()
1215 error = JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable0, (hjpeg->Instance->QMEM0)); in HAL_JPEG_ConfigEncoding()
1218 if ((hjpeg->Context & JPEG_CONTEXT_CUSTOM_TABLES) != 0UL) in HAL_JPEG_ConfigEncoding()
1222 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_COLORSPACE; in HAL_JPEG_ConfigEncoding()
1224 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable1, (hjpeg->Instance->QMEM1)); in HAL_JPEG_ConfigEncoding()
1225 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable2, (hjpeg->Instance->QMEM2)); in HAL_JPEG_ConfigEncoding()
1226 (void) JPEG_Set_Quantization_Mem(hjpeg, hjpeg->QuantTable3, (hjpeg->Instance->QMEM3)); in HAL_JPEG_ConfigEncoding()
1229 hjpeg->Instance->CONFR5 |= JPEG_CONFR5_QT_0; in HAL_JPEG_ConfigEncoding()
1232 hjpeg->Instance->CONFR6 |= JPEG_CONFR6_QT_1; in HAL_JPEG_ConfigEncoding()
1235 hjpeg->Instance->CONFR7 |= JPEG_CONFR7_QT; in HAL_JPEG_ConfigEncoding()
1241 hjpeg->ErrorCode = HAL_JPEG_ERROR_QUANT_TABLE; in HAL_JPEG_ConfigEncoding()
1244 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1247 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1253 …MODIFY_REG(hjpeg->Instance->CONFR1, JPEG_CONFR1_YSIZE, ((hjpeg->Conf.ImageHeight & 0x0000FFFFUL) <… in HAL_JPEG_ConfigEncoding()
1255 …MODIFY_REG(hjpeg->Instance->CONFR3, JPEG_CONFR3_XSIZE, ((hjpeg->Conf.ImageWidth & 0x0000FFFFUL) <<… in HAL_JPEG_ConfigEncoding()
1258 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) /* 4:2:0*/ in HAL_JPEG_ConfigEncoding()
1263 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) /* 4:2:2*/ in HAL_JPEG_ConfigEncoding()
1274 hMCU = (hjpeg->Conf.ImageWidth / hfactor); in HAL_JPEG_ConfigEncoding()
1275 if ((hjpeg->Conf.ImageWidth % hfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1280 vMCU = (hjpeg->Conf.ImageHeight / vfactor); in HAL_JPEG_ConfigEncoding()
1281 if ((hjpeg->Conf.ImageHeight % vfactor) != 0UL) in HAL_JPEG_ConfigEncoding()
1288 hjpeg->Instance->CONFR2 = (numberMCU & JPEG_CONFR2_NMCU); in HAL_JPEG_ConfigEncoding()
1290 hjpeg->Context |= JPEG_CONTEXT_CONF_ENCODING; in HAL_JPEG_ConfigEncoding()
1293 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1296 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_ConfigEncoding()
1304 __HAL_UNLOCK(hjpeg); in HAL_JPEG_ConfigEncoding()
1320 HAL_StatusTypeDef HAL_JPEG_GetInfo(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_GetInfo() argument
1327 if ((hjpeg == NULL) || (pInfo == NULL)) in HAL_JPEG_GetInfo()
1333 if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF_1) in HAL_JPEG_GetInfo()
1337 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == 0UL) in HAL_JPEG_GetInfo()
1341 else if ((hjpeg->Instance->CONFR1 & JPEG_CONFR1_NF) == JPEG_CONFR1_NF) in HAL_JPEG_GetInfo()
1350 pInfo->ImageHeight = (hjpeg->Instance->CONFR1 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1351 pInfo->ImageWidth = (hjpeg->Instance->CONFR3 & 0xFFFF0000UL) >> 16; in HAL_JPEG_GetInfo()
1355 yblockNb = (hjpeg->Instance->CONFR4 & JPEG_CONFR4_NB) >> 4; in HAL_JPEG_GetInfo()
1356 cBblockNb = (hjpeg->Instance->CONFR5 & JPEG_CONFR5_NB) >> 4; in HAL_JPEG_GetInfo()
1357 cRblockNb = (hjpeg->Instance->CONFR6 & JPEG_CONFR6_NB) >> 4; in HAL_JPEG_GetInfo()
1381 pInfo->ImageQuality = JPEG_GetQuality(hjpeg); in HAL_JPEG_GetInfo()
1393 HAL_StatusTypeDef HAL_JPEG_EnableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EnableHeaderParsing() argument
1396 __HAL_LOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1398 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_EnableHeaderParsing()
1401 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_EnableHeaderParsing()
1404 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_HDR; in HAL_JPEG_EnableHeaderParsing()
1407 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1410 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_EnableHeaderParsing()
1417 __HAL_UNLOCK(hjpeg); in HAL_JPEG_EnableHeaderParsing()
1429 HAL_StatusTypeDef HAL_JPEG_DisableHeaderParsing(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DisableHeaderParsing() argument
1432 __HAL_LOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1434 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_DisableHeaderParsing()
1437 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_DisableHeaderParsing()
1440 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_HDR; in HAL_JPEG_DisableHeaderParsing()
1443 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1446 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_DisableHeaderParsing()
1453 __HAL_UNLOCK(hjpeg); in HAL_JPEG_DisableHeaderParsing()
1476 HAL_StatusTypeDef HAL_JPEG_SetUserQuantTables(JPEG_HandleTypeDef *hjpeg, uint8_t *QTable0, uint8_t… in HAL_JPEG_SetUserQuantTables() argument
1480 __HAL_LOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1482 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_SetUserQuantTables()
1485 hjpeg->State = HAL_JPEG_STATE_BUSY; in HAL_JPEG_SetUserQuantTables()
1487 hjpeg->Context |= JPEG_CONTEXT_CUSTOM_TABLES; in HAL_JPEG_SetUserQuantTables()
1489 hjpeg->QuantTable0 = QTable0; in HAL_JPEG_SetUserQuantTables()
1490 hjpeg->QuantTable1 = QTable1; in HAL_JPEG_SetUserQuantTables()
1491 hjpeg->QuantTable2 = QTable2; in HAL_JPEG_SetUserQuantTables()
1492 hjpeg->QuantTable3 = QTable3; in HAL_JPEG_SetUserQuantTables()
1495 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1498 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_SetUserQuantTables()
1506 __HAL_UNLOCK(hjpeg); in HAL_JPEG_SetUserQuantTables()
1551 HAL_StatusTypeDef HAL_JPEG_Encode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDataL… in HAL_JPEG_Encode() argument
1561 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode()
1566 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode()
1568 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1571 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1576 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Encode()
1578 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode()
1581 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode()
1584 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode()
1585 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Encode()
1591 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode()
1592 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode()
1593 … hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /* In Data length must be multiple in HAL_JPEG_Encode()
1595 … hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /* Out Data length must be multiple in HAL_JPEG_Encode()
1599 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode()
1600 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode()
1603 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode()
1606 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Encode()
1614 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Encode()
1617 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1620 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1628 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1631 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Encode()
1637 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode()
1657 HAL_StatusTypeDef HAL_JPEG_Decode(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataLeng… in HAL_JPEG_Decode() argument
1667 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode()
1673 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode()
1678 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode()
1681 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode()
1685 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode()
1686 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_POLLING); in HAL_JPEG_Decode()
1689 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode()
1690 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode()
1691 hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Decode()
1693 hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Decode()
1697 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode()
1698 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode()
1701 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode()
1704 while ((JPEG_Process(hjpeg) == JPEG_PROCESS_ONGOING)) in HAL_JPEG_Decode()
1712 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Decode()
1715 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1718 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1726 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1729 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Decode()
1735 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode()
1753 HAL_StatusTypeDef HAL_JPEG_Encode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InDa… in HAL_JPEG_Encode_IT() argument
1761 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_IT()
1767 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_IT()
1769 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_IT()
1772 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1778 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_IT()
1781 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_IT()
1784 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_IT()
1785 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_IT); in HAL_JPEG_Encode_IT()
1788 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_IT()
1789 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_IT()
1790 … hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Encode_IT()
1792 … hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Encode_IT()
1796 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_IT()
1797 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_IT()
1800 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_IT()
1806 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_IT()
1825 HAL_StatusTypeDef HAL_JPEG_Decode_IT(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InDataL… in HAL_JPEG_Decode_IT() argument
1833 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_IT()
1839 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_IT()
1841 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_IT()
1844 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_IT()
1847 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_IT()
1848 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_IT); in HAL_JPEG_Decode_IT()
1851 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_IT()
1852 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_IT()
1853 hjpeg->InDataLength = InDataLength - (InDataLength % 4UL); /*In Data length must be multiple in HAL_JPEG_Decode_IT()
1855 hjpeg->OutDataLength = OutDataLength - (OutDataLength % 4UL); /*Out Data length must be multiple in HAL_JPEG_Decode_IT()
1859 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_IT()
1860 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_IT()
1863 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_IT()
1869 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_IT()
1887 HAL_StatusTypeDef HAL_JPEG_Encode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataInMCU, uint32_t InD… in HAL_JPEG_Encode_DMA() argument
1895 if ((hjpeg == NULL) || (pDataInMCU == NULL) || (pDataOut == NULL)) in HAL_JPEG_Encode_DMA()
1901 __HAL_LOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1903 if (hjpeg->State != HAL_JPEG_STATE_READY) in HAL_JPEG_Encode_DMA()
1906 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1912 if ((hjpeg->Context & JPEG_CONTEXT_CONF_ENCODING) == JPEG_CONTEXT_CONF_ENCODING) in HAL_JPEG_Encode_DMA()
1915 hjpeg->State = HAL_JPEG_STATE_BUSY_ENCODING; in HAL_JPEG_Encode_DMA()
1918 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Encode_DMA()
1919 hjpeg->Context |= (JPEG_CONTEXT_ENCODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Encode_DMA()
1922 hjpeg->pJpegInBuffPtr = pDataInMCU; in HAL_JPEG_Encode_DMA()
1923 hjpeg->pJpegOutBuffPtr = pDataOut; in HAL_JPEG_Encode_DMA()
1924 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Encode_DMA()
1925 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Encode_DMA()
1928 hjpeg->JpegInCount = 0; in HAL_JPEG_Encode_DMA()
1929 hjpeg->JpegOutCount = 0; in HAL_JPEG_Encode_DMA()
1932 JPEG_Init_Process(hjpeg); in HAL_JPEG_Encode_DMA()
1935 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Encode_DMA()
1938 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Encode_DMA()
1940 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1949 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Encode_DMA()
1968 HAL_StatusTypeDef HAL_JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataIn, uint32_t InData… in HAL_JPEG_Decode_DMA() argument
1976 if ((hjpeg == NULL) || (pDataIn == NULL) || (pDataOutMCU == NULL)) in HAL_JPEG_Decode_DMA()
1982 __HAL_LOCK(hjpeg); in HAL_JPEG_Decode_DMA()
1984 if (hjpeg->State == HAL_JPEG_STATE_READY) in HAL_JPEG_Decode_DMA()
1987 hjpeg->State = HAL_JPEG_STATE_BUSY_DECODING; in HAL_JPEG_Decode_DMA()
1990 hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK); in HAL_JPEG_Decode_DMA()
1991 hjpeg->Context |= (JPEG_CONTEXT_DECODE | JPEG_CONTEXT_DMA); in HAL_JPEG_Decode_DMA()
1994 hjpeg->pJpegInBuffPtr = pDataIn; in HAL_JPEG_Decode_DMA()
1995 hjpeg->pJpegOutBuffPtr = pDataOutMCU; in HAL_JPEG_Decode_DMA()
1996 hjpeg->InDataLength = InDataLength; in HAL_JPEG_Decode_DMA()
1997 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_Decode_DMA()
2000 hjpeg->JpegInCount = 0; in HAL_JPEG_Decode_DMA()
2001 hjpeg->JpegOutCount = 0; in HAL_JPEG_Decode_DMA()
2004 JPEG_Init_Process(hjpeg); in HAL_JPEG_Decode_DMA()
2007 if (JPEG_DMA_StartProcess(hjpeg) != HAL_OK) in HAL_JPEG_Decode_DMA()
2010 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Decode_DMA()
2012 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
2020 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Decode_DMA()
2038 HAL_StatusTypeDef HAL_JPEG_Pause(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Pause() argument
2044 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Pause()
2048 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2053 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2056 JPEG_DISABLE_DMA(hjpeg, mask); in HAL_JPEG_Pause()
2059 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Pause()
2064 hjpeg->Context |= JPEG_CONTEXT_PAUSE_INPUT; in HAL_JPEG_Pause()
2069 hjpeg->Context |= JPEG_CONTEXT_PAUSE_OUTPUT; in HAL_JPEG_Pause()
2072 __HAL_JPEG_DISABLE_IT(hjpeg, mask); in HAL_JPEG_Pause()
2094 HAL_StatusTypeDef HAL_JPEG_Resume(JPEG_HandleTypeDef *hjpeg, uint32_t XferSelection) in HAL_JPEG_Resume() argument
2100 if ((hjpeg->Context & (JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)) == 0UL) in HAL_JPEG_Resume()
2106 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_Resume()
2111 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2116 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in HAL_JPEG_Resume()
2118 if (hjpeg->InDataLength > 0UL) in HAL_JPEG_Resume()
2121 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in HAL_JPEG_Resume()
2122 hjpeg->InDataLength) != 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()
2132 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2134 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in HAL_JPEG_Resume()
2136 JPEG_DMA_PollResidualData(hjpeg); in HAL_JPEG_Resume()
2143 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in HAL_JPEG_Resume()
2144 hjpeg->OutDataLength) != HAL_OK) in HAL_JPEG_Resume()
2146 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Resume()
2147 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Resume()
2153 JPEG_ENABLE_DMA(hjpeg, mask); in HAL_JPEG_Resume()
2156 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_Resume()
2160 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_INPUT); in HAL_JPEG_Resume()
2165 hjpeg->Context &= (~JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Resume()
2168 __HAL_JPEG_ENABLE_IT(hjpeg, mask); in HAL_JPEG_Resume()
2188 void HAL_JPEG_ConfigInputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewInputBuffer, uint32_t InDat… in HAL_JPEG_ConfigInputBuffer() argument
2190 hjpeg->pJpegInBuffPtr = pNewInputBuffer; in HAL_JPEG_ConfigInputBuffer()
2191 hjpeg->InDataLength = InDataLength; in HAL_JPEG_ConfigInputBuffer()
2202 void HAL_JPEG_ConfigOutputBuffer(JPEG_HandleTypeDef *hjpeg, uint8_t *pNewOutputBuffer, uint32_t Out… in HAL_JPEG_ConfigOutputBuffer() argument
2204 hjpeg->pJpegOutBuffPtr = pNewOutputBuffer; in HAL_JPEG_ConfigOutputBuffer()
2205 hjpeg->OutDataLength = OutDataLength; in HAL_JPEG_ConfigOutputBuffer()
2214 HAL_StatusTypeDef HAL_JPEG_Abort(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_Abort() argument
2218 tmpContext = hjpeg->Context; in HAL_JPEG_Abort()
2221 …hjpeg->Context &= ~(JPEG_CONTEXT_OPERATION_MASK | JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_D… in HAL_JPEG_Abort()
2226 if (HAL_DMA_Abort(hjpeg->hdmaout) != HAL_OK) in HAL_JPEG_Abort()
2228 if (hjpeg->hdmaout->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2230 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2233 if (HAL_DMA_Abort(hjpeg->hdmain) != HAL_OK) in HAL_JPEG_Abort()
2235 if (hjpeg->hdmain->ErrorCode == HAL_DMA_ERROR_TIMEOUT) in HAL_JPEG_Abort()
2237 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in HAL_JPEG_Abort()
2244 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in HAL_JPEG_Abort()
2250 while (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_COF) != 0UL) in HAL_JPEG_Abort()
2256 hjpeg->ErrorCode |= HAL_JPEG_ERROR_TIMEOUT; in HAL_JPEG_Abort()
2259 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2265 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in HAL_JPEG_Abort()
2268 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in HAL_JPEG_Abort()
2271 hjpeg->Instance->CR |= JPEG_CR_IFF; in HAL_JPEG_Abort()
2272 hjpeg->Instance->CR |= JPEG_CR_OFF; in HAL_JPEG_Abort()
2275 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in HAL_JPEG_Abort()
2278 hjpeg->JpegInCount = 0; in HAL_JPEG_Abort()
2279 hjpeg->JpegOutCount = 0; in HAL_JPEG_Abort()
2282 hjpeg->Context &= ~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT); in HAL_JPEG_Abort()
2285 if (hjpeg->ErrorCode != HAL_JPEG_ERROR_NONE) in HAL_JPEG_Abort()
2287 hjpeg->State = HAL_JPEG_STATE_ERROR; in HAL_JPEG_Abort()
2289 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2295 hjpeg->State = HAL_JPEG_STATE_READY; in HAL_JPEG_Abort()
2297 __HAL_UNLOCK(hjpeg); in HAL_JPEG_Abort()
2336 __weak void HAL_JPEG_InfoReadyCallback(JPEG_HandleTypeDef *hjpeg, JPEG_ConfTypeDef *pInfo) in HAL_JPEG_InfoReadyCallback() argument
2339 UNUSED(hjpeg); in HAL_JPEG_InfoReadyCallback()
2353 __weak void HAL_JPEG_EncodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_EncodeCpltCallback() argument
2356 UNUSED(hjpeg); in HAL_JPEG_EncodeCpltCallback()
2369 __weak void HAL_JPEG_DecodeCpltCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_DecodeCpltCallback() argument
2372 UNUSED(hjpeg); in HAL_JPEG_DecodeCpltCallback()
2385 __weak void HAL_JPEG_ErrorCallback(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_ErrorCallback() argument
2388 UNUSED(hjpeg); in HAL_JPEG_ErrorCallback()
2402 __weak void HAL_JPEG_GetDataCallback(JPEG_HandleTypeDef *hjpeg, uint32_t NbDecodedData) in HAL_JPEG_GetDataCallback() argument
2405 UNUSED(hjpeg); in HAL_JPEG_GetDataCallback()
2421 __weak void HAL_JPEG_DataReadyCallback(JPEG_HandleTypeDef *hjpeg, uint8_t *pDataOut, uint32_t OutDa… in HAL_JPEG_DataReadyCallback() argument
2424 UNUSED(hjpeg); in HAL_JPEG_DataReadyCallback()
2458 void HAL_JPEG_IRQHandler(JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_IRQHandler() argument
2460 switch (hjpeg->State) in HAL_JPEG_IRQHandler()
2466 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in HAL_JPEG_IRQHandler()
2468 (void) JPEG_Process(hjpeg); in HAL_JPEG_IRQHandler()
2470 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in HAL_JPEG_IRQHandler()
2472 JPEG_DMA_ContinueProcess(hjpeg); in HAL_JPEG_IRQHandler()
2510 HAL_JPEG_STATETypeDef HAL_JPEG_GetState(const JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetState() argument
2512 return hjpeg->State; in HAL_JPEG_GetState()
2521 uint32_t HAL_JPEG_GetError(const JPEG_HandleTypeDef *hjpeg) in HAL_JPEG_GetError() argument
2523 return hjpeg->ErrorCode; in HAL_JPEG_GetError()
2717 static HAL_StatusTypeDef JPEG_Set_HuffDC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_DCHuffTableTypeD… in JPEG_Set_HuffDC_Mem() argument
2728 if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC0)) in JPEG_Set_HuffDC_Mem()
2730 address = (hjpeg->Instance->HUFFENC_DC0 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2732 else if (DCTableAddress == (hjpeg->Instance->HUFFENC_DC1)) in JPEG_Set_HuffDC_Mem()
2734 address = (hjpeg->Instance->HUFFENC_DC1 + (JPEG_DC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffDC_Mem()
2780 static HAL_StatusTypeDef JPEG_Set_HuffAC_Mem(const JPEG_HandleTypeDef *hjpeg, JPEG_ACHuffTableTypeD… in JPEG_Set_HuffAC_Mem() argument
2791 if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC0)) in JPEG_Set_HuffAC_Mem()
2793 address = (hjpeg->Instance->HUFFENC_AC0 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2795 else if (ACTableAddress == (hjpeg->Instance->HUFFENC_AC1)) in JPEG_Set_HuffAC_Mem()
2797 address = (hjpeg->Instance->HUFFENC_AC1 + (JPEG_AC_HUFF_TABLE_SIZE / 2UL)); in JPEG_Set_HuffAC_Mem()
2856 static HAL_StatusTypeDef JPEG_Set_HuffEnc_Mem(JPEG_HandleTypeDef *hjpeg) in JPEG_Set_HuffEnc_Mem() argument
2860 JPEG_Set_Huff_DHTMem(hjpeg); in JPEG_Set_HuffEnc_Mem()
2861 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2862 (hjpeg->Instance->HUFFENC_AC0)); in JPEG_Set_HuffEnc_Mem()
2868 error = JPEG_Set_HuffAC_Mem(hjpeg, (JPEG_ACHuffTableTypeDef *)(uint32_t)&JPEG_ACCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2869 (hjpeg->Instance->HUFFENC_AC1)); in JPEG_Set_HuffEnc_Mem()
2875 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCLUM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2876 hjpeg->Instance->HUFFENC_DC0); in JPEG_Set_HuffEnc_Mem()
2882 error = JPEG_Set_HuffDC_Mem(hjpeg, (JPEG_DCHuffTableTypeDef *)(uint32_t)&JPEG_DCCHROM_HuffTable, in JPEG_Set_HuffEnc_Mem()
2883 hjpeg->Instance->HUFFENC_DC1); in JPEG_Set_HuffEnc_Mem()
2899 static void JPEG_Set_Huff_DHTMem(const JPEG_HandleTypeDef *hjpeg) in JPEG_Set_Huff_DHTMem() argument
2911 address = (hjpeg->Instance->DHTMEM + 3); in JPEG_Set_Huff_DHTMem()
2926 address = (hjpeg->Instance->DHTMEM + 6); in JPEG_Set_Huff_DHTMem()
2940 address = (hjpeg->Instance->DHTMEM + 10UL); in JPEG_Set_Huff_DHTMem()
2956 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2978 address = (hjpeg->Instance->DHTMEM + 51); in JPEG_Set_Huff_DHTMem()
2985 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
3008 address = (hjpeg->Instance->DHTMEM + 55); in JPEG_Set_Huff_DHTMem()
3015 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3037 address = (hjpeg->Instance->DHTMEM + 58); in JPEG_Set_Huff_DHTMem()
3044 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3066 address = (hjpeg->Instance->DHTMEM + 62); in JPEG_Set_Huff_DHTMem()
3073 address = (hjpeg->Instance->DHTMEM + 102); in JPEG_Set_Huff_DHTMem()
3096 static uint32_t JPEG_Set_Quantization_Mem(const JPEG_HandleTypeDef *hjpeg, const uint8_t *QTable, in JPEG_Set_Quantization_Mem() argument
3108 if ((hjpeg->Conf.ImageQuality >= 50UL) && (hjpeg->Conf.ImageQuality <= 100UL)) in JPEG_Set_Quantization_Mem()
3110 ScaleFactor = JPEG_HIGH_QUALITY_REFERENCE - (hjpeg->Conf.ImageQuality * 2UL); in JPEG_Set_Quantization_Mem()
3112 else if (hjpeg->Conf.ImageQuality > 0UL) in JPEG_Set_Quantization_Mem()
3114 ScaleFactor = JPEG_LOW_QUALITY_REFERENCE / ((uint32_t) hjpeg->Conf.ImageQuality); in JPEG_Set_Quantization_Mem()
3162 static void JPEG_SetColorYCBCR(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorYCBCR() argument
3169 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_NF; in JPEG_SetColorYCBCR()
3170 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_NF_1; in JPEG_SetColorYCBCR()
3173 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorYCBCR()
3180 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorYCBCR()
3195 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorYCBCR()
3196 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF_1 | JPEG_CONFR1_NS_1); in JPEG_SetColorYCBCR()
3199 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorYCBCR()
3202 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorYCBCR()
3205 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorYCBCR()
3208 …hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0 | JPEG_CONFR5_QT_0 | JPEG_CONFR5… in JPEG_SetColorYCBCR()
3212 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorYCBCR()
3217 …hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0 | JPEG_CONFR6_QT_0 | JPEG_CONFR6… in JPEG_SetColorYCBCR()
3228 static void JPEG_SetColorGrayScale(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorGrayScale() argument
3231 hjpeg->Instance->CONFR1 &= ~(JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorGrayScale()
3237 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorGrayScale()
3240 hjpeg->Instance->CONFR4 |= JPEG_CONFR4_HSF_0 | JPEG_CONFR4_VSF_0 ; in JPEG_SetColorGrayScale()
3249 static void JPEG_SetColorCMYK(JPEG_HandleTypeDef *hjpeg) in JPEG_SetColorCMYK() argument
3256 hjpeg->Instance->CONFR1 |= (JPEG_CONFR1_NF | JPEG_CONFR1_NS); in JPEG_SetColorCMYK()
3259 if (hjpeg->Conf.ChromaSubsampling == JPEG_420_SUBSAMPLING) in JPEG_SetColorCMYK()
3266 else if (hjpeg->Conf.ChromaSubsampling == JPEG_422_SUBSAMPLING) in JPEG_SetColorCMYK()
3282 hjpeg->Instance->CONFR4 = 0; in JPEG_SetColorCMYK()
3285 hjpeg->Instance->CONFR4 |= (ySamplingH | ySamplingV | (yblockNb & JPEG_CONFR4_NB)); in JPEG_SetColorCMYK()
3288 hjpeg->Instance->CONFR5 = 0; in JPEG_SetColorCMYK()
3291 hjpeg->Instance->CONFR5 |= (JPEG_CONFR5_HSF_0 | JPEG_CONFR5_VSF_0); in JPEG_SetColorCMYK()
3294 hjpeg->Instance->CONFR6 = 0; in JPEG_SetColorCMYK()
3297 hjpeg->Instance->CONFR6 |= (JPEG_CONFR6_HSF_0 | JPEG_CONFR6_VSF_0); in JPEG_SetColorCMYK()
3300 hjpeg->Instance->CONFR7 = 0; in JPEG_SetColorCMYK()
3303 hjpeg->Instance->CONFR7 |= (JPEG_CONFR7_HSF_0 | JPEG_CONFR7_VSF_0); in JPEG_SetColorCMYK()
3312 static void JPEG_Init_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Init_Process() argument
3315 hjpeg->Context &= (~(JPEG_CONTEXT_PAUSE_INPUT | JPEG_CONTEXT_PAUSE_OUTPUT)); in JPEG_Init_Process()
3317 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Init_Process()
3320 hjpeg->Instance->CONFR1 |= JPEG_CONFR1_DE; in JPEG_Init_Process()
3325 hjpeg->Instance->CONFR1 &= ~JPEG_CONFR1_DE; in JPEG_Init_Process()
3329 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Init_Process()
3332 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Init_Process()
3335 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_Init_Process()
3337 hjpeg->Instance->CR |= JPEG_CR_IFF; in JPEG_Init_Process()
3338 hjpeg->Instance->CR |= JPEG_CR_OFF; in JPEG_Init_Process()
3341 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Init_Process()
3344 hjpeg->Instance->CONFR0 |= JPEG_CONFR0_START; in JPEG_Init_Process()
3346 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Init_Process()
3349 …__HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_IFT | JPEG_IT_IFNF | JPEG_IT_OFT | JPEG_IT_OFNE | JPEG_IT_EOC … in JPEG_Init_Process()
3351 else if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_DMA) in JPEG_Init_Process()
3354 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_Init_Process()
3369 static uint32_t JPEG_Process(JPEG_HandleTypeDef *hjpeg) in JPEG_Process() argument
3372 uint32_t itflag = hjpeg->Instance->SR; in JPEG_Process()
3375 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_Process()
3380 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_Process()
3382 hjpeg->Conf.ImageQuality = 0; in JPEG_Process()
3388 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3390 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_Process()
3393 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_Process()
3396 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_Process()
3401 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) in JPEG_Process()
3407 JPEG_ReadInputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3413 JPEG_ReadInputData(hjpeg, 1); in JPEG_Process()
3422 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_Process()
3428 JPEG_StoreOutputData(hjpeg, JPEG_FIFO_TH_SIZE); in JPEG_Process()
3434 JPEG_StoreOutputData(hjpeg, 1); in JPEG_Process()
3446 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_Process()
3448 if ((hjpeg->Context & JPEG_CONTEXT_METHOD_MASK) == JPEG_CONTEXT_IT) in JPEG_Process()
3451 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_Process()
3455 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_Process()
3458 if (hjpeg->JpegOutCount > 0UL) in JPEG_Process()
3462 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3464 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_Process()
3467 hjpeg->JpegOutCount = 0; in JPEG_Process()
3471 tmpContext = hjpeg->Context; in JPEG_Process()
3473 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_Process()
3476 __HAL_UNLOCK(hjpeg); in JPEG_Process()
3479 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_Process()
3485 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_Process()
3487 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_Process()
3493 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_Process()
3495 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()
3529 … hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3530 … hjpeg->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()
3553 … hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataword & 0x00FF0000UL) >> 16); in JPEG_StoreOutputData()
3554 … hjpeg->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()
3573 …hjpeg->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()
3588 … hjpeg->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()
3700 static HAL_StatusTypeDef JPEG_DMA_StartProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_StartProcess() argument
3702 if ((hjpeg->InDataLength < 4UL) || (hjpeg->OutDataLength < 4UL)) in JPEG_DMA_StartProcess()
3707 hjpeg->Context &= ~JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_StartProcess()
3710 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_StartProcess()
3713 hjpeg->hdmain->XferCpltCallback = JPEG_DMAInCpltCallback; in JPEG_DMA_StartProcess()
3715 hjpeg->hdmain->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3718 hjpeg->hdmaout->XferCpltCallback = JPEG_DMAOutCpltCallback; in JPEG_DMA_StartProcess()
3720 hjpeg->hdmaout->XferErrorCallback = JPEG_DMAErrorCallback; in JPEG_DMA_StartProcess()
3722 hjpeg->hdmaout->XferAbortCallback = JPEG_DMAOutAbortCallback; in JPEG_DMA_StartProcess()
3725 hjpeg->InDataLength = hjpeg->InDataLength - (hjpeg->InDataLength % 4UL); in JPEG_DMA_StartProcess()
3728 hjpeg->OutDataLength = hjpeg->OutDataLength - (hjpeg->OutDataLength % 4UL); in JPEG_DMA_StartProcess()
3730 if ((hjpeg->hdmain->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in JPEG_DMA_StartProcess()
3732 if (hjpeg->hdmain->LinkedListQueue != NULL) in JPEG_DMA_StartProcess()
3735 …hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->InDataLengt… in JPEG_DMA_StartProcess()
3738 …hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->p… in JPEG_DMA_StartProcess()
3741 …hjpeg->hdmain->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg->… in JPEG_DMA_StartProcess()
3743 if (HAL_DMAEx_List_Start_IT(hjpeg->hdmain) != HAL_OK) in JPEG_DMA_StartProcess()
3751 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_StartProcess()
3754 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3757 __HAL_UNLOCK(hjpeg); in JPEG_DMA_StartProcess()
3765 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMA_StartProcess()
3766 hjpeg->InDataLength) != HAL_OK) in JPEG_DMA_StartProcess()
3768 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3773 if ((hjpeg->hdmaout->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in JPEG_DMA_StartProcess()
3775 if (hjpeg->hdmaout->LinkedListQueue != NULL) in JPEG_DMA_StartProcess()
3778 …hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hjpeg->OutDataLen… in JPEG_DMA_StartProcess()
3781 …hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = (uint32_t)&hjpeg-… in JPEG_DMA_StartProcess()
3784 …hjpeg->hdmaout->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)hjpeg->… in JPEG_DMA_StartProcess()
3786 if (HAL_DMAEx_List_Start_IT(hjpeg->hdmaout) != HAL_OK) in JPEG_DMA_StartProcess()
3794 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_StartProcess()
3797 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3800 __HAL_UNLOCK(hjpeg); in JPEG_DMA_StartProcess()
3808 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMA_StartProcess()
3809 hjpeg->OutDataLength) != HAL_OK) in JPEG_DMA_StartProcess()
3811 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMA_StartProcess()
3817 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA | JPEG_DMA_ODMA); in JPEG_DMA_StartProcess()
3828 static void JPEG_DMA_ContinueProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_ContinueProcess() argument
3830 uint32_t itflag = hjpeg->Instance->SR; in JPEG_DMA_ContinueProcess()
3833 if ((hjpeg->Context & JPEG_CONTEXT_OPERATION_MASK) == JPEG_CONTEXT_DECODE) in JPEG_DMA_ContinueProcess()
3838 (void) HAL_JPEG_GetInfo(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3841 hjpeg->Conf.ImageQuality = 0; in JPEG_DMA_ContinueProcess()
3847 hjpeg->InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3849 HAL_JPEG_InfoReadyCallback(hjpeg, &hjpeg->Conf); in JPEG_DMA_ContinueProcess()
3852 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_IT_HPD); in JPEG_DMA_ContinueProcess()
3855 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_HPDF); in JPEG_DMA_ContinueProcess()
3863 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA | JPEG_DMA_IDMA); in JPEG_DMA_ContinueProcess()
3865 hjpeg->Context |= JPEG_CONTEXT_ENDING_DMA; in JPEG_DMA_ContinueProcess()
3868 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_ContinueProcess()
3870 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMA_ContinueProcess()
3873 __HAL_JPEG_CLEAR_FLAG(hjpeg, JPEG_FLAG_ALL); in JPEG_DMA_ContinueProcess()
3875 if (hjpeg->hdmain->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3878 (void) HAL_DMA_Abort_IT(hjpeg->hdmain); in JPEG_DMA_ContinueProcess()
3881 if (hjpeg->hdmaout->State == HAL_DMA_STATE_BUSY) in JPEG_DMA_ContinueProcess()
3884 (void) HAL_DMA_Abort_IT(hjpeg->hdmaout); in JPEG_DMA_ContinueProcess()
3888 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMA_ContinueProcess()
3899 static void JPEG_DMA_EndProcess(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_EndProcess() argument
3902 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hjpeg->hdmaout); in JPEG_DMA_EndProcess()
3905 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_EndProcess()
3908 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3910 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3913 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3917 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) in JPEG_DMA_EndProcess()
3919 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_EndProcess()
3923 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3925 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_EndProcess()
3928 hjpeg->JpegOutCount = 0; in JPEG_DMA_EndProcess()
3932 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_EndProcess()
3934 tmpContext = hjpeg->Context; in JPEG_DMA_EndProcess()
3936 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_EndProcess()
3939 __HAL_UNLOCK(hjpeg); in JPEG_DMA_EndProcess()
3942 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_EndProcess()
3948 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3950 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3956 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3958 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_EndProcess()
3962 else if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_EndProcess()
3964 JPEG_DMA_PollResidualData(hjpeg); in JPEG_DMA_EndProcess()
3979 static void JPEG_DMA_PollResidualData(JPEG_HandleTypeDef *hjpeg) in JPEG_DMA_PollResidualData() argument
3987 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMA_PollResidualData()
3989 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) != 0UL) in JPEG_DMA_PollResidualData()
3991 dataOut = hjpeg->Instance->DOR; in JPEG_DMA_PollResidualData()
3992 hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount] = (uint8_t)(dataOut & 0x000000FFUL); in JPEG_DMA_PollResidualData()
3993 … hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 1UL] = (uint8_t)((dataOut & 0x0000FF00UL) >> 8); in JPEG_DMA_PollResidualData()
3994 … hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 2UL] = (uint8_t)((dataOut & 0x00FF0000UL) >> 16); in JPEG_DMA_PollResidualData()
3995 … hjpeg->pJpegOutBuffPtr[hjpeg->JpegOutCount + 3UL] = (uint8_t)((dataOut & 0xFF000000UL) >> 24); in JPEG_DMA_PollResidualData()
3996 hjpeg->JpegOutCount += 4UL; in JPEG_DMA_PollResidualData()
3998 if (hjpeg->JpegOutCount == hjpeg->OutDataLength) in JPEG_DMA_PollResidualData()
4002 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4004 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4007 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
4014 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
4016 …if ((__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_OFNEF) == 0UL) || ((tmpContext & JPEG_CONTEXT_PAUSE_OUTP… in JPEG_DMA_PollResidualData()
4019 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMA_PollResidualData()
4021 if (hjpeg->JpegOutCount > 0UL) in JPEG_DMA_PollResidualData()
4025 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4027 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMA_PollResidualData()
4030 hjpeg->JpegOutCount = 0; in JPEG_DMA_PollResidualData()
4033 tmpContext = hjpeg->Context; in JPEG_DMA_PollResidualData()
4035 hjpeg->Context &= (JPEG_CONTEXT_CONF_ENCODING | JPEG_CONTEXT_CUSTOM_TABLES); in JPEG_DMA_PollResidualData()
4038 __HAL_UNLOCK(hjpeg); in JPEG_DMA_PollResidualData()
4041 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMA_PollResidualData()
4047 hjpeg->DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4049 HAL_JPEG_DecodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4055 hjpeg->EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4057 HAL_JPEG_EncodeCpltCallback(hjpeg); in JPEG_DMA_PollResidualData()
4070 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAInCpltCallback() local
4073 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAInCpltCallback()
4075 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAInCpltCallback()
4078 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
4080 hjpeg->JpegInCount = hjpeg->InDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); in JPEG_DMAInCpltCallback()
4084 hjpeg->GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
4086 HAL_JPEG_GetDataCallback(hjpeg, hjpeg->JpegInCount); in JPEG_DMAInCpltCallback()
4089 if (hjpeg->InDataLength >= 4UL) in JPEG_DMAInCpltCallback()
4093 hjpeg->InDataLength = ((hjpeg->InDataLength + 3UL) / 4UL) * 4UL; in JPEG_DMAInCpltCallback()
4100 if (((hjpeg->Context & JPEG_CONTEXT_PAUSE_INPUT) == 0UL) && (hjpeg->InDataLength > 0UL)) in JPEG_DMAInCpltCallback()
4103 …if (HAL_DMA_Start_IT(hjpeg->hdmain, (uint32_t)hjpeg->pJpegInBuffPtr, (uint32_t)&hjpeg->Instance->D… in JPEG_DMAInCpltCallback()
4104 hjpeg->InDataLength) != HAL_OK) in JPEG_DMAInCpltCallback()
4106 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAInCpltCallback()
4107 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAInCpltCallback()
4109 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
4111 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAInCpltCallback()
4115 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_IDMA); in JPEG_DMAInCpltCallback()
4119 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAInCpltCallback()
4130 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutCpltCallback() local
4133 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAOutCpltCallback()
4135 if ((hjpeg->Context & (JPEG_CONTEXT_METHOD_MASK | JPEG_CONTEXT_ENDING_DMA)) == in JPEG_DMAOutCpltCallback()
4138 if (__HAL_JPEG_GET_FLAG(hjpeg, JPEG_FLAG_EOCF) == 0UL) in JPEG_DMAOutCpltCallback()
4140 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4141 hjpeg->JpegOutCount = hjpeg->OutDataLength - JPEG_GET_DMA_REMAIN_DATA(hdma); in JPEG_DMAOutCpltCallback()
4145 hjpeg->DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4147 HAL_JPEG_DataReadyCallback(hjpeg, hjpeg->pJpegOutBuffPtr, hjpeg->JpegOutCount); in JPEG_DMAOutCpltCallback()
4150 if ((hjpeg->Context & JPEG_CONTEXT_PAUSE_OUTPUT) == 0UL) in JPEG_DMAOutCpltCallback()
4153 …if (HAL_DMA_Start_IT(hjpeg->hdmaout, (uint32_t)&hjpeg->Instance->DOR, (uint32_t)hjpeg->pJpegOutBuf… in JPEG_DMAOutCpltCallback()
4154 hjpeg->OutDataLength) != HAL_OK) in JPEG_DMAOutCpltCallback()
4156 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAOutCpltCallback()
4157 hjpeg->State = HAL_JPEG_STATE_ERROR; in JPEG_DMAOutCpltCallback()
4159 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4161 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAOutCpltCallback()
4165 JPEG_ENABLE_DMA(hjpeg, JPEG_DMA_ODMA); in JPEG_DMAOutCpltCallback()
4170 __HAL_JPEG_ENABLE_IT(hjpeg, JPEG_IT_EOC | JPEG_IT_HPD); in JPEG_DMAOutCpltCallback()
4182 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAErrorCallback() local
4187 hjpeg->Instance->CONFR0 &= ~JPEG_CONFR0_START; in JPEG_DMAErrorCallback()
4190 __HAL_JPEG_DISABLE_IT(hjpeg, JPEG_INTERRUPT_MASK); in JPEG_DMAErrorCallback()
4193 JPEG_DISABLE_DMA(hjpeg, JPEG_DMA_MASK); in JPEG_DMAErrorCallback()
4195 hjpeg->State = HAL_JPEG_STATE_READY; in JPEG_DMAErrorCallback()
4196 hjpeg->ErrorCode |= HAL_JPEG_ERROR_DMA; in JPEG_DMAErrorCallback()
4198 hjpeg->ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4200 HAL_JPEG_ErrorCallback(hjpeg); in JPEG_DMAErrorCallback()
4212 JPEG_HandleTypeDef *hjpeg = (JPEG_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in JPEG_DMAOutAbortCallback() local
4214 if ((hjpeg->Context & JPEG_CONTEXT_ENDING_DMA) != 0UL) in JPEG_DMAOutAbortCallback()
4216 JPEG_DMA_EndProcess(hjpeg); in JPEG_DMAOutAbortCallback()
4227 static uint32_t JPEG_GetQuality(const JPEG_HandleTypeDef *hjpeg) in JPEG_GetQuality() argument
4235 const __IO uint32_t *tableAddress = hjpeg->Instance->QMEM0; in JPEG_GetQuality()
4252 scale = (quantVal * 100UL) / ((uint32_t) hjpeg->QuantTable0[JPEG_ZIGZAG_ORDER[i + j]]); in JPEG_GetQuality()