> Of course not! VLC pads the pitches of allocated pictures to a multiple of<br>> 16 bytes (or was if 16 pixels). But that only works if the picture is<br>> allocated by the VLC core.<br><br>Yes, the input is ok, but since we build the output picture_t from the android surface, the pitch comes from android. That's the issue.<br>
<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The hardware video acceleration does not work on this device.<br>
Something about samsung libs not correctly responding to AOSP events<br></blockquote><div><br>Martin knows more about this, ask him.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


checking dst->p->i_pitch in the filter before the crash returns: 2104<br>
and that is not a multiple of 16<br></blockquote><div><br>Yes, pitch is in bytes, 4 bytes per pixel : 2104 / 4 = 526, that's your video width, not rounded to a multiple of 16.<br>The converter assume it's 2112 = 528 * 4, which is what we have on most android devices.<br>
 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

My fix was definitely wrong but I'm not sure how to check destination<br>
pitch from Open.<br></blockquote><div><br>I don't know yet, we could fallback to the C version of the converter (commented right now) at each frame, but that's very ugly :/<br></div></div>