X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Frm.h;h=4e63114a111e5696f0094057601e300af1797617;hb=49c2d290898ebafab0bb7424e53a79d4daf5b028;hp=f9fdd76758e57c840e5ff6097abff27daf4ea4c7;hpb=886e89d0d05ad99064e9d739e9b26beb71d79f29;p=ffmpeg diff --git a/libavformat/rm.h b/libavformat/rm.h index f9fdd76758e..4e63114a111 100644 --- a/libavformat/rm.h +++ b/libavformat/rm.h @@ -1,6 +1,6 @@ /* * "Real" compatible muxer and demuxer. - * Copyright (c) 2000, 2001 Fabrice Bellard. + * Copyright (c) 2000, 2001 Fabrice Bellard * * This file is part of FFmpeg. * @@ -24,6 +24,9 @@ #include "avformat.h" +extern const char * const ff_rm_metadata[4]; +extern const unsigned char ff_sipr_subpk_size[4]; + typedef struct RMStream RMStream; RMStream *ff_rm_alloc_rmstream (void); @@ -59,16 +62,15 @@ int ff_rm_read_mdpr_codecdata (AVFormatContext *s, ByteIOContext *pb, * @param pkt packet location to store the parsed packet data * @param seq pointer to an integer containing the sequence number, may be * updated - * @param flags pointer to an integer containing the packet flags, may be - updated - * @param ts pointer to timestamp, may be updated - * @return >=0 on success (where >0 indicates there are cached samples that - * can be retrieved with subsequent calls to ff_rm_retrieve_cache()), - * errno codes on error + * @param flags the packet flags + * @param ts timestamp of the current packet + * @return <0 on error, 0 if a packet was placed in the pkt pointer. A + * value >0 means that no data was placed in pkt, but that cached + * data is available by calling ff_rm_retrieve_cache(). */ int ff_rm_parse_packet (AVFormatContext *s, ByteIOContext *pb, AVStream *st, RMStream *rst, int len, - AVPacket *pkt, int *seq, int *flags, int64_t *ts); + AVPacket *pkt, int *seq, int flags, int64_t ts); /** * Retrieve one cached packet from the rm-context. The real container can @@ -83,8 +85,17 @@ int ff_rm_parse_packet (AVFormatContext *s, ByteIOContext *pb, * @param st stream that this packet belongs to * @param rst Real-specific stream information * @param pkt location to store the packet data + * @return the number of samples left for subsequent calls to this same + * function, or 0 if all samples have been retrieved. + */ +int ff_rm_retrieve_cache (AVFormatContext *s, ByteIOContext *pb, + AVStream *st, RMStream *rst, AVPacket *pkt); + +/** + * Perform 4-bit block reordering for SIPR data. + * + * @param buf SIPR data */ -void ff_rm_retrieve_cache (AVFormatContext *s, ByteIOContext *pb, - AVStream *st, RMStream *rst, AVPacket *pkt); +void ff_rm_reorder_sipr_data(uint8_t *buf, int sub_packet_h, int framesize); #endif /* AVFORMAT_RM_H */