| OLD | NEW |
| 1 /* Copyright (c) 2012 Xiph.Org Foundation | 1 /* Copyright (c) 2012 Xiph.Org Foundation |
| 2 Written by Jean-Marc Valin */ | 2 Written by Jean-Marc Valin */ |
| 3 /* | 3 /* |
| 4 Redistribution and use in source and binary forms, with or without | 4 Redistribution and use in source and binary forms, with or without |
| 5 modification, are permitted provided that the following conditions | 5 modification, are permitted provided that the following conditions |
| 6 are met: | 6 are met: |
| 7 | 7 |
| 8 - Redistributions of source code must retain the above copyright | 8 - Redistributions of source code must retain the above copyright |
| 9 notice, this list of conditions and the following disclaimer. | 9 notice, this list of conditions and the following disclaimer. |
| 10 | 10 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 | 80 |
| 81 | 81 |
| 82 #define OPUS_SET_FORCE_MODE_REQUEST 11002 | 82 #define OPUS_SET_FORCE_MODE_REQUEST 11002 |
| 83 #define OPUS_SET_FORCE_MODE(x) OPUS_SET_FORCE_MODE_REQUEST, __opus_check_int(x) | 83 #define OPUS_SET_FORCE_MODE(x) OPUS_SET_FORCE_MODE_REQUEST, __opus_check_int(x) |
| 84 | 84 |
| 85 typedef void (*downmix_func)(const void *, opus_val32 *, int, int, int, int, int
); | 85 typedef void (*downmix_func)(const void *, opus_val32 *, int, int, int, int, int
); |
| 86 void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, in
t c1, int c2, int C); | 86 void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, in
t c1, int c2, int C); |
| 87 void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int
c1, int c2, int C); | 87 void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int
c1, int c2, int C); |
| 88 | 88 |
| 89 int optimize_framesize(const opus_val16 *x, int len, int C, opus_int32 Fs, | 89 int optimize_framesize(const opus_val16 *x, int len, int C, opus_int32 Fs, |
| 90 int bitrate, opus_val16 tonality, opus_val32 *mem, int buffering
, | 90 int bitrate, opus_val16 tonality, float *mem, int buffering, |
| 91 downmix_func downmix); | 91 downmix_func downmix); |
| 92 | 92 |
| 93 int encode_size(int size, unsigned char *data); | 93 int encode_size(int size, unsigned char *data); |
| 94 | 94 |
| 95 opus_int32 frame_size_select(opus_int32 frame_size, int variable_duration, opus_
int32 Fs); | 95 opus_int32 frame_size_select(opus_int32 frame_size, int variable_duration, opus_
int32 Fs); |
| 96 | 96 |
| 97 opus_int32 compute_frame_size(const void *analysis_pcm, int frame_size, | 97 opus_int32 compute_frame_size(const void *analysis_pcm, int frame_size, |
| 98 int variable_duration, int C, opus_int32 Fs, int bitrate_bps, | 98 int variable_duration, int C, opus_int32 Fs, int bitrate_bps, |
| 99 int delay_compensation, downmix_func downmix, opus_val32 *subframe_mem); | 99 int delay_compensation, downmix_func downmix |
| 100 #ifndef DISABLE_FLOAT_API |
| 101 , float *subframe_mem |
| 102 #endif |
| 103 ); |
| 100 | 104 |
| 101 opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
size, | 105 opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
size, |
| 102 unsigned char *data, opus_int32 out_data_bytes, int lsb_depth, | 106 unsigned char *data, opus_int32 out_data_bytes, int lsb_depth, |
| 103 const void *analysis_pcm, opus_int32 analysis_size, int c1, int c2, int an
alysis_channels, downmix_func downmix); | 107 const void *analysis_pcm, opus_int32 analysis_size, int c1, int c2, int an
alysis_channels, downmix_func downmix); |
| 104 | 108 |
| 105 int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 le
n, | 109 int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 le
n, |
| 106 opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited, | 110 opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited, |
| 107 int *packet_offset, int soft_clip); | 111 opus_int32 *packet_offset, int soft_clip); |
| 108 | 112 |
| 109 /* Make sure everything's aligned to sizeof(void *) bytes */ | 113 /* Make sure everything's aligned to sizeof(void *) bytes */ |
| 110 static inline int align(int i) | 114 static OPUS_INLINE int align(int i) |
| 111 { | 115 { |
| 112 return (i+(int)sizeof(void *)-1)&-(int)sizeof(void *); | 116 return (i+(int)sizeof(void *)-1)&-(int)sizeof(void *); |
| 113 } | 117 } |
| 114 | 118 |
| 115 opus_int32 opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int
end, unsigned char *data, opus_int32 maxlen, int self_delimited); | 119 int opus_packet_parse_impl(const unsigned char *data, opus_int32 len, |
| 120 int self_delimited, unsigned char *out_toc, |
| 121 const unsigned char *frames[48], opus_int16 size[48], |
| 122 int *payload_offset, opus_int32 *packet_offset); |
| 123 |
| 124 opus_int32 opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int
end, |
| 125 unsigned char *data, opus_int32 maxlen, int self_delimited, int pad); |
| 126 |
| 127 int pad_frame(unsigned char *data, opus_int32 len, opus_int32 new_len); |
| 116 | 128 |
| 117 #endif /* OPUS_PRIVATE_H */ | 129 #endif /* OPUS_PRIVATE_H */ |
| OLD | NEW |