Domanda

I compilare il FFmpeg sotto l'ARMv5, si può lavorare bene su Android NDK R5, ma io compilare il FFmpeg sotto l'ARMv6, si può successo, ma quando chiamo la funzione av_new_stream, è caduto, e si è schiantato su il libavutil.c / rational.c:

if(num<=max && den<=max){
    a1= (AVRational){num, den};
    den=0;
}

Dosi chiunque incontrino questo problema?

The LOCAL_FLAGS
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE    := ffmpeg
LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H  -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC  -std=gnu99 -march=armv6

C'è errore qualcosa qui?

È stato utile?

Soluzione

Se si esegue il codice sotto l'emulatore, questo è perfettamente normale. L'emulatore supporta solo ARMv5. Non ARMv6 e certamente non ARMv7.

Aggiornamento: Questo non è più vero con le versioni più recenti del emulatore. Esso supporta pienamente ARMv7.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top