Home
last modified time | relevance | path

Searched refs:pu8Buffer (Results 1 – 25 of 25) sorted by relevance

/utopia/UTPA2-700.0.x/modules/pq/drv/pq/
H A Ddrvbw.c234 MS_U8 *pu8Buffer; in Open_bandwidthtable_Bin() local
257 pu8Buffer = (MS_U8*)vmalloc(lFileSize); in Open_bandwidthtable_Bin()
259 if(pu8Buffer == NULL) in Open_bandwidthtable_Bin()
268 u32Rst = vfs_read(pFile, pu8Buffer, lFileSize, &pos); in Open_bandwidthtable_Bin()
273 vfree(pu8Buffer); in Open_bandwidthtable_Bin()
280 return pu8Buffer; in Open_bandwidthtable_Bin()
289 MS_U8 *pu8Buffer; in _MDrv_BW_LoadTable() local
292 pu8Buffer = Open_bandwidthtable_Bin(bandwidthfileName); in _MDrv_BW_LoadTable()
294 _MDrv_BW_PushBuffer(u8TabIdx, pu8Buffer); in _MDrv_BW_LoadTable()
298 free(pu8Buffer); in _MDrv_BW_LoadTable()
[all …]
H A DdrvPQ.c774 MS_U8 *pu8Buffer; in Open_PQ_Bin() local
803 pu8Buffer = (MS_U8*) malloc(lFileSize); in Open_PQ_Bin()
804 if(pu8Buffer == NULL) in Open_PQ_Bin()
811 u32Rst = fread(pu8Buffer, 1, lFileSize, pFile); in Open_PQ_Bin()
815 free(pu8Buffer); in Open_PQ_Bin()
841 pu8Buffer = (MS_U8*)vmalloc(lFileSize); in Open_PQ_Bin()
843 if(pu8Buffer == NULL) in Open_PQ_Bin()
852 u32Rst = vfs_read(pFile, pu8Buffer, lFileSize, &pos); in Open_PQ_Bin()
857 vfree(pu8Buffer); in Open_PQ_Bin()
867 return pu8Buffer; in Open_PQ_Bin()
/utopia/UTPA2-700.0.x/modules/hdmi/utopia_adaption/hdmitx/
H A DHDMITX_adp.c161 MS_COMPAT_HDMITX pu8Buffer; member
168 MS_COMPAT_HDMITX pu8Buffer; member
182 MS_COMPAT_HDMITX pu8Buffer; member
189 MS_COMPAT_HDMITX pu8Buffer; member
195 MS_COMPAT_HDMITX pu8Buffer; member
665 …UADP_SPT_NAME1NXT(HDMITX_GETRXVIDFMTFROMEDID, stHDMITx_GetRxVideoFormatFromEDID, pu8Buffer, VidFmt… in HDMITX_adp_Init()
675 … UADP_SPT_NAME1NXT(HDMITX_GTVICLISTFROMEDID, stHDMITx_GetVICListFromEDID, pu8Buffer, VICListData); in HDMITX_adp_Init()
695 …UADP_SPT_NAME1NXT(HDMITx_GETRXAUDFMTFROMEDID, stHDMITx_GetRxAudioFormatFromEDID, pu8Buffer, AudFmt… in HDMITX_adp_Init()
709 …UADP_SPT_NAME1NXT(HDMITX_GETRXIDMANUFACTNAME, stHDMITx_GetRxIDManufacturerName, pu8Buffer, ManuIDD… in HDMITX_adp_Init()
719 UADP_SPT_NAME1NXT(HDMITX_GETEDIDDATA, stHDMITx_GetEDIDData, pu8Buffer, SinkEDIDBlockData); in HDMITX_adp_Init()
[all …]
/utopia/UTPA2-700.0.x/modules/pq/hal/maxim/pq/include/
H A DQualityMap_BW.c181 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
189 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
191 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
193pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
199 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/curry/pq/include/
H A DQualityMap_BW.c176 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
184 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
186 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
188pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
194 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/maserati/pq/include/
H A DQualityMap_BW.c181 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
189 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
191 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
193pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
199 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/M7821/pq/include/
H A DQualityMap_BW.c181 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
189 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
191 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
193pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
199 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/kano/pq/include/
H A DQualityMap_BW.c176 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
184 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
186 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
188pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
194 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/mooney/pq/include/
H A DQualityMap_BW.c178 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
186 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
188 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
190pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
196 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/manhattan/pq/include/
H A DQualityMap_BW.c181 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
189 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
191 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
193pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
199 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/M7621/pq/include/
H A DQualityMap_BW.c181 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
189 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
191 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
193pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
199 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/k6lite/pq/include/
H A DQualityMap_BW.c176 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
184 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
186 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
188pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
194 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/pq/hal/k6/pq/include/
H A DQualityMap_BW.c176 static void _MDrv_BW_PushBuffer(MS_U8 u8TabIdx, MS_U8 *pu8Buffer) in _MDrv_BW_PushBuffer() argument
184 if(pu8Buffer != NULL) in _MDrv_BW_PushBuffer()
186 tab_Info.pIPTable = pu8Buffer; in _MDrv_BW_PushBuffer()
188pu8Buffer[u32Index]&0xFF) == 0xFF) && ((pu8Buffer[u32Index+1]&0xFF) == 0xFF) && ((pu8Buffer[u32Ind… in _MDrv_BW_PushBuffer()
194 tab_Info.pIPTable = pu8Buffer +u32Index + 5; in _MDrv_BW_PushBuffer()
/utopia/UTPA2-700.0.x/modules/hdmi/api/hdmitx/
H A DapiHDMITx.c857 MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID_U2(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetRxVideoFormatFromEDID_U2() argument
865 MDrv_HDMITx_GetRxVideoFormatFromEDID(pInstance, pu8Buffer, u8BufSize); in MApi_HDMITx_GetRxVideoFormatFromEDID_U2()
870 memset(pu8Buffer, 0x00, u8BufSize); in MApi_HDMITx_GetRxVideoFormatFromEDID_U2()
879 MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetRxVideoFormatFromEDID() argument
892 HDMITXArgs.pu8Buffer = pu8Buffer; in MApi_HDMITx_GetRxVideoFormatFromEDID()
906 return MApi_HDMITx_GetRxVideoFormatFromEDID_U2(pu32HDMITXInst, pu8Buffer, u8BufSize); in MApi_HDMITx_GetRxVideoFormatFromEDID()
917 MS_BOOL MApi_HDMITx_GetVICListFromEDID_U2(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetVICListFromEDID_U2() argument
925 MDrv_HDMITx_GetVICListFromEDID(pInstance, pu8Buffer, u8BufSize); in MApi_HDMITx_GetVICListFromEDID_U2()
930 memset(pu8Buffer, 0x00, u8BufSize); in MApi_HDMITx_GetVICListFromEDID_U2()
938 MS_BOOL MApi_HDMITx_GetVICListFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetVICListFromEDID() argument
[all …]
H A DHDMITX_private.h135 typedef MS_BOOL (*IOCTL_HDMITX_GETRXVIDEOFORMATFROMEDID) (void *pInstance, MS_U8 *pu8Buffer
136 …(*IOCTL_HDMITX_GETVICLISTFROMEDID) (void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize…
139 typedef MS_BOOL (*IOCTL_HDMITX_GETRXAUDIOFORMATFROMEDID) (void *pInstance, MS_U8 *pu8Buffer
141 typedef MS_BOOL (*IOCTL_HDMITX_GETRXIDMANUFACTURERNAME) (void *pInstance, MS_U8 *pu8Buffer
142 typedef MS_BOOL (*IOCTL_HDMITX_GETEDIDDATA) (void *pInstance, MS_U8 *pu8Buffer, MS_BOOL Bl…
335 MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
336 MS_BOOL MApi_HDMITx_GetVICListFromEDID_U2(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
338 MS_BOOL MApi_HDMITx_GetRxAudioFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
340 MS_BOOL MApi_HDMITx_GetRxIDManufacturerName_U2(void *pInstance, MS_U8 *pu8Buffer);
341 MS_BOOL MApi_HDMITx_GetEDIDData_U2(void *pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
H A DapiHDMITx_Wrap.c302 MS_BOOL DLL_PUBLIC MApi_HDMITx_GetRxVideoFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetRxVideoFormatFromEDID() argument
314 MS_BOOL DLL_PUBLIC MApi_HDMITx_GetRxAudioFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MApi_HDMITx_GetRxAudioFormatFromEDID() argument
325 MS_BOOL DLL_PUBLIC MApi_HDMITx_GetRxIDManufacturerName(MS_U8 *pu8Buffer) in MApi_HDMITx_GetRxIDManufacturerName() argument
338 MS_BOOL DLL_PUBLIC MApi_HDMITx_GetEDIDData(MS_U8 *pu8Buffer, MS_BOOL BlockIdx) in MApi_HDMITx_GetEDIDData() argument
H A DapiHDMITx_v2.c437 …DMITXInstPri->fpHDMITX_GETRXVIDEOFORMATFROMEDID(pInstance, pHDMITXArgs->pu8Buffer, pHDMITXArgs->u8…
446 … = psHDMITXInstPri->fpHDMITX_GETVICLISTFROMEDID(pInstance, pHDMITXArgs->pu8Buffer, pHDMITXArgs->u8…
472 …DMITXInstPri->fpHDMITX_GETRXAUDIOFORMATFROMEDID(pInstance, pHDMITXArgs->pu8Buffer, pHDMITXArgs->u8…
490 …gs->bReturn = psHDMITXInstPri->fpHDMITX_GETRXIDMANUFACTURERNAME(pInstance, pHDMITXArgs->pu8Buffer);
499 …bReturn = psHDMITXInstPri->fpHDMITX_GETEDIDDATA(pInstance, pHDMITXArgs->pu8Buffer, pHDMITXArgs->Bl…
/utopia/UTPA2-700.0.x/mxlib/include/
H A DapiHSL.h298 …define M_FrHslWriteSPMsgHeader(value, pu8Buffer, u32Time) FrHslWriteHeader(HSL_RAWLOB_SP, (MS_U16… argument
300 …define M_FrHslWriteVLMsgHeader(value, pu8Buffer, u32Time) FrHslWriteHeader(HSL_RAWLOB_VL, (MS_U16… argument
302 #define M_FrHslWritePacketCounts(value, pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer) argument
304 #define M_FrHslWritePayload(value, pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer) argument
306 #define M_FrHslWriteLastPayload(value, pu8Buffer) FrHslWritePayload(TRUE, value, pu8Buffer) argument
H A DapiHDMITx_v2.h276 MS_U8 *pu8Buffer; member
283 MS_U8 *pu8Buffer; member
304 MS_U8 *pu8Buffer; member
317 MS_U8 *pu8Buffer; member
323 MS_U8 *pu8Buffer; member
H A DapiHDMITx.h936 MS_BOOL SYMBOL_WEAK MApi_HDMITx_GetRxVideoFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize);
939 MS_BOOL SYMBOL_WEAK MApi_HDMITx_GetVICListFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize);
945 MS_BOOL SYMBOL_WEAK MApi_HDMITx_GetRxAudioFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize);
951 MS_BOOL SYMBOL_WEAK MApi_HDMITx_GetRxIDManufacturerName(MS_U8 *pu8Buffer);
960 MS_BOOL SYMBOL_WEAK MApi_HDMITx_GetEDIDData(MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
/utopia/UTPA2-700.0.x/projects/tmplib/include/
H A DapiHSL.h298 …define M_FrHslWriteSPMsgHeader(value, pu8Buffer, u32Time) FrHslWriteHeader(HSL_RAWLOB_SP, (MS_U16… argument
300 …define M_FrHslWriteVLMsgHeader(value, pu8Buffer, u32Time) FrHslWriteHeader(HSL_RAWLOB_VL, (MS_U16… argument
302 #define M_FrHslWritePacketCounts(value, pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer) argument
304 #define M_FrHslWritePayload(value, pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer) argument
306 #define M_FrHslWriteLastPayload(value, pu8Buffer) FrHslWritePayload(TRUE, value, pu8Buffer) argument
H A DapiHDMITx.h585 MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize);
591 MS_BOOL MApi_HDMITx_GetRxAudioFormatFromEDID(MS_U8 *pu8Buffer, MS_U8 u8BufSize);
606 MS_BOOL MApi_HDMITx_GetEDIDData(MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
/utopia/UTPA2-700.0.x/modules/hdmi/drv/hdmitx/include/
H A DdrvHDMITx.h622 INTERFACED void MDrv_HDMITx_GetRxVideoFormatFromEDID(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8Buf…
624 INTERFACED void MDrv_HDMITx_GetRxAudioFormatFromEDID(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8Buf…
626 INTERFACED void MDrv_HDMITx_GetRxIDManufacturerName(void* pInstance, MS_U8 *pu8Buffer);
627 INTERFACED void MDrv_HDMITx_GetEDIDData(void* pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
635 INTERFACED MS_BOOL MDrv_HDMITx_GetVICListFromEDID(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSiz…
/utopia/UTPA2-700.0.x/modules/hdmi/drv/hdmitx/
H A DdrvHDMITx.c3406 void MDrv_HDMITx_GetRxVideoFormatFromEDID(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MDrv_HDMITx_GetRxVideoFormatFromEDID() argument
3409 …memcpy(pu8Buffer, psHDMITXResPri->stHDMITxInfo.RxEdidInfo.VideoDataBlk, (u8BufSize > 32) ? 32*size… in MDrv_HDMITx_GetRxVideoFormatFromEDID()
3442 void MDrv_HDMITx_GetRxAudioFormatFromEDID(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize) in MDrv_HDMITx_GetRxAudioFormatFromEDID() argument
3445 if (pu8Buffer != NULL) in MDrv_HDMITx_GetRxAudioFormatFromEDID()
3446 …memcpy(pu8Buffer, psHDMITXResPri->stHDMITxInfo.RxEdidInfo.AudioDataBlk, (u8BufSize > 32) ? 32 : u8… in MDrv_HDMITx_GetRxAudioFormatFromEDID()
3477 void MDrv_HDMITx_GetRxIDManufacturerName(void* pInstance, MS_U8 *pu8Buffer) in MDrv_HDMITx_GetRxIDManufacturerName() argument
3480 …memcpy(pu8Buffer, psHDMITXResPri->stHDMITxInfo.RxEdidInfo.ManufacturerID, sizeof(psHDMITXResPri->s… in MDrv_HDMITx_GetRxIDManufacturerName()
3495 void MDrv_HDMITx_GetEDIDData(void* pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx) in MDrv_HDMITx_GetEDIDData() argument
3500 memcpy(pu8Buffer, psHDMITXResPri->stHDMITxInfo.RxEdidInfo.EdidBlk1, 128*sizeof(MS_U8)); in MDrv_HDMITx_GetEDIDData()
3504 memcpy(pu8Buffer, psHDMITXResPri->stHDMITxInfo.RxEdidInfo.EdidBlk0, 128*sizeof(MS_U8)); in MDrv_HDMITx_GetEDIDData()
[all …]
/utopia/UTPA2-700.0.x/projects/build/
H A Dpreprocess.txt13387 #define M_FrHslWriteSPMsgHeader(value,pu8Buffer,u32Time) FrHslWriteHeader(HSL_RAWLOB_SP, (MS_U16)va…
13389 #define M_FrHslWriteVLMsgHeader(value,pu8Buffer,u32Time) FrHslWriteHeader(HSL_RAWLOB_VL, (MS_U16)va…
13391 #define M_FrHslWritePacketCounts(value,pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer)
13393 #define M_FrHslWritePayload(value,pu8Buffer) FrHslWritePayload(FALSE, value, pu8Buffer)
13395 #define M_FrHslWriteLastPayload(value,pu8Buffer) FrHslWritePayload(TRUE, value, pu8Buffer)
28852 MS_U8 *pu8Buffer;
28859 MS_U8 *pu8Buffer;
28880 MS_U8 *pu8Buffer;
28893 MS_U8 *pu8Buffer;
28899 MS_U8 *pu8Buffer;
[all …]