changeset 685:44a1dab0205c libavcodec

fixing apiexample
author michaelni
date Thu, 19 Sep 2002 18:24:52 +0000
parents 581678112a5d
children 83d2c9d50d7d
files apiexample.c utils.c
diffstat 2 files changed, 22 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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");
 }
 
--- 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;
 }
 
 /**