We are adding *nv12 tile* to *yuv420p* format conversion support in *libswscale*. While adding the support we also found out that the size calculation under *av_image_fill_pointers function* under *libavutil/imgutils.c* file also needed to be changed.
Hence we added support under *libavutil* by making two new files *special_format.c* and *special_format.h*, and used it along with *imgutils.c*. This special_format.h is consist of four functions namely, nv12tile_calc_wTiles nv12tile_calc_hTiles nv12tile_calc_boundary_padding nv12tile_calc_plane_size We used this functions by including *special_format.h* inside *nv12tileconversion.c* file (our conversion algo is placed in this file) inside *libswscale* as follows. ... ... *#include "libavutil/special_format.h"* ... ... But on compiling its giving the below errors. ----------------------------------------------------------------------------------- libswscale/libswscale.so: undefined reference to `nv12tile_calc_wTiles' libswscale/libswscale.so: undefined reference to `nv12tile_calc_plane_size' libswscale/libswscale.so: undefined reference to `nv12tile_calc_hTiles' collect2: error: ld returned 1 exit status make: *** [ffplay_g] Error 1 make: *** Waiting for unfinished jobs.... libswscale/libswscale.so: undefined reference to `nv12tile_calc_wTiles' libswscale/libswscale.so: undefined reference to `nv12tile_calc_plane_size' libswscale/libswscale.so: undefined reference to `nv12tile_calc_hTiles' collect2: error: ld returned 1 exit status make: *** [ffprobe_g] Error 1 libswscale/libswscale.so: undefined reference to `nv12tile_calc_wTiles' libswscale/libswscale.so: undefined reference to `nv12tile_calc_plane_size' libswscale/libswscale.so: undefined reference to `nv12tile_calc_hTiles' collect2: error: ld returned 1 exit status make: *** [ffserver_g] Error 1 libswscale/libswscale.so: undefined reference to `nv12tile_calc_wTiles' libswscale/libswscale.so: undefined reference to `nv12tile_calc_plane_size' libswscale/libswscale.so: undefined reference to `nv12tile_calc_hTiles' collect2: error: ld returned 1 exit status make: *** [ffmpeg_g] Error 1 ----------------------------------------------------------------------------------- To solve this we added the lines (in bold as show below) in *Makefile* under *libswscale*, ----------------------------------------------------------------------------------- include $(SUBDIR)../config.mak NAME = swscale HEADERS = swscale.h \ version.h \ OBJS = alphablend.o \ hscale.o \ hscale_fast_bilinear.o \ gamma.o \ input.o \ options.o \ output.o \ rgb2rgb.o \ slice.o \ swscale.o \ swscale_unscaled.o \ utils.o \ yuv2rgb.o \ vscale.o \ nv12tiledconversion.o \ * ./libavutil/special_format.o \* OBJS-$(CONFIG_SHARED) += log2_tab.o # Windows resource file SLIBOBJS-$(HAVE_GNU_WINDRES) += swscaleres.o TESTPROGS = colorspace \ swscale ----------------------------------------------------------------------------------- My question is how can I compile the ffmpeg libraries *without including* special_format.o object reference under libswscale Makefile ? The reason why am asking this questions is that I have seen many files under libswscale using files from under libavutil and they are compiling fine, but am not able to find out why we are facing this errors ! Please help. *Note* :- configuration of ffmpeg is as show below. export SDL_PATH=../sdl/ ./configure --enable-shared --enable-nonfree --enable-pic --enable-gpl --extra-cflags="-I$SDL_PATH/include/SDL/" --extra-ldflags="-L$SDL_PATH/lib/ -lSDL" -- View this message in context: http://libav-users.943685.n4.nabble.com/Libav-user-Unable-to-link-libavutil-with-libswscale-tp4662334.html Sent from the libav-users mailing list archive at Nabble.com. _______________________________________________ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user