This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NF modules output data size is too small.

Hi.

I try video format conversion YUV422(1920x1080) to YUV420 use NF modules.

NF modules input data size is 4147200 (=1920*2*1080).
I expect NF modules output data size is 3110400 (=1920*1080*3/2).
But, output data size is 3041280 (pBufferOut->nFilledLen).

Is there any mistake in my setup parameters for NF module?

setup is

----------- IL_ClientSetNfParams() -------------
------ OMX_PARAM_BUFFER_MEMORYTYPE ----
Nf Input Port
nSize = 16
nVersion = 0x101
nPortIndex = 0
eBufMemoryType = 1 [OMX_BUFFER_MEMORY_DEFAULT ]
------ end of OMX_PARAM_BUFFER_MEMORYTYPE ----
------ OMX_PARAM_BUFFER_MEMORYTYPE ----
Nf Output Port
nSize = 16
nVersion = 0x101
nPortIndex = 16
eBufMemoryType = 1 [OMX_BUFFER_MEMORY_DEFAULT ]
------ end of OMX_PARAM_BUFFER_MEMORYTYPE ----
Buffer Size computed: 4147200
set input port params (width = 1920, height = 1080)
------ OMX_PARAM_PORTDEFINITIONTYPE ----
Nf Input Port
nSize = 96
nVersion = 0x20101
nPortIndex = 0
eDir = 0(OMX_DirInput)
nBufferCountActual = 6
nBufferCountMin = 1
nBufferSize = 4147200
bEnabled = 0
bPopulated = 0
eDomain = 1[OMX_PortDomainVideo]
format.video.cMIMEType = (null)
format.video.pNativeRender = (nil)
format.video.nFrameWidth = 1920
format.video.nFrameHeight = 1080
format.video.nStride = 3840
format.video.nSliceHeight = 0
format.video.nBitrate = 0
format.video.xFramerate = 30
format.video.bFlagErrorConcealment = 0
format.video.eCompressionFormat = 0x0
format.video.eColorFormat = 0x19
format.video.pNativeWindow = (nil)
bBuffersContiguous = 0
nBufferAlignment = 128
------ end of OMX_PARAM_PORTDEFINITIONTYPE ----
Buffer Size computed: 3110400
set input port params (width = 1920, height = 1080)
------ OMX_PARAM_PORTDEFINITIONTYPE ----
Nf Output Port
nSize = 96
nVersion = 0x20101
nPortIndex = 16
eDir = 1(OMX_DirOutput)
nBufferCountActual = 6
nBufferCountMin = 4
nBufferSize = 3110400
bEnabled = 0
bPopulated = 0
eDomain = 1[OMX_PortDomainVideo]
format.video.cMIMEType = (null)
format.video.pNativeRender = (nil)
format.video.nFrameWidth = 1920
format.video.nFrameHeight = 1080
format.video.nStride = 1920
format.video.nSliceHeight = 0
format.video.nBitrate = 0
format.video.xFramerate = 30
format.video.bFlagErrorConcealment = 0
format.video.eCompressionFormat = 0x0
format.video.eColorFormat = 0x15
format.video.pNativeWindow = (nil)
bBuffersContiguous = 0
nBufferAlignment = 128
------ end of OMX_PARAM_PORTDEFINITIONTYPE ----
set number of channels
set input resolution
------ OMX_CONFIG_VIDCHANNEL_RESOLUTION ----
Set Input resolution
nSize = 60
nVersion = 0x101
nPortIndex = 0
eDir = 0(OMX_DirInput)
nChId = 0
Frm0Width = 1920
Frm0Height = 1080
Frm0Pitch = 3840
Frm1Width = 0
Frm1Height = 0
Frm1Pitch = 0
FrmStartX = 0
FrmStartY = 0
FrmCropWidth = 1920
FrmCropHeight = 1080
------ end of OMX_CONFIG_VIDCHANNEL_RESOLUTION ----
set output resolution
------ OMX_CONFIG_VIDCHANNEL_RESOLUTION ----
Set Output resolution
nSize = 60
nVersion = 0x101
nPortIndex = 0
eDir = 1(OMX_DirOutput)
nChId = 0
Frm0Width = 1920
Frm0Height = 1080
Frm0Pitch = 1920
Frm1Width = 0
Frm1Height = 0
Frm1Pitch = 0
FrmStartX = 0
FrmStartY = 0
FrmCropWidth = 1920
FrmCropHeight = 1080
------ end of OMX_CONFIG_VIDCHANNEL_RESOLUTION ----
------ OMX_CONFIG_ALG_ENABLE ----
Nf setup
nSize = 20
nVersion = 0x101
nPortIndex = 0
nChId = 0
bAlgBypass = 0
------ end of OMX_CONFIG_ALG_ENABLE ----
------ OMX_CONFIG_SUBSAMPLING_FACTOR ----
Nf setup
nSize = 16
nVersion = 0x101
nPortIndex = 0
nSubSamplingFactor = 1
------ end of OMX_CONFIG_SUBSAMPLING_FACTOR ----
----------- IL_ClientSetNfParams() done -------------

Regards.
miki shinji