# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1284547865 -10800 # Node ID e51ae4fd18e65c88e463f8d60ab38f1c0a3bac61 # Parent 613edd2a8a708ca2143854be5bef65d790d21fe1 Revision: 201034 Kit: 201036 diff -r 613edd2a8a70 -r e51ae4fd18e6 mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp --- a/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp Wed Sep 15 00:15:16 2010 +0300 +++ b/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp Wed Sep 15 13:51:05 2010 +0300 @@ -1550,7 +1550,17 @@ PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface -- Creating %d x %d surface"), this, iPicSize.iWidth, iPicSize.iHeight); TInt err = KErrNone; - SetSurfaceAttributes(iPicSize, 1); + TSize evenSize(iPicSize); + if (evenSize.iWidth % 2 != 0) + { + ++evenSize.iWidth; + } + if (evenSize.iHeight % 2 != 0) + { + ++evenSize.iHeight; + } + + SetSurfaceAttributes(evenSize, 1); err = iSurfaceHandler->CreateSurface(iAttributes, iSurfaceId); if (err != KErrNone) @@ -1614,7 +1624,20 @@ PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset = %d"), this, offset); lPtr = reinterpret_cast(iChunk.Base() + offset); - memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), redrawBufferSize); + + if (evenSize.iWidth > iPicSize.iWidth) + { + TInt redrawLineWidth = redrawBufferSize / iPicSize.iHeight; + + for (TInt i = 0; i < iPicSize.iHeight; ++i) + { + memcpy((TAny*)(lPtr + (i * iInfo().iStride)), (TAny*)(aRedrawBuffer.Ptr() + (i * redrawLineWidth)), redrawLineWidth); + } + } + else + { + memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), redrawBufferSize); + } iRedrawSurfaceInUse = ETrue; diff -r 613edd2a8a70 -r e51ae4fd18e6 mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf diff -r 613edd2a8a70 -r e51ae4fd18e6 mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf