[FFmpeg-soc] extension of ac3 parser

Bartlomiej Wolowiec bartek.wolowiec at gmail.com
Sun Apr 20 01:30:03 CEST 2008


I have a question, do the changes in parser, allowing it to correctly read the 
number of channels from package of frames, should be commited to soc 
repository or prepared to main repository?

Required parts of the code:
in AACAC3ParseContext adding
 int (*parse_header)(...)
which, having full set of frames from buffer, will set parameters

To allow realization of this function for eac3 I will add also:
arrays to add in ac3tab.c                                                                          
ff_eac3_default_chmap (Default channel map for a dependent substream defined 
by acmod)
ff_ac3_channels_mutliple (Number of channels determined by one bit in 
channel_map)

adding  parameter to ff_ac3_parse_header characterizing if the function should  
set channel_map in AC3HeaderInfo (read more bits)                                                                    
adding function (rep_channels and channels_bitmask will be used in decoder 
code):
/**
Reads full information about channels in eac3 frames
@param buf[in] Array with frames
@param bufsize[in] total size of frames
@param channels_bitmask[out] bitmask describing all used channels
@param rep_channels[out] 16-element array determinig how many times channel 
occured in frames
@return Returns number of channels in the case of success or -1 in the case of 
error
*/
int ff_ac3_channels_info(const uint8_t *buf, int buf_size,
        uint16_t *channels_bitmask,  int *rep_channels);

-- 
Bartlomiej Wolowiec



More information about the FFmpeg-soc mailing list