<div>[Posted this on gstreamer-android, but because it is native code, I thought I give it a shot here also.]</div><div><br></div><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>