[Posted this on gstreamer-android, but because it is native code, I thought I give it a shot here also.]
I am trying to play around with GStreamer-java and it's h.264 encoder (x264enc) on Android.
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:
h->mc.memcpy_aligned( h->mb.pic.i8x8_dct_buf, h->dct.luma8x8, sizeof(h->mb.pic.i8x8_dct_buf) );
My device's CPU is Cortex 8 and it has NEON feature...
I tried to printout to a file all `h` structure fields, and no field is uninitialized.
My questions:
1. How can I know what is throwing SIGSEGV, because this line of code seems to be ok?
2. Is this a known bug or an expected behavior of x264 encoder on ARM CPU or I am missing some encoder configuration?
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?
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel