Opened 15 years ago
Closed 15 years ago
#853 closed defect (invalid)
codec_names.h isn't present but included
| Reported by: | Alex Khokhlov | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | avcodec |
| Version: | 0.9 | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
File: libavcodec/utils.c
Function:
const char *avcodec_get_name(enum CodecID id)
{
AVCodec *codec;
#if !CONFIG_SMALL
switch (id) {
#include "libavcodec/codec_names.h"
}
av_log(NULL, AV_LOG_WARNING, "Codec 0x%x is not in the full list.\n", id);
#endif
codec = avcodec_find_decoder(id);
if (codec)
return codec->name;
codec = avcodec_find_encoder(id);
if (codec)
return codec->name;
return "unknown_codec";
}
File codec_names.h isn't found entire ffmpeg-0.9 folder and subfolders.
My configure options:
PREBUILT=${TOP}/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3
./configure --target-os=linux \
--enable-shared \
--arch=armv41 \
--enable-cross-compile \
--cc=$PREBUILT/bin/arm-eabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-eabi- \
--nm=$PREBUILT/bin/arm-eabi-nm \
--extra-cflags="-fPIC -DANDROID" \
--disable-static \
--enable-shared \
--disable-asm \
--disable-yasm \
--enable-neon \
--enable-armv5te \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-encoders \
--disable-devices \
--enable-avfilter \
--disable-network \
--disable-avdevice \
--prefix=./../../out/product/target/A10/system/bin \
--extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,\
-rpath-link=./../../prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/lib \
-L./../../prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/lib -nostdlib \
${PREBUILT}/lib/gcc/arm-eabi/4.4.3/crtbegin.o \
${PREBUILT}/lib/gcc/arm-eabi/4.4.3/crtend.o -lc -lm -ldl"
Change History (5)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Tnx for a quick answer.
I can't to give you output of
make V=1 libavcodec/utils.o
since I build ffmpeg together with all andoroid sources. By this reason I made a some tricks in build scripts.
Seems my tricks don't use codec_names.sh
Let's close it as not a bug.
comment:3 by , 15 years ago
| Status: | new → open |
|---|
If you tweaked the build system for the 0.8 series, then indeed you will probably need to adapt it to the new features of 0.9, including codec_names.h. The part concerning codec_names.h is at the end of libavcodec/Makefile. Basically, it amounts to:
cc -E libavcodec/avcodec.h | libabvcodec/codec_names.sh config.h libavcodec/codec_names.h
but of course with the bunch of compiler flags.
Feel free to reopen the bug if it happens that the original build system fails.
comment:5 by , 15 years ago
| Resolution: | → invalid |
|---|---|
| Status: | open → closed |
I believe I have seen this broken script before, allow me to repeat that it is not a good idea to use it.
If you believe FFmpeg's build system is missing features, please report it as a new enhancement ticket.



codec_names.h is automatically generated, its absence from the source tarball is normal. Can you post your failing build log? More specifically, from a clean configured tree (make distclean; ./configure), the full output of the following command:
Also, please try to reproduce with current git head.