Originally committed as revision 522 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -19,7 +19,6 @@ | |||
| //#define DEBUG | |||
| //#define DEBUG_BITALLOC | |||
| #include "avcodec.h" | |||
| #include <math.h> | |||
| #include "ac3enc.h" | |||
| #include "ac3tab.h" | |||
| @@ -19,7 +19,6 @@ | |||
| * alternative bitstream reader & writer by Michael Niedermayer <michaelni@gmx.at> | |||
| */ | |||
| #include "common.h" | |||
| #include <math.h> | |||
| void init_put_bits(PutBitContext *s, | |||
| UINT8 *buffer, int buffer_size, | |||
| @@ -444,10 +443,8 @@ int init_vlc(VLC *vlc, int nb_bits, int nb_codes, | |||
| bits, bits_wrap, bits_size, | |||
| codes, codes_wrap, codes_size, | |||
| 0, 0) < 0) { | |||
| if (vlc->table_bits) | |||
| free(vlc->table_bits); | |||
| if (vlc->table_codes) | |||
| free(vlc->table_codes); | |||
| av_free(vlc->table_bits); | |||
| av_free(vlc->table_codes); | |||
| return -1; | |||
| } | |||
| return 0; | |||
| @@ -456,8 +453,8 @@ int init_vlc(VLC *vlc, int nb_bits, int nb_codes, | |||
| void free_vlc(VLC *vlc) | |||
| { | |||
| free(vlc->table_bits); | |||
| free(vlc->table_codes); | |||
| av_free(vlc->table_bits); | |||
| av_free(vlc->table_codes); | |||
| } | |||
| int ff_gcd(int a, int b){ | |||
| @@ -18,9 +18,6 @@ | |||
| * | |||
| * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at> | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include <math.h> | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "simple_idct.h" | |||
| @@ -1553,11 +1553,11 @@ void init_rl(RLTable *rl) | |||
| if (run > max_run[level]) | |||
| max_run[level] = run; | |||
| } | |||
| rl->max_level[last] = malloc(MAX_RUN + 1); | |||
| rl->max_level[last] = av_malloc(MAX_RUN + 1); | |||
| memcpy(rl->max_level[last], max_level, MAX_RUN + 1); | |||
| rl->max_run[last] = malloc(MAX_LEVEL + 1); | |||
| rl->max_run[last] = av_malloc(MAX_LEVEL + 1); | |||
| memcpy(rl->max_run[last], max_run, MAX_LEVEL + 1); | |||
| rl->index_run[last] = malloc(MAX_RUN + 1); | |||
| rl->index_run[last] = av_malloc(MAX_RUN + 1); | |||
| memcpy(rl->index_run[last], index_run, MAX_RUN + 1); | |||
| } | |||
| } | |||
| @@ -16,11 +16,8 @@ | |||
| * along with this program; if not, write to the Free Software | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include <string.h> | |||
| #include "dsputil.h" | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "mpegvideo.h" | |||
| //#define DEBUG | |||
| @@ -481,7 +481,7 @@ static void deinterlace_bottom_field(UINT8 *dst, int dst_wrap, | |||
| int y, y1, i; | |||
| UINT8 *buf; | |||
| buf= (UINT8*) malloc(5 * width); | |||
| buf = (UINT8*)av_malloc(5 * width); | |||
| src = src1; | |||
| for(y=0;y<height;y+=2) { | |||
| @@ -511,7 +511,7 @@ static void deinterlace_bottom_field(UINT8 *dst, int dst_wrap, | |||
| dst += dst_wrap; | |||
| src += (2 + 1) * src_wrap; | |||
| } | |||
| free(buf); | |||
| av_free(buf); | |||
| } | |||
| @@ -16,12 +16,8 @@ | |||
| * along with this program; if not, write to the Free Software | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include <string.h> | |||
| #include <math.h> | |||
| #include "dsputil.h" | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #ifdef USE_FASTMEMCPY | |||
| #include "fastmemcpy.h" | |||
| @@ -454,7 +450,7 @@ ImgReSampleContext *img_resample_init(int owidth, int oheight, | |||
| return s; | |||
| fail: | |||
| free(s); | |||
| av_free(s); | |||
| return NULL; | |||
| } | |||
| @@ -474,8 +470,8 @@ void img_resample(ImgReSampleContext *s, | |||
| void img_resample_close(ImgReSampleContext *s) | |||
| { | |||
| free(s->line_buf); | |||
| free(s); | |||
| av_free(s->line_buf); | |||
| av_free(s); | |||
| } | |||
| #ifdef TEST | |||
| @@ -23,10 +23,6 @@ | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "mpegvideo.h" | |||
| #include "common.h" | |||
| #include <string.h> | |||
| #include <stdio.h> | |||
| #ifdef USE_FASTMEMCPY | |||
| #include "fastmemcpy.h" | |||
| @@ -246,7 +242,7 @@ int mjpeg_init(MpegEncContext *s) | |||
| { | |||
| MJpegContext *m; | |||
| m = malloc(sizeof(MJpegContext)); | |||
| m = av_malloc(sizeof(MJpegContext)); | |||
| if (!m) | |||
| return -1; | |||
| @@ -278,7 +274,7 @@ int mjpeg_init(MpegEncContext *s) | |||
| void mjpeg_close(MpegEncContext *s) | |||
| { | |||
| free(s->mjpeg_ctx); | |||
| av_free(s->mjpeg_ctx); | |||
| } | |||
| static inline void put_marker(PutBitContext *p, int code) | |||
| @@ -777,10 +773,8 @@ static int mjpeg_decode_sof0(MJpegDecodeContext *s, | |||
| /* if different size, realloc/alloc picture */ | |||
| /* XXX: also check h_count and v_count */ | |||
| if (width != s->width || height != s->height) { | |||
| for(i=0;i<MAX_COMPONENTS;i++) { | |||
| free(s->current_picture[i]); | |||
| s->current_picture[i] = NULL; | |||
| } | |||
| for(i=0;i<MAX_COMPONENTS;i++) | |||
| av_freep(&s->current_picture[i]); | |||
| s->width = width; | |||
| s->height = height; | |||
| /* test interlaced mode */ | |||
| @@ -1128,7 +1122,7 @@ static int mjpeg_decode_com(MJpegDecodeContext *s, | |||
| /* XXX: verify len field validity */ | |||
| len = get_bits(&s->gb, 16)-2; | |||
| cbuf = malloc(len+1); | |||
| cbuf = av_malloc(len+1); | |||
| for (i = 0; i < len; i++) | |||
| cbuf[i] = get_bits(&s->gb, 8); | |||
| @@ -1147,7 +1141,7 @@ static int mjpeg_decode_com(MJpegDecodeContext *s, | |||
| printf("mjpeg: workarounding buggy AVID\n"); | |||
| } | |||
| free(cbuf); | |||
| av_free(cbuf); | |||
| return 0; | |||
| } | |||
| @@ -1332,7 +1326,7 @@ static int mjpeg_decode_end(AVCodecContext *avctx) | |||
| int i, j; | |||
| for(i=0;i<MAX_COMPONENTS;i++) | |||
| free(s->current_picture[i]); | |||
| av_free(s->current_picture[i]); | |||
| for(i=0;i<2;i++) { | |||
| for(j=0;j<4;j++) | |||
| free_vlc(&s->vlcs[i][j]); | |||
| @@ -18,7 +18,6 @@ | |||
| */ | |||
| #include "avcodec.h" | |||
| #include <math.h> | |||
| #include "mpegaudio.h" | |||
| #include <lame/lame.h> | |||
| @@ -17,7 +17,6 @@ | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include "avcodec.h" | |||
| #include <math.h> | |||
| #include "mpegaudio.h" | |||
| /* currently, cannot change these constants (need to modify | |||
| @@ -18,10 +18,6 @@ | |||
| * | |||
| * 4MV & hq & b-frame encoding stuff by Michael Niedermayer <michaelni@gmx.at> | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include <math.h> | |||
| #include <string.h> | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "mpegvideo.h" | |||
| @@ -264,7 +260,7 @@ int MPV_common_init(MpegEncContext *s) | |||
| int size; | |||
| /* MV prediction */ | |||
| size = (2 * s->mb_width + 2) * (2 * s->mb_height + 2); | |||
| s->motion_val = malloc(size * 2 * sizeof(INT16)); | |||
| s->motion_val = av_malloc(size * 2 * sizeof(INT16)); | |||
| if (s->motion_val == NULL) | |||
| goto fail; | |||
| memset(s->motion_val, 0, size * 2 * sizeof(INT16)); | |||
| @@ -278,7 +274,7 @@ int MPV_common_init(MpegEncContext *s) | |||
| y_size = (2 * s->mb_width + 2) * (2 * s->mb_height + 2); | |||
| c_size = (s->mb_width + 2) * (s->mb_height + 2); | |||
| size = y_size + 2 * c_size; | |||
| s->dc_val[0] = malloc(size * sizeof(INT16)); | |||
| s->dc_val[0] = av_malloc(size * sizeof(INT16)); | |||
| if (s->dc_val[0] == NULL) | |||
| goto fail; | |||
| s->dc_val[1] = s->dc_val[0] + y_size; | |||
| @@ -326,44 +322,38 @@ int MPV_common_init(MpegEncContext *s) | |||
| return -1; | |||
| } | |||
| #define CHECK_FREE(p)\ | |||
| {\ | |||
| if(p) free(p);\ | |||
| p= NULL;\ | |||
| } | |||
| /* init common structure for both encoder and decoder */ | |||
| void MPV_common_end(MpegEncContext *s) | |||
| { | |||
| int i; | |||
| CHECK_FREE(s->mb_type); | |||
| CHECK_FREE(s->mb_var); | |||
| CHECK_FREE(s->p_mv_table); | |||
| CHECK_FREE(s->last_p_mv_table); | |||
| CHECK_FREE(s->b_forw_mv_table); | |||
| CHECK_FREE(s->b_back_mv_table); | |||
| CHECK_FREE(s->b_bidir_forw_mv_table); | |||
| CHECK_FREE(s->b_bidir_back_mv_table); | |||
| CHECK_FREE(s->b_direct_forw_mv_table); | |||
| CHECK_FREE(s->b_direct_back_mv_table); | |||
| CHECK_FREE(s->b_direct_mv_table); | |||
| CHECK_FREE(s->motion_val); | |||
| CHECK_FREE(s->dc_val[0]); | |||
| CHECK_FREE(s->ac_val[0]); | |||
| CHECK_FREE(s->coded_block); | |||
| CHECK_FREE(s->mbintra_table); | |||
| CHECK_FREE(s->me_scratchpad); | |||
| CHECK_FREE(s->mbskip_table); | |||
| CHECK_FREE(s->bitstream_buffer); | |||
| av_freep(&s->mb_type); | |||
| av_freep(&s->mb_var); | |||
| av_freep(&s->p_mv_table); | |||
| av_freep(&s->last_p_mv_table); | |||
| av_freep(&s->b_forw_mv_table); | |||
| av_freep(&s->b_back_mv_table); | |||
| av_freep(&s->b_bidir_forw_mv_table); | |||
| av_freep(&s->b_bidir_back_mv_table); | |||
| av_freep(&s->b_direct_forw_mv_table); | |||
| av_freep(&s->b_direct_back_mv_table); | |||
| av_freep(&s->b_direct_mv_table); | |||
| av_freep(&s->motion_val); | |||
| av_freep(&s->dc_val[0]); | |||
| av_freep(&s->ac_val[0]); | |||
| av_freep(&s->coded_block); | |||
| av_freep(&s->mbintra_table); | |||
| av_freep(&s->me_scratchpad); | |||
| av_freep(&s->mbskip_table); | |||
| av_freep(&s->bitstream_buffer); | |||
| for(i=0;i<3;i++) { | |||
| int j; | |||
| CHECK_FREE(s->last_picture_base[i]); | |||
| CHECK_FREE(s->next_picture_base[i]); | |||
| CHECK_FREE(s->aux_picture_base[i]); | |||
| av_freep(&s->last_picture_base[i]); | |||
| av_freep(&s->next_picture_base[i]); | |||
| av_freep(&s->aux_picture_base[i]); | |||
| for(j=0; j<REORDER_BUFFER_SIZE; j++){ | |||
| CHECK_FREE(s->picture_buffer[j][i]); | |||
| av_freep(&s->picture_buffer[j][i]); | |||
| } | |||
| } | |||
| s->context_initialized = 0; | |||
| @@ -16,12 +16,9 @@ | |||
| * along with this program; if not, write to the Free Software | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include "common.h" | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "mpegvideo.h" | |||
| #include "avcodec.h" | |||
| /* | |||
| * You can also call this codec : MPEG4 with a twist ! | |||
| @@ -137,7 +134,7 @@ static void init_mv_table(MVTable *tab) | |||
| { | |||
| int i, x, y; | |||
| tab->table_mv_index = malloc(sizeof(UINT16) * 4096); | |||
| tab->table_mv_index = av_malloc(sizeof(UINT16) * 4096); | |||
| /* mark all entries as not used */ | |||
| for(i=0;i<4096;i++) | |||
| tab->table_mv_index[i] = tab->n; | |||
| @@ -109,7 +109,7 @@ static int encode_init(AVCodecContext *avctx) | |||
| switch(avctx->codec->id) { | |||
| case CODEC_ID_PCM_ALAW: | |||
| if (linear_to_alaw_ref == 0) { | |||
| linear_to_alaw = malloc(16384); | |||
| linear_to_alaw = av_malloc(16384); | |||
| if (!linear_to_alaw) | |||
| return -1; | |||
| build_xlaw_table(linear_to_alaw, alaw2linear, 0xd5); | |||
| @@ -118,7 +118,7 @@ static int encode_init(AVCodecContext *avctx) | |||
| break; | |||
| case CODEC_ID_PCM_MULAW: | |||
| if (linear_to_ulaw_ref == 0) { | |||
| linear_to_ulaw = malloc(16384); | |||
| linear_to_ulaw = av_malloc(16384); | |||
| if (!linear_to_ulaw) | |||
| return -1; | |||
| build_xlaw_table(linear_to_ulaw, ulaw2linear, 0xff); | |||
| @@ -136,11 +136,11 @@ static int encode_close(AVCodecContext *avctx) | |||
| switch(avctx->codec->id) { | |||
| case CODEC_ID_PCM_ALAW: | |||
| if (--linear_to_alaw_ref == 0) | |||
| free(linear_to_alaw); | |||
| av_free(linear_to_alaw); | |||
| break; | |||
| case CODEC_ID_PCM_MULAW: | |||
| if (--linear_to_ulaw_ref == 0) | |||
| free(linear_to_ulaw); | |||
| av_free(linear_to_ulaw); | |||
| break; | |||
| default: | |||
| /* nothing to free */ | |||
| @@ -106,10 +106,10 @@ void ff_rate_control_uninit(MpegEncContext *s) | |||
| RateControlContext *rcc= &s->rc_context; | |||
| emms_c(); | |||
| if(rcc->stats_file) fclose(rcc->stats_file); | |||
| if(rcc->entry) free(rcc->entry); | |||
| rcc->stats_file= NULL; | |||
| rcc->entry= NULL; | |||
| if(rcc->stats_file) | |||
| fclose(rcc->stats_file); | |||
| rcc->stats_file = NULL; | |||
| av_freep(&rcc->entry); | |||
| } | |||
| //---------------------------------- | |||
| @@ -17,7 +17,6 @@ | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include "avcodec.h" | |||
| #include <math.h> | |||
| typedef struct { | |||
| /* fractional resampling */ | |||
| @@ -193,7 +192,7 @@ static int mono_resample(ReSampleChannelContext *s, short *output, short *input, | |||
| short *buf1; | |||
| short *buftmp; | |||
| buf1= (short*) malloc( nb_samples * sizeof(short) ); | |||
| buf1= (short*)av_malloc( nb_samples * sizeof(short) ); | |||
| /* first downsample by an integer factor with averaging filter */ | |||
| if (s->iratio > 1) { | |||
| @@ -209,7 +208,7 @@ static int mono_resample(ReSampleChannelContext *s, short *output, short *input, | |||
| } else { | |||
| memcpy(output, buftmp, nb_samples * sizeof(short)); | |||
| } | |||
| free(buf1); | |||
| av_free(buf1); | |||
| return nb_samples; | |||
| } | |||
| @@ -260,13 +259,13 @@ int audio_resample(ReSampleContext *s, short *output, short *input, int nb_sampl | |||
| } | |||
| /* XXX: move those malloc to resample init code */ | |||
| bufin[0]= (short*) malloc( nb_samples * sizeof(short) ); | |||
| bufin[1]= (short*) malloc( nb_samples * sizeof(short) ); | |||
| bufin[0]= (short*) av_malloc( nb_samples * sizeof(short) ); | |||
| bufin[1]= (short*) av_malloc( nb_samples * sizeof(short) ); | |||
| /* make some zoom to avoid round pb */ | |||
| lenout= (int)(nb_samples * s->ratio) + 16; | |||
| bufout[0]= (short*) malloc( lenout * sizeof(short) ); | |||
| bufout[1]= (short*) malloc( lenout * sizeof(short) ); | |||
| bufout[0]= (short*) av_malloc( lenout * sizeof(short) ); | |||
| bufout[1]= (short*) av_malloc( lenout * sizeof(short) ); | |||
| if (s->input_channels == 2 && | |||
| s->output_channels == 1) { | |||
| @@ -299,15 +298,15 @@ int audio_resample(ReSampleContext *s, short *output, short *input, int nb_sampl | |||
| stereo_mux(output, buftmp3[0], buftmp3[1], nb_samples1); | |||
| } | |||
| free(bufin[0]); | |||
| free(bufin[1]); | |||
| av_free(bufin[0]); | |||
| av_free(bufin[1]); | |||
| free(bufout[0]); | |||
| free(bufout[1]); | |||
| av_free(bufout[0]); | |||
| av_free(bufout[1]); | |||
| return nb_samples1; | |||
| } | |||
| void audio_resample_close(ReSampleContext *s) | |||
| { | |||
| free(s); | |||
| av_free(s); | |||
| } | |||
| @@ -16,12 +16,8 @@ | |||
| * along with this program; if not, write to the Free Software | |||
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| */ | |||
| #include <stdlib.h> | |||
| #include <stdio.h> | |||
| #include <string.h> | |||
| #include "common.h" | |||
| #include "dsputil.h" | |||
| #include "avcodec.h" | |||
| #include "dsputil.h" | |||
| #include "mpegvideo.h" | |||
| //#define DEBUG | |||
| @@ -20,10 +20,9 @@ | |||
| based upon some outcommented c code from mpeg2dec (idct_mmx.c written by Aaron Holtzman <aholtzma@ess.engr.uvic.ca>) | |||
| */ | |||
| #include <inttypes.h> | |||
| #include "avcodec.h" | |||
| #include "simple_idct.h" | |||
| #include "../config.h" | |||
| #if 0 | |||
| #define W1 2841 /* 2048*sqrt (2)*cos (1*pi/16) */ | |||