<div dir="ltr"><div dir="ltr"><div dir="ltr">On Fri, 5 Apr 2019 at 12:08, NDJORE BORIS <<a href="mailto:ndjoreboris@gmail.com">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,<div><br></div><div>Can someone help me to find the value of each pixel on a given frame, please.</div><div>I use frame.data[] and frame.linesize[].</div><div>Then I do this :</div><div><br></div><div>for(int i = 0; i< height; i++)</div><div>{</div><div><br></div><div>          for(int j=0 ;j<width; j++)</div><div>         { </div><div>               xy = height*stride + width</div><div>                  int pix_i,j = frame.data[xy][frame.linesize[xy]].  </div><div>          }</div><div>}</div><div>where width and height are the dimension of the frame.</div><div><br></div><div>I don't know if what I do is right</div><div><br></div></div></blockquote><div>I've done it in an older version of FFMpeg, so not sure if it still applies, but I used:</div><div>for (yy=0 ; yy<frame->height ; yy++) {</div><div><span style="white-space:pre">    </span>memcpy(bufs[0]+720*yy, frame->data[0]+(frame->linesize[0])*yy, 720);</div><div>}</div><div>for (yy=0 ; yy<frame->height/2 ; yy++) {</div><div><span style="white-space:pre">       </span>memcpy(bufs[1]+360*yy, frame->data[1]+(frame->linesize[1])*yy, 360);</div><div><span style="white-space:pre">    </span>memcpy(bufs[2]+360*yy, frame->data[2]+(frame->linesize[2])*yy, 360);</div><div>}</div><div>I was decoding YUV 422 data, and assuming a width of 720 pixels, copying it into my own buffers.</div><div>The point is that frame->data has arrays for each plane of the decoded video, and then each plane buffer can get you a pixel value for that plane.</div><div>Ultimately you'll probably need more than one value for each pixel, be it RGB or YUV.</div><div><br></div><div>Simon</div></div></div></div>