<div>I am trying to play around with GStreamer-java and it's h.264 encoder (x264enc) on Android. </div><div><br></div><div>Now, I tried to encode raw video from test video source (set its **is-live** property to **TRUE**), and when data starts flowing into the x264enc Element, I get SIGSEGV in libx264.so and my app crashes. And it looks like code is dereferencing a NULL... Exact error location is in file "gstreamer_ndk_bundle/x264/encoder/analyse.c" line 963. And it is this line:</div>
<div><br></div><div> h->mc.memcpy_aligned( h->mb.pic.i8x8_dct_buf, h->dct.luma8x8, sizeof(h->mb.pic.i8x8_dct_buf) );</div><div><br></div><div>My device's CPU is Cortex 8 and it has NEON feature... </div>
<div><br></div><div>I tried to printout to a file all `h` structure fields, and no field is uninitialized.</div><div><br></div><div><br></div><div>###My questions:</div><div>1. How can I know what is throwing SIGSEGV, because this line of code seems to be ok? </div>
<div>2. Is this a known bug or an expected behavior of x264 encoder on ARM CPU or I am missing some encoder configuration?</div><div>3. I noticed that if I set property **analyse** of the encoder to **0x3:0x113** (*some random value I found online*) I don't get SIGSEGV, encoder seems to work, but I get error in pipeline: *Data flow error*. Can I just set **analyse** to a meaningful value?</div>
<div><br></div>