/usr/include/avifile-0.7/avm_creators.h is in libavifile-0.7-dev 1:0.7.48~20090503.ds-19+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #ifndef AVM_CREATORS_H
#define AVM_CREATORS_H
#include "formats.h"
#include "infotypes.h"
AVM_BEGIN_NAMESPACE;
class IAudioEncoder;
class IAudioDecoder;
class IVideoEncoder;
class IVideoDecoder;
/**
* Attempts to create decoder for specified format.
* Returns valid interface on success, 0 on failure.
*/
AVMEXPORT IAudioDecoder* CreateDecoderAudio(const WAVEFORMATEX* format, const char* privcname = 0);
/**
* Creates the encoder for specified format. Pass desired format id in
* fourcc ( see lib/libwin32/loader/wine/mmreg.h
* (you could be more specific with the codec's name)
* or lib/audiodecoder/audiodecoder.cpp
* for values ) and format of input data in fmt.
* Returns interface on success, 0 on failure.
*/
AVMEXPORT IAudioEncoder* CreateEncoderAudio(const CodecInfo& ci, const WAVEFORMATEX* fmt);
AVMEXPORT IAudioEncoder* CreateEncoderAudio(fourcc_t compressor, const WAVEFORMATEX* fmt);
AVMEXPORT IVideoDecoder* CreateDecoderVideo(const BITMAPINFOHEADER& bh, int depth = 24, int flip = 0, const char* privcname = 0);
AVMEXPORT IVideoEncoder* CreateEncoderVideo(const CodecInfo& ci, const BITMAPINFOHEADER& bh);
AVMEXPORT IVideoEncoder* CreateEncoderVideo(fourcc_t compressor, const BITMAPINFOHEADER& bh, const char* cname = 0);
AVMEXPORT IVideoEncoder* CreateEncoderVideo(const VideoEncoderInfo& info);
AVMEXPORT void FreeDecoderAudio(IAudioDecoder* decoder);
AVMEXPORT void FreeEncoderAudio(IAudioEncoder* encoder);
AVMEXPORT void FreeDecoderVideo(IVideoDecoder* decoder);
AVMEXPORT void FreeEncoderVideo(IVideoEncoder* encoder);
AVMEXPORT int CodecGetAttr(const CodecInfo& info, const char* attribute, float* value);
AVMEXPORT int CodecSetAttr(const CodecInfo& info, const char* attribute, float value);
AVMEXPORT int CodecGetAttr(const CodecInfo& info, const char* attribute, int* value);
AVMEXPORT int CodecSetAttr(const CodecInfo& info, const char* attribute, int value);
AVMEXPORT int CodecGetAttr(const CodecInfo& info, const char* attribute, const char** value);
AVMEXPORT int CodecSetAttr(const CodecInfo& info, const char* attribute, const char* value);
/**
* list of prefered codecs - delimited with commas ","
* e.g: DivX ;-) fast-motion,ATI VCR-1,
*
* spaces are important!
* comma must not be in the codec's name!
*/
AVMEXPORT int SortVideoCodecs(const char* orderlist);
AVMEXPORT int SortAudioCodecs(const char* orderlist);
AVMEXPORT const avm::string& CodecGetError();
AVM_END_NAMESPACE;
#ifdef AVM_COMPATIBLE
#define CREATORS_BEGIN_NAMESPACE namespace Creators {
#define CREATORS_END_NAMESPACE }
CREATORS_BEGIN_NAMESPACE;
static inline avm::IAudioDecoder* CreateAudioDecoder(const WAVEFORMATEX* format, const char* privcname = 0)
{
return avm::CreateDecoderAudio(format, privcname);
}
/**
* Creates the encoder for specified format. Pass desired format id in
* fourcc ( see lib/libwin32/loader/wine/mmreg.h
* (you could be more specific with the codec's name)
* or lib/audiodecoder/audiodecoder.cpp
* for values ) and format of input data in fmt.
* Returns interface on success, 0 on failure.
*/
static inline avm::IAudioEncoder* CreateAudioEncoder(const avm::CodecInfo& ci, const WAVEFORMATEX* fmt)
{
return avm::CreateEncoderAudio(ci, fmt);
}
static inline avm::IAudioEncoder* CreateAudioEncoder(fourcc_t compressor, const WAVEFORMATEX* fmt)
{
return avm::CreateEncoderAudio(compressor, fmt);
}
static inline avm::IVideoDecoder* CreateVideoDecoder(const BITMAPINFOHEADER& bh, int depth = 24, int flip = 0, const char* privcname = 0)
{
return avm::CreateDecoderVideo(bh, depth, flip, privcname);
}
static inline avm::IVideoEncoder* CreateVideoEncoder(const avm::CodecInfo& ci, const BITMAPINFOHEADER& bh)
{
return avm::CreateEncoderVideo(ci, bh);
}
static inline avm::IVideoEncoder* CreateVideoEncoder(fourcc_t compressor, const BITMAPINFOHEADER& bh, const char* cname = 0)
{
return avm::CreateEncoderVideo(compressor, bh, cname);
}
static inline avm::IVideoEncoder* CreateVideoEncoder(const avm::VideoEncoderInfo& info)
{
return avm::CreateEncoderVideo(info);
}
static inline void FreeDecoderAudio(avm::IAudioDecoder* decoder)
{
return avm::FreeDecoderAudio(decoder);
}
static inline void FreeEncoderAudio(avm::IAudioEncoder* encoder)
{
return avm::FreeEncoderAudio(encoder);
}
static inline void FreeVideoDecoder(avm::IVideoDecoder* decoder)
{
return avm::FreeDecoderVideo(decoder);
}
static inline void FreeVideoEncoder(avm::IVideoEncoder* encoder)
{
return avm::FreeEncoderVideo(encoder);
}
static inline int GetCodecAttr(const avm::CodecInfo& info, const char* attribute, int& value)
{
return avm::CodecGetAttr(info, attribute, &value);
}
static inline int SetCodecAttr(const avm::CodecInfo& info, const char* attribute, int value)
{
return avm::CodecSetAttr(info, attribute, value);
}
static inline int GetCodecAttr(const avm::CodecInfo& info, const char* attribute, const char** value)
{
return avm::CodecGetAttr(info, attribute, value);
}
static inline int SetCodecAttr(const avm::CodecInfo& info, const char* attribute, const char* value)
{
return avm::CodecSetAttr(info, attribute, value);
}
/**
* list of prefered codecs - delimited with commas ","
* e.g: DivX ;-) fast-motion,ATI VCR-1,
*
* spaces are important!
* comma must not be in the codec's name!
*/
static inline int SortVideoCodecs(const char* orderlist)
{
return avm::SortVideoCodecs(orderlist);
}
static inline int SortAudioCodecs(const char* orderlist)
{
return avm::SortAudioCodecs(orderlist);
}
static inline avm::string GetError()
{
return avm::CodecGetError();
}
CREATORS_END_NAMESPACE;
#endif
#endif // AVM_CREATORS_H
|