mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
ac3enc: use function pointer to choose between AC-3 and E-AC-3 header output
functions.
This commit is contained in:
parent
504811baea
commit
36151b3e31
@ -1987,10 +1987,7 @@ static void output_frame(AC3EncodeContext *s, unsigned char *frame)
|
||||
|
||||
init_put_bits(&s->pb, frame, AC3_MAX_CODED_FRAME_SIZE);
|
||||
|
||||
if (CONFIG_EAC3_ENCODER && s->eac3)
|
||||
ff_eac3_output_frame_header(s);
|
||||
else
|
||||
ac3_output_frame_header(s);
|
||||
s->output_frame_header(s);
|
||||
|
||||
for (blk = 0; blk < AC3_MAX_BLOCKS; blk++)
|
||||
output_audio_block(s, blk);
|
||||
@ -2732,6 +2729,12 @@ static av_cold int ac3_encode_init(AVCodecContext *avctx)
|
||||
s->crc_inv[1] = pow_poly((CRC16_POLY >> 1), (8 * frame_size_58) - 16, CRC16_POLY);
|
||||
}
|
||||
|
||||
/* set function pointers */
|
||||
if (CONFIG_EAC3_ENCODER && s->eac3)
|
||||
s->output_frame_header = ff_eac3_output_frame_header;
|
||||
else
|
||||
s->output_frame_header = ac3_output_frame_header;
|
||||
|
||||
set_bandwidth(s);
|
||||
|
||||
exponent_init(s);
|
||||
|
@ -209,6 +209,8 @@ typedef struct AC3EncodeContext {
|
||||
int ref_bap_set; ///< indicates if ref_bap pointers have been set
|
||||
|
||||
DECLARE_ALIGNED(32, SampleType, windowed_samples)[AC3_WINDOW_SIZE];
|
||||
|
||||
void (*output_frame_header)(struct AC3EncodeContext *s);
|
||||
} AC3EncodeContext;
|
||||
|
||||
#endif /* AVCODEC_AC3ENC_H */
|
||||
|
Loading…
Reference in New Issue
Block a user