]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/eac3enc.c
lavc: document that avcodec_close() should not be used
[ffmpeg] / libavcodec / eac3enc.c
index 75113b272f5d3f697fe0a9fcf6f586002bc8e880..3aa2d54013fb1d0059183f60d03a8acee8d29d50 100644 (file)
@@ -25,6 +25,8 @@
  */
 
 #define CONFIG_AC3ENC_FLOAT 1
+
+#include "libavutil/attributes.h"
 #include "ac3enc.h"
 #include "eac3enc.h"
 #include "eac3_data.h"
@@ -33,7 +35,7 @@
 #define AC3ENC_TYPE AC3ENC_TYPE_EAC3
 #include "ac3enc_opts_template.c"
 static const AVClass eac3enc_class = { "E-AC-3 Encoder", av_default_item_name,
-                                       eac3_options, LIBAVUTIL_VERSION_INT };
+                                       ac3_options, LIBAVUTIL_VERSION_INT };
 
 
 /**
@@ -43,7 +45,7 @@ static const AVClass eac3enc_class = { "E-AC-3 Encoder", av_default_item_name,
 static int8_t eac3_frame_expstr_index_tab[3][4][4][4][4][4];
 
 
-void ff_eac3_exponent_init(void)
+av_cold void ff_eac3_exponent_init(void)
 {
     int i;
 
@@ -99,7 +101,7 @@ void ff_eac3_set_cpl_states(AC3EncodeContext *s)
         for (ch = 1; ch <= s->fbw_channels; ch++) {
             if (block->channel_in_cpl[ch]) {
                 if (first_cpl_coords[ch]) {
-                    block->new_cpl_coords = 2;
+                    block->new_cpl_coords[ch] = 2;
                     first_cpl_coords[ch]  = 0;
                 }
             } else {
@@ -245,18 +247,18 @@ void ff_eac3_output_frame_header(AC3EncodeContext *s)
 }
 
 
-#if CONFIG_EAC3_ENCODER
 AVCodec ff_eac3_encoder = {
     .name            = "eac3",
+    .long_name       = NULL_IF_CONFIG_SMALL("ATSC A/52 E-AC-3"),
     .type            = AVMEDIA_TYPE_AUDIO,
-    .id              = CODEC_ID_EAC3,
+    .id              = AV_CODEC_ID_EAC3,
     .priv_data_size  = sizeof(AC3EncodeContext),
-    .init            = ff_ac3_encode_init,
-    .encode          = ff_ac3_float_encode_frame,
+    .init            = ff_ac3_float_encode_init,
+    .encode2         = ff_ac3_float_encode_frame,
     .close           = ff_ac3_encode_close,
-    .sample_fmts     = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_FLT,AV_SAMPLE_FMT_NONE},
-    .long_name       = NULL_IF_CONFIG_SMALL("ATSC A/52 E-AC-3"),
+    .sample_fmts     = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
+                                                      AV_SAMPLE_FMT_NONE },
     .priv_class      = &eac3enc_class,
     .channel_layouts = ff_ac3_channel_layouts,
+    .defaults        = ac3_defaults,
 };
-#endif