[FFmpeg-cvslog] r25978 - trunk/libavcodec/ac3enc.c

jbr subversion
Tue Dec 14 15:52:18 CET 2010


Author: jbr
Date: Tue Dec 14 15:52:18 2010
New Revision: 25978

Log:
Split validation of initial user options into a separate function.

Modified:
   trunk/libavcodec/ac3enc.c

Modified: trunk/libavcodec/ac3enc.c
==============================================================================
--- trunk/libavcodec/ac3enc.c	Tue Dec 14 15:52:14 2010	(r25977)
+++ trunk/libavcodec/ac3enc.c	Tue Dec 14 15:52:18 2010	(r25978)
@@ -1250,20 +1250,11 @@ static av_cold int set_channel_info(AC3E
 }
 
 
-/**
- * Initialize the encoder.
- */
-static av_cold int ac3_encode_init(AVCodecContext *avctx)
+static av_cold int validate_options(AVCodecContext *avctx, AC3EncodeContext *s)
 {
     int freq = avctx->sample_rate;
     int bitrate = avctx->bit_rate;
-    AC3EncodeContext *s = avctx->priv_data;
-    int i, j, ch;
-    int bw_code;
-
-    avctx->frame_size = AC3_FRAME_SIZE;
-
-    ac3_common_init();
+    int i, j;
 
     if (!avctx->channel_layout) {
         av_log(avctx, AV_LOG_WARNING, "No channel layout specified. The "
@@ -1298,6 +1289,27 @@ static av_cold int ac3_encode_init(AVCod
         return -1;
     s->bit_rate        = bitrate;
     s->frame_size_code = i << 1;
+
+    return 0;
+}
+
+
+/**
+ * Initialize the encoder.
+ */
+static av_cold int ac3_encode_init(AVCodecContext *avctx)
+{
+    AC3EncodeContext *s = avctx->priv_data;
+    int ch, bw_code, ret;
+
+    avctx->frame_size = AC3_FRAME_SIZE;
+
+    ac3_common_init();
+
+    ret = validate_options(avctx, s);
+    if (ret)
+        return ret;
+
     s->frame_size_min  = 2 * ff_ac3_frame_size_tab[s->frame_size_code][s->bit_alloc.sr_code];
     s->bits_written    = 0;
     s->samples_written = 0;



More information about the ffmpeg-cvslog mailing list