FFmpeg filter에서 lib link 작업 정리

2023. 10. 20. 18:47Multimedia

    목차
반응형

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

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