diff options
author | Alfred E. Heggestad <aeh@db.org> | 2014-02-09 11:50:07 +0100 |
---|---|---|
committer | Alfred E. Heggestad <aeh@db.org> | 2014-02-09 11:50:07 +0100 |
commit | 98bf08bdcf2edd9d397f32650a8bfe62186fbecf (patch) | |
tree | ebc6ec71f44bff8c42e4eefced61948623df02fc /modules/avcodec/avcodec.h | |
parent | e6ad5cf4401b860ba402d4b7b3c7c254bc87a019 (diff) |
baresip 0.4.10
Diffstat (limited to 'modules/avcodec/avcodec.h')
-rw-r--r-- | modules/avcodec/avcodec.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/avcodec/avcodec.h b/modules/avcodec/avcodec.h new file mode 100644 index 0000000..bbd022a --- /dev/null +++ b/modules/avcodec/avcodec.h @@ -0,0 +1,62 @@ +/** + * @file avcodec.h Video codecs using FFmpeg libavcodec -- internal API + * + * Copyright (C) 2010 Creytiv.com + */ + + +#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(25<<8)+0) +#define CodecID AVCodecID +#endif + + +extern const uint8_t h264_level_idc; + + +/* + * Encode + */ + +struct videnc_state; + +int encode_update(struct videnc_state **vesp, const struct vidcodec *vc, + struct videnc_param *prm, const char *fmtp); +int encode(struct videnc_state *st, bool update, const struct vidframe *frame, + videnc_packet_h *pkth, void *arg); +#ifdef USE_X264 +int encode_x264(struct videnc_state *st, bool update, + const struct vidframe *frame, + videnc_packet_h *pkth, void *arg); +#endif + + +/* + * Decode + */ + +struct viddec_state; + +int decode_update(struct viddec_state **vdsp, const struct vidcodec *vc, + const char *fmtp); +int decode_h263(struct viddec_state *st, struct vidframe *frame, + bool eof, uint16_t seq, struct mbuf *src); +int decode_h264(struct viddec_state *st, struct vidframe *frame, + bool eof, uint16_t seq, struct mbuf *src); +int decode_mpeg4(struct viddec_state *st, struct vidframe *frame, + bool eof, uint16_t seq, struct mbuf *src); +int decode_h263_test(struct viddec_state *st, struct vidframe *frame, + bool marker, uint16_t seq, struct mbuf *src); + + +int decode_sdpparam_h264(struct videnc_state *st, const struct pl *name, + const struct pl *val); +int h264_packetize(struct mbuf *mb, size_t pktsize, + videnc_packet_h *pkth, void *arg); +int h264_decode(struct viddec_state *st, struct mbuf *src); +int h264_nal_send(bool first, bool last, + bool marker, uint32_t ihdr, const uint8_t *buf, + size_t size, size_t maxsz, + videnc_packet_h *pkth, void *arg); + + +int avcodec_resolve_codecid(const char *s); |