annotate vorbis.h @ 9473:e38284cd69dc libavcodec

Use memcpy instead of the very inefficient bytecopy where both are correct (i.e. no overlap of src and dst is possible).
author reimar
date Fri, 17 Apr 2009 17:20:48 +0000
parents ddecbc18fe94
children d157ccc267e7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
1 /*
3798
6e7b9a44800c vorbis.h -> vorbis_data.c
ods15
parents: 3699
diff changeset
2 * copyright (c) 2006 Oded Shimon <ods15@ods15.dyndns.org>
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
3 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
4 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
5 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
8 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
10 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
14 * Lesser General Public License for more details.
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
15 *
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3805
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
19 */
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3571
diff changeset
20
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7129
diff changeset
21 #ifndef AVCODEC_VORBIS_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7129
diff changeset
22 #define AVCODEC_VORBIS_H
2697
4fe1c19fc7a3 Vorbis decoder by (Balatoni Denes | dbalatoni programozo hu)
michael
parents:
diff changeset
23
3803
7ffa21b125a6 100l, broke ffmpeg compilation, ABS() and uint* types not defined in vorbis_data.c
ods15
parents: 3802
diff changeset
24 #include "avcodec.h"
7ffa21b125a6 100l, broke ffmpeg compilation, ABS() and uint* types not defined in vorbis_data.c
ods15
parents: 3802
diff changeset
25
3798
6e7b9a44800c vorbis.h -> vorbis_data.c
ods15
parents: 3699
diff changeset
26 extern const float ff_vorbis_floor1_inverse_db_table[256];
7129
322023e630a6 mark read-only data as const
stefang
parents: 5830
diff changeset
27 extern const float * const ff_vorbis_vwin[8];
2697
4fe1c19fc7a3 Vorbis decoder by (Balatoni Denes | dbalatoni programozo hu)
michael
parents:
diff changeset
28
3801
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
29 typedef struct {
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
30 uint_fast16_t x;
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
31 uint_fast16_t sort;
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
32 uint_fast16_t low;
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
33 uint_fast16_t high;
8306
ddecbc18fe94 Rename all vorbis encoder related typedefs to not use _t for POSIX compatibility
ods15
parents: 7760
diff changeset
34 } vorbis_floor1_entry;
3801
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
35
8306
ddecbc18fe94 Rename all vorbis encoder related typedefs to not use _t for POSIX compatibility
ods15
parents: 7760
diff changeset
36 void ff_vorbis_ready_floor1_list(vorbis_floor1_entry * list, int values);
3802
094fe185d054 make some more functions global so they can be shared with vorbis_enc.c
ods15
parents: 3801
diff changeset
37 unsigned int ff_vorbis_nth_root(unsigned int x, unsigned int n); // x^(1/n)
094fe185d054 make some more functions global so they can be shared with vorbis_enc.c
ods15
parents: 3801
diff changeset
38 int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, uint_fast32_t num);
8306
ddecbc18fe94 Rename all vorbis encoder related typedefs to not use _t for POSIX compatibility
ods15
parents: 7760
diff changeset
39 void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values, uint_fast16_t * y_list, int * flag, int multiplier, float * out, int samples);
3802
094fe185d054 make some more functions global so they can be shared with vorbis_enc.c
ods15
parents: 3801
diff changeset
40
094fe185d054 make some more functions global so they can be shared with vorbis_enc.c
ods15
parents: 3801
diff changeset
41 #define ilog(i) av_log2(2*(i))
3801
203cd258fc20 make ready_floor1_list() shared for vorbis_enc.c
ods15
parents: 3798
diff changeset
42
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 7129
diff changeset
43 #endif /* AVCODEC_VORBIS_H */