unplugged-system/external/crosvm/media/ffmpeg/bindgen.sh

36 lines
1.2 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Copyright 2022 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Regenerate ffmpeg bindgen bindings.
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")/../.."
VERSIONS="media/ffmpeg/VERSIONS"
source tools/impl/bindgen-common.sh
bindgen_generate \
--allowlist-function "av_.*" \
--allowlist-function "avcodec_.*" \
--allowlist-function "sws_.*" \
--allowlist-function "av_image_.*" \
--allowlist-var "FF_PROFILE.*" \
--allowlist-var "AV_.*" \
--allowlist-var "AVERROR_.*" \
media/ffmpeg/src/bindings.h \
> media/ffmpeg/src/ffmpeg.rs
echo "# These version numbers are updated by the bindgen.sh script" >$VERSIONS
echo "avcodec: `pkg-config --modversion libavcodec`" >>$VERSIONS
echo "avutil: `pkg-config --modversion libavutil`" >>$VERSIONS
echo "swscale: `pkg-config --modversion libswscale`" >>$VERSIONS
if ! git --no-pager diff --exit-code $VERSIONS; then
echo "Libraries versions updated in the $VERSIONS file."
echo "Please check the minimum required versions in build.rs and make sure that"
echo "the major number is the same"
fi