mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 17:46:50 +08:00
[MppFrame]: define new frame type bit definition and fix mpeg2/mpeg4 frame type output error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1017 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
@@ -178,13 +178,25 @@ RK_S32 VpuApiLegacy:: decode_getoutframe(DecoderOut_t *aDecOut)
|
||||
MppBuffer buf = NULL;
|
||||
RK_U64 pts = 0;
|
||||
RK_U32 fd = 0;
|
||||
RK_U32 mode = 0;
|
||||
void* ptr = NULL;
|
||||
aDecOut->size = sizeof(VPU_FRAME);
|
||||
vframe->DisplayWidth = mpp_frame_get_width(mframe);
|
||||
vframe->DisplayHeight = mpp_frame_get_height(mframe);
|
||||
vframe->FrameWidth = mpp_frame_get_hor_stride(mframe);
|
||||
vframe->FrameHeight = mpp_frame_get_ver_stride(mframe);
|
||||
vframe->FrameType = mpp_frame_get_mode(mframe);
|
||||
mode = mpp_frame_get_mode(mframe);
|
||||
if (mode == MPP_FRAME_FLAG_FRAME)
|
||||
vframe->FrameType = 0;
|
||||
else {
|
||||
RK_U32 field_order = mode & MPP_FRAME_FLAG_FIELD_ORDER_MASK;
|
||||
if (field_order == MPP_FRAME_FLAG_TOP_FIRST)
|
||||
vframe->FrameType = 1;
|
||||
else if (field_order == MPP_FRAME_FLAG_BOT_FIRST)
|
||||
vframe->FrameType = 2;
|
||||
else if (field_order == MPP_FRAME_FLAG_DEINTERLACED)
|
||||
vframe->FrameType = 4;
|
||||
}
|
||||
vframe->ErrorInfo = mpp_frame_get_errinfo(mframe) | mpp_frame_get_discard(mframe);
|
||||
pts = mpp_frame_get_pts(mframe);
|
||||
aDecOut->timeUs = pts;
|
||||
|
Reference in New Issue
Block a user