<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le ven. 5 avr. 2019 à 13:20, 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"><div dir="ltr">On Fri, 5 Apr 2019 at 12:08, 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,<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-wrap">       </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-wrap">  </span>memcpy(bufs[1]+360*yy, frame->data[1]+(frame->linesize[1])*yy, 360);</div><div><span style="white-space:pre-wrap">       </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></blockquote><div><br></div><div>Ok, Thanks!</div><div><br></div><div>But can you tell me how to get the frame pixel format, please?</div><div>I use frame->format   but the output is only zero (0) value.</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>