Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 2185

JPEG Decoder in HW mode delivers incomplete image when using Rotation

$
0
0

I implemented a still JPEG Transcoder (Resizer) similar to the transcoder sample : 

sts = _mfxDECODE->DecodeFrameAsync(&mfxIBS, &_decSurface, &outSurface, &syncDecode);
sts = _mfxVPP->RunFrameVPPAsync(outSurface, &_encSurface[0], NULL, &syncVpp);
sts = _mfxENCODE->EncodeFrameAsync(&encodeCtrl, &_encSurface[0], &mfxOBS, &syncEncode);
sts = _mfxSession.SyncOperation(syncEncode, MSDK_WAIT_INTERVAL);

It works quite good and fast on my 8th gen i7. Now I added the Rotation feature to the JPEG decoder.

In SW mode it works as expected, but in HW mode (without d3d) it delivers an incomplete image. When I rotate a 3000 * 2000 image it delivers a result where the upper 2000 * 2000 is correct while the bottom part is solid green. 

I tried to reproduce the problem with sample_decode using

"decode jpeg -hw -nv12 -jpeg_rotate 90 -i c:\temp\w.jpg -o c:\temp\w.dmp" 

When I inspected the dump file w.dmp I noticed that (different than in SW mode result) there were large areas (1/3) filled with zero bytes.

The size of the dump file is the same like a file produced without rotation.


Viewing all articles
Browse latest Browse all 2185

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>