diff --git a/package/ffmpeg/0009-ffmpeg-add-mjpeg-decoder-support-and-fix-some-bug.patch b/package/ffmpeg/0009-ffmpeg-add-mjpeg-decoder-support-and-fix-some-bug.patch index 4ecc92cc..b1f7be0f 100755 --- a/package/ffmpeg/0009-ffmpeg-add-mjpeg-decoder-support-and-fix-some-bug.patch +++ b/package/ffmpeg/0009-ffmpeg-add-mjpeg-decoder-support-and-fix-some-bug.patch @@ -68,22 +68,22 @@ index 86e32a8..023db9c 100644 break; - } else { + } else if (avctx->codec->id == AV_CODEC_ID_HEVC) { -++ // For H.265, the extradata can be returned in two separate buffers -++ // (the videocore encoder on raspberry pi does this); -++ // therefore check that we have got both SPS and PPS before continuing. -++ int nals[128] = { 0 }; -++ int i; -++ for (i = 0; i + 4 < avctx->extradata_size; i++) { -++ if (!avctx->extradata[i + 0] && -++ !avctx->extradata[i + 1] && -++ !avctx->extradata[i + 2] && -++ avctx->extradata[i + 3] == 1) { -++ nals[(avctx->extradata[i + 4] & 0x7E) >> 1]++; -++ } -++ } -++ if (nals[HEVC_NAL_SPS] && nals[HEVC_NAL_PPS] && nals[HEVC_NAL_VPS]) -++ break; -++ } else { ++ // For H.265, the extradata can be returned in two separate buffers ++ // (the videocore encoder on raspberry pi does this); ++ // therefore check that we have got both SPS and PPS before continuing. ++ int nals[128] = { 0 }; ++ int i; ++ for (i = 0; i + 4 < avctx->extradata_size; i++) { ++ if (!avctx->extradata[i + 0] && ++ !avctx->extradata[i + 1] && ++ !avctx->extradata[i + 2] && ++ avctx->extradata[i + 3] == 1) { ++ nals[(avctx->extradata[i + 4] & 0x7E) >> 1]++; ++ } ++ } ++ if (nals[HEVC_NAL_SPS] && nals[HEVC_NAL_PPS] && nals[HEVC_NAL_VPS]) ++ break; ++ } else { if (avctx->extradata_size > 0) break; } diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index 5a79faed..ccdc0638 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -189,6 +189,13 @@ else FFMPEG_CONF_OPTS += --disable-outdevs endif +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +FFMPEG_CONF_OPTS += --enable-libpulse +FFMPEG_DEPENDENCIES += pulseaudio +else +FFMPEG_CONF_OPTS += --disable-libpulse +endif + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) FFMPEG_CONF_OPTS += --enable-pthreads else @@ -285,6 +292,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) FFMPEG_CONF_OPTS += --enable-mmal --enable-omx --enable-omx-rpi \ --extra-cflags=-I$(STAGING_DIR)/usr/include/IL FFMPEG_DEPENDENCIES += rpi-userland +else ifeq ($(BR2_PACKAGE_SF_OMX_IL),y) +FFMPEG_CONF_OPTS += --disable-mmal --enable-omx --disable-omx-rpi \ + --extra-cflags=-I$(STAGING_DIR)/usr/include/omx-il +FFMPEG_DEPENDENCIES += sf-omx-il else FFMPEG_CONF_OPTS += --disable-mmal --disable-omx --disable-omx-rpi endif