aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-05-30 21:12:33 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-05-30 21:12:33 +0000
commit09dafaeba101f0a52ce0f4c501ca885ede1105e6 (patch)
treeebd919a83d203b5a1e4eed99ee1094dad67cb65c /libavcodec
parentceaaf78bb758396657a77811a3c38478843afad0 (diff)
downloadffmpeg-09dafaeba101f0a52ce0f4c501ca885ede1105e6.tar.gz
Move *_static to bitstream.c which is the only file left which needs
them. Originally committed as revision 13568 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h25
-rw-r--r--libavcodec/bitstream.c56
-rw-r--r--libavcodec/utils.c54
3 files changed, 55 insertions, 80 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6aa71ba011..2cf360fbcf 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2918,31 +2918,6 @@ AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f);
*/
void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size);
-/* for static data only */
-
-/**
- * Frees all static arrays and resets their pointers to 0.
- * Call this function to release all statically allocated tables.
- *
- * @deprecated. Code which uses av_free_static is broken/misdesigned
- * and should correctly use static arrays
- *
- */
-attribute_deprecated void av_free_static(void);
-
-/**
- * Allocation of static arrays.
- *
- * @warning Do not use for normal allocation.
- *
- * @param[in] size The amount of memory you need in bytes.
- * @return block of memory of the requested size
- * @deprecated. Code which uses av_mallocz_static is broken/misdesigned
- * and should correctly use static arrays
- */
-attribute_deprecated av_malloc_attrib av_alloc_size(1)
-void *av_mallocz_static(unsigned int size);
-
/**
* Copy image 'src' to 'dst'.
*/
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 823bf97f4f..7c8cca2abe 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -40,7 +40,61 @@
* and should correctly use static arrays
*/
attribute_deprecated av_alloc_size(2)
-void *ff_realloc_static(void *ptr, unsigned int size);
+static void *ff_realloc_static(void *ptr, unsigned int size);
+
+static unsigned int last_static = 0;
+static unsigned int allocated_static = 0;
+static void** array_static = NULL;
+
+static void *av_mallocz_static(unsigned int size)
+{
+ void *ptr = av_mallocz(size);
+
+ if(ptr){
+ array_static =av_fast_realloc(array_static, &allocated_static, sizeof(void*)*(last_static+1));
+ if(!array_static)
+ return NULL;
+ array_static[last_static++] = ptr;
+ }
+
+ return ptr;
+}
+
+static void *ff_realloc_static(void *ptr, unsigned int size)
+{
+ int i;
+ if(!ptr)
+ return av_mallocz_static(size);
+ /* Look for the old ptr */
+ for(i = 0; i < last_static; i++) {
+ if(array_static[i] == ptr) {
+ array_static[i] = av_realloc(array_static[i], size);
+ return array_static[i];
+ }
+ }
+ return NULL;
+
+}
+
+static void av_free_static(void)
+{
+ while(last_static){
+ av_freep(&array_static[--last_static]);
+ }
+ av_freep(&array_static);
+}
+
+/**
+ * Call av_free_static automatically before it's too late
+ */
+
+static void do_free(void) __attribute__ ((destructor));
+
+static void do_free(void)
+{
+ av_free_static();
+}
+
void align_put_bits(PutBitContext *s)
{
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 3fd5eb3319..a245b90fc8 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -73,60 +73,6 @@ void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size)
return ptr;
}
-static unsigned int last_static = 0;
-static unsigned int allocated_static = 0;
-static void** array_static = NULL;
-
-void *av_mallocz_static(unsigned int size)
-{
- void *ptr = av_mallocz(size);
-
- if(ptr){
- array_static =av_fast_realloc(array_static, &allocated_static, sizeof(void*)*(last_static+1));
- if(!array_static)
- return NULL;
- array_static[last_static++] = ptr;
- }
-
- return ptr;
-}
-
-void *ff_realloc_static(void *ptr, unsigned int size)
-{
- int i;
- if(!ptr)
- return av_mallocz_static(size);
- /* Look for the old ptr */
- for(i = 0; i < last_static; i++) {
- if(array_static[i] == ptr) {
- array_static[i] = av_realloc(array_static[i], size);
- return array_static[i];
- }
- }
- return NULL;
-
-}
-
-void av_free_static(void)
-{
- while(last_static){
- av_freep(&array_static[--last_static]);
- }
- av_freep(&array_static);
-}
-
-/**
- * Call av_free_static automatically before it's too late
- */
-
-static void do_free(void) __attribute__ ((destructor));
-
-static void do_free(void)
-{
- av_free_static();
-}
-
-
/* encoder management */
AVCodec *first_avcodec = NULL;