| | |
| | | #endif
|
| | | }
|
| | |
|
| | | bool plplExecutor_YUV(PL_Paint_Internal *in)
|
| | | bool plpl_executor(PL_Paint_Internal *in)
|
| | | {
|
| | | MB_Frame* paintMb = &(in->lastMbfBuffOrigin);
|
| | | int ret = true;
|
| | |
| | | in->lastMbfBuffOrigin.height = frame->height;
|
| | | in->lastMbfBuffOrigin.pts = frame->pts;
|
| | |
|
| | | in->payError = !plplExecutor_YUV(in);
|
| | | in->payError = !plpl_executor(in);
|
| | |
|
| | | return false;
|
| | | }
|
| | |
| | | {
|
| | | PL_Paint_Internal* in = (PL_Paint_Internal*)internal;
|
| | | in->payError = true;
|
| | |
|
| | | if (pm.type != PipeMaterial::PMT_FRAME)
|
| | | {
|
| | | LOG_ERROR << "Only support PMT_FRAME" << LOG_ENDL;
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (pm.buffer == nullptr)
|
| | | return false;
|
| | |
|
| | | MB_Frame* frame = (MB_Frame*)pm.buffer;
|
| | | switch(frame->type)
|
| | | {
|
| | | case MB_Frame::MBFT_YUV420:
|
| | | case MB_Frame::MBFT_NV12:
|
| | | case MB_Frame::MBFT_RGB565:
|
| | | if (in->payError)
|
| | | pm.breake(PipeMaterial::PMT_FRAME, MB_Frame::MBFT_YUV420, PL_Paint::pay_breaker_MBFT, in);
|
| | | if (in->payError)
|
| | | pm.breake(PipeMaterial::PMT_FRAME, MB_Frame::MBFT_NV12, PL_Paint::pay_breaker_MBFT, in);
|
| | | if (in->payError)
|
| | | pm.breake(PipeMaterial::PMT_FRAME, MB_Frame::MBFT_RGB565, PL_Paint::pay_breaker_MBFT, in);
|
| | | return !(in->payError);
|
| | | default:
|
| | | LOG_ERROR << "Only support MBFT_YUV420 / MBFT_NV12 / MBFT_RGB565" << LOG_ENDL;
|
| | | in->payError = true;
|
| | | break;
|
| | | }
|
| | |
|
| | | return !(in->payError);
|
| | | }
|