# HG changeset patch # User michaelni # Date 1032459892 0 # Node ID 44a1dab0205c68c22bd3f18380229a7c79903f67 # Parent 581678112a5d047dd95c166f6ec386a0f4b8e32e fixing apiexample diff -r 581678112a5d -r 44a1dab0205c apiexample.c --- a/apiexample.c Thu Sep 19 17:44:54 2002 +0000 +++ b/apiexample.c Thu Sep 19 18:24:52 2002 +0000 @@ -19,7 +19,7 @@ void audio_encode_example(const char *filename) { AVCodec *codec; - AVCodecContext codec_context, *c = &codec_context; + AVCodecContext *c= NULL; int frame_size, i, j, out_size, outbuf_size; FILE *f; short *samples; @@ -35,9 +35,8 @@ exit(1); } - /* put default values */ - memset(c, 0, sizeof(*c)); - + c= avcodec_alloc_context(); + /* put sample parameters */ c->bit_rate = 64000; c->sample_rate = 44100; @@ -79,6 +78,7 @@ free(samples); avcodec_close(c); + free(c); } /* @@ -87,7 +87,7 @@ void audio_decode_example(const char *outfilename, const char *filename) { AVCodec *codec; - AVCodecContext codec_context, *c = &codec_context; + AVCodecContext *c= NULL; int out_size, size, len; FILE *f, *outfile; UINT8 *outbuf; @@ -102,8 +102,7 @@ exit(1); } - /* put default values */ - memset(c, 0, sizeof(*c)); + c= avcodec_alloc_context(); /* open it */ if (avcodec_open(c, codec) < 0) { @@ -120,7 +119,7 @@ } outfile = fopen(outfilename, "w"); if (!outfile) { - fprintf(stderr, "could not open %s\n", outfilename); + free(c); exit(1); } @@ -153,6 +152,7 @@ free(outbuf); avcodec_close(c); + free(c); } /* @@ -161,7 +161,7 @@ void video_encode_example(const char *filename) { AVCodec *codec; - AVCodecContext codec_context, *c = &codec_context; + AVCodecContext *c= NULL; int i, out_size, size, x, y, outbuf_size; FILE *f; AVPicture picture; @@ -176,9 +176,8 @@ exit(1); } - /* put default values */ - memset(c, 0, sizeof(*c)); - + c= avcodec_alloc_context(); + /* put sample parameters */ c->bit_rate = 400000; /* resolution must be a multiple of two */ @@ -251,6 +250,7 @@ free(outbuf); avcodec_close(c); + free(c); printf("\n"); } @@ -273,7 +273,7 @@ void video_decode_example(const char *outfilename, const char *filename) { AVCodec *codec; - AVCodecContext codec_context, *c = &codec_context; + AVCodecContext *c= NULL; int frame, size, got_picture, len; FILE *f; AVPicture picture; @@ -289,8 +289,7 @@ exit(1); } - /* put default values */ - memset(c, 0, sizeof(*c)); + c= avcodec_alloc_context(); /* for some codecs, such as msmpeg4 and mpeg4, width and height MUST be initialized there because these info are not available @@ -375,6 +374,7 @@ fclose(f); avcodec_close(c); + free(c); printf("\n"); } diff -r 581678112a5d -r 44a1dab0205c utils.c --- a/utils.c Thu Sep 19 17:44:54 2002 +0000 +++ b/utils.c Thu Sep 19 18:24:52 2002 +0000 @@ -50,10 +50,17 @@ } void avcodec_get_context_defaults(AVCodecContext *s){ + s->bit_rate= 800*1000; + s->bit_rate_tolerance= s->bit_rate*10; s->qmin= 2; s->qmax= 31; s->rc_eq= "tex^qComp"; s->qcompress= 0.5; + s->max_qdiff= 3; + s->b_quant_factor=1.25; + s->b_quant_offset=1.25; + s->i_quant_factor=0.8; + s->i_quant_offset=0.0; } /**