FFmpeg filter에서 lib link 작업 정리
2023. 10. 20. 18:47ㆍMultimedia
- 목차
반응형
1. install_ffmepg.sh
...
ENABLE_PLACEVUE="false"
...
function show_help() {
...
echo " --enable_placevue"
...
function show_arguments() {
...
echo " - ENABLE_PLACEVUE=${ENABLE_PLACEVUE}"
...
function parse_arguments() {
...
--enable_placevue)
ENABLE_PLACEVUE="true"
shift
;;
...
function install_ffmpeg_linux_gpu() {
...
if [[ ${ENABLE_PLACEVUE} == "true" ]] ; then
config_args+=(--enable-placevue)
fi
...
2. ffmpeg-n6.0/configure
327 --enable-placevue enable Placevue libraries [no]
...
3793 placevue_ft_cuda_filter_deps="ffnvcodec libnpp"
3794 placevue_inf_filter_deps="placevue"
...
4140 for opt do
4141 optval="${opt#*=}"
...
4208 --enable-placevue)
4209 warn "placevue is enabled"
4210 enable placevue
4211 ;;
...
6671 enabled placevue && { check_lib placevue placevue_model/placevue_c_api.h destroyPlacevuePass1 -lcuda_placevue_feature_extractor -lplacevue_ml_runtime ||
6672 die "ERROR: placevue not found"; }
...
keep in mind
- configure에서 placevue가 활성화 된 경우 check_lib을 통과해야 placevue_inf_filter_deps가 정상적으로 build 됨
- check_lib에서 실패하면 placevue_inf filter가 link에 포함되지 않음
- build는 될 수 있음
- why?
- ffmpeg-n6.0/libavfilter/Makfile에서
- 아래와 같이 위 placevue_inf_filter_deps에 대응하는 CONFIG 설정으로 file의 build를 결정하면 compile도 되지 않음
- OBJS-$(CONFIG_PLACEVUE_FT_CUDA_FILTER) += vf_placevue_ft_cuda.o
- 그러나 다음과 같이 다른 (늘 활성화된) CONFIG 설정으로 file을 build 하게 하면 compile은 됨
- 그러나 위 configure 과정에서 실패 시 link는 되지 않음)
- OBJS-$(CONFIG_SCDET_NPP_FILTER) += vf_placevue_ft_cuda.o
- 아래와 같이 위 placevue_inf_filter_deps에 대응하는 CONFIG 설정으로 file의 build를 결정하면 compile도 되지 않음
build가 성공하고 link도 되는 경우에는 libavfilter/filter_list.c에 filter가 포함되어 있음 (link 실패시 없음)
- 즉, filter name으로 filter를 찾을 수 없음 (ffmpeg -filters 수행 시 없음 - 당연히 filter를 command line에 넣어도 안 됨)
반응형
'Multimedia' 카테고리의 다른 글
vmaf library (0) | 2023.11.14 |
---|---|
FFmpeg filter enable/disable (0) | 2023.11.06 |
FFmpeg filter 추가 (0) | 2023.10.20 |
FFmpeg에서 의존 라이브러리 지정 (0) | 2023.10.19 |
동영상 컨텐츠 종류 (UCC, RMC 등) (0) | 2023.09.26 |