<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 9 avr. 2019 à 15:31, Simon Brown <<a href="mailto:simon.k.brown@gmail.com">simon.k.brown@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Tue, 9 Apr 2019 at 14:20, NDJORE BORIS <<a href="mailto:ndjoreboris@gmail.com" target="_blank">ndjoreboris@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello guys,<div><br></div><div>I try to find pixels value for a given macroblock in a frame.</div><div>What I did is the following :</div><div><br></div><div>//for all macroblock in this frame</div><div>for(int mby=0; y<mb_height;y++)</div><div>{</div><div>         for(int mbx=0; x<mb_width;x++)</div><div>         {</div><div>             int xy =  mby*mb_stride+mbx;</div><div>             //Now for this 16x16 macroblock</div><div>            for(int y=0; y<16;y++)</div><div>            {</div><div>               for(int x=0; x<16;x++)</div><div>               {</div><div>                 //All pixels YUV value for this macroblock</div><div>                 y = data[0][linesize[0]*y+x];</div><div>                 u = data[1][linesize[1]*(y/2)+x/2]</div><div>                 v = data[2][linesize[2]*(y/2)+x/2]</div><div>             }</div><div>}</div><div>//Let's in an other macroblock</div><div>}</div><div>}</div><div>The problem is that for all macroblocks, I have the same Y, u and v value. That's is true because I only use the same width and height for every macroblock.</div><div><br></div><div>My question is to know how can I put difference in the above code to find pixels yuv value for each macroblock in this frame.</div><div>I need your help, please.</div><div><br></div><div>Regards</div></div><br></blockquote><div>Without having understood your code fully, you have two loops around the outside, one for mby and one for mbx, yet they use y<mb_height and y++, x<mb_width and x++.  You then inside these loops have a loop for x and y also comparing x and y and incrementing x and y.  That can't be right!</div><div><br></div><div>Your inner assignments should probably be:</div><div>y = data[0][linesize[0]*(mby*16)*y+(mbx*16 +x)]</div><div>etc.</div><div><br></div><div>Regards,</div><div>Simon</div></div></div></blockquote><div><br></div><div><br></div><div>Thank you simon.</div><div><br></div><div>You probably right. The first loop is to obten all macroblock in the frame and the second is to optain each pixel in the macroblock, I thinked.</div><div>But in what you gave if I do this for two different block, I think that I will obtain the same value for "y".</div><div>Can you explain me  how can I do to obtain different "y" value for each macroblock if I'm wrong , please?</div><div><br></div><div>Regards  </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div></div>