<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>I am working on an iOS app and <font size="3">have been researching and seen different approaches of converting video frames from sws_scale() to a UIImage, for placement in a UIImageView. I am presently attempting to play my video by </font>successively<font size="3"> altering the contents of my UIImageView. I retrieve a frame like this:</font></div><div><font size="3"><br></font></div><div>
<p class="p1"> <span class="s1">AVFrame</span> *pFrame;</p>
<p class="p1"> <span class="s1">AVFrame</span> *pFrameRGB = <span class="s2">NULL</span>;</p><p class="p1">
<p class="p1"><span class="s1"> </span>// allocate a video frame</p>
<p class="p2"><span class="s1"> pFrame=</span>avcodec_alloc_frame<span class="s1">();</span></p>
<p class="p1"><span class="s1"> </span>// Allocate an AVFrame structure</p>
<p class="p3"> pFrameRGB=<span class="s2">avcodec_alloc_frame</span>();</p></p></div><div>
<p class="p1"> sws_ctx =</p>
<p class="p2"><span class="s1"> </span>sws_getContext</p>
<p class="p1"> (</p>
<p class="p3"><span class="s1"> </span>pCodecCtx<span class="s1">-></span>width<span class="s1">,</span></p>
<p class="p3"><span class="s1"> </span>pCodecCtx<span class="s1">-></span>height<span class="s1">,</span></p>
<p class="p3"><span class="s1"> </span>pCodecCtx<span class="s1">-></span>pix_fmt<span class="s1">,</span></p>
<p class="p3"><span class="s1"> </span>pCodecCtx<span class="s1">-></span>width<span class="s1">,</span></p>
<p class="p3"><span class="s1"> </span>pCodecCtx<span class="s1">-></span>height<span class="s1">,</span></p>
<p class="p2"><span class="s1"> </span>PIX_FMT_RGB24<span class="s1">,</span></p>
<p class="p4"><span class="s1"> </span>SWS_BILINEAR<span class="s1">,</span></p>
<p class="p1"> <span class="s2">NULL</span>,</p>
<p class="p1"> <span class="s2">NULL</span>,</p>
<p class="p1"> <span class="s2">NULL</span></p>
<p class="p1"> );</p></div><div><span style="font-size: 12pt;"><br></span></div><div><span style="font-size: 12pt;">/* In a loop I do this */</span></div><div><span style="font-size: 12pt;"> len=</span><span class="s1" style="font-size: 12pt;">avcodec_decode_video2</span><span style="font-size: 12pt;">(</span><span class="s2" style="font-size: 12pt;">pCodecCtx</span><span style="font-size: 12pt;">, pFrame, &frameFinished,&packet);</span></div><div>
<p class="p2"><span style="font-size: 12pt;"> </span><span class="s4" style="font-size: 12pt;">if</span><span style="font-size: 12pt;">(frameFinished) {</span></p>
<p class="p2"><span class="s3"> </span>// Convert the image from its native format to RGB</p>
<p class="p1"> <span class="s1">sws_scale</span>(sws_ctx,(<span class="s5">uint8_t</span> <span class="s4">const</span> * <span class="s4">const</span> *)pFrame-><span class="s2">data</span>,pFrame-><span class="s2">linesize</span>,<span class="s6">0</span>,<span class="s2">pCodecCtx</span>-><span class="s2">height</span>,pFrameRGB-><span class="s2">data</span>,pFrameRGB-><span class="s2">linesize</span>);</p><p class="p1"><br></p><p class="p1"><br></p><p class="p1">I then want to take pFrame and convert it to a UIImage so that I can update the UIImageView.</p><p class="p1">Can someone please point me in a really good direction of how to do this conversion?</p><p class="p1"><br></p><p class="p1">Thank You In Advance</p></div> </div></body>
</html>