Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6dfef8a authored by Harish Mahendrakar's avatar Harish Mahendrakar Committed by Pawin Vongmasa
Browse files

C2SoftMpeg4Enc: Handle yStride not equal to aligned width

mpeg4 encoder doesn't support a stride that is not equal to align(width, 16)
In such cases copy the input to an intermediate buffer and use that for
encoding

Bug: 136962421
Bug: 139921039
Test: tested few nv12 and i420 encoding

Change-Id: I5a8adfc48aff79f52852be94bb46c10e7f9a0469
parent 1210f45e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -517,9 +517,11 @@ void C2SoftMpeg4Enc::process(
            if (layout.planes[layout.PLANE_Y].colInc == 1
                    && layout.planes[layout.PLANE_U].colInc == 1
                    && layout.planes[layout.PLANE_V].colInc == 1
                    && yStride == align(width, 16)
                    && uStride == vStride
                    && yStride == 2 * vStride) {
                // I420 compatible - planes are already set up above
                // I420 compatible with yStride being equal to aligned width
                // planes are already set up above
                break;
            }