#include <stdint.h>
#include "libavutil/crc.h"
#include "libavutil/audioconvert.h"
#include "get_bits.h"
#include "parser.h"
#include "mlp_parser.h"
#include "mlp.h"
Go to the source code of this file.
| Data Structures | |
| struct | MLPParseContext | 
| Functions | |
| static int | mlp_samplerate (int in) | 
| static int | truehd_channels (int chanmap) | 
| uint64_t | ff_truehd_layout (int chanmap) | 
| int | ff_mlp_read_major_sync (void *log, MLPHeaderInfo *mh, GetBitContext *gb) | 
| Read a major sync info header - contains high level information about the stream - sample rate, channel arrangement etc. | |
| static av_cold int | mlp_init (AVCodecParserContext *s) | 
| static int | mlp_parse (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size) | 
| Variables | |
| static const uint8_t | mlp_quants [16] | 
| static const uint8_t | mlp_channels [32] | 
| const uint64_t | ff_mlp_layout [32] | 
| static const uint8_t | thd_chancount [13] | 
| static const uint64_t | thd_layout [13] | 
| AVCodecParser | ff_mlp_parser | 
Definition in file mlp_parser.c.
| int ff_mlp_read_major_sync | ( | void * | log, | |
| MLPHeaderInfo * | mh, | |||
| GetBitContext * | gb | |||
| ) | 
Read a major sync info header - contains high level information about the stream - sample rate, channel arrangement etc.
Most of this information is not actually necessary for decoding, only for playback. gb must be a freshly initialized GetBitContext with no bits read.
Definition at line 126 of file mlp_parser.c.
Referenced by mlp_parse(), and read_major_sync().
| uint64_t ff_truehd_layout | ( | int | chanmap | ) | 
| static av_cold int mlp_init | ( | AVCodecParserContext * | s | ) |  [static] | 
Definition at line 205 of file mlp_parser.c.
| static int mlp_parse | ( | AVCodecParserContext * | s, | |
| AVCodecContext * | avctx, | |||
| const uint8_t ** | poutbuf, | |||
| int * | poutbuf_size, | |||
| const uint8_t * | buf, | |||
| int | buf_size | |||
| ) |  [static] | 
Definition at line 211 of file mlp_parser.c.
| static int mlp_samplerate | ( | int | in | ) |  [static] | 
| static int truehd_channels | ( | int | chanmap | ) |  [static] | 
| const uint64_t ff_mlp_layout[32] | 
Initial value:
 {
    AV_CH_LAYOUT_MONO,
    AV_CH_LAYOUT_STEREO,
    AV_CH_LAYOUT_2_1,
    AV_CH_LAYOUT_QUAD,
    AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_2_1|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_QUAD|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_SURROUND,
    AV_CH_LAYOUT_4POINT0,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_5POINT1_BACK,
    AV_CH_LAYOUT_4POINT0,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_5POINT1_BACK,
    AV_CH_LAYOUT_QUAD|AV_CH_LOW_FREQUENCY,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_5POINT1_BACK,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
Definition at line 46 of file mlp_parser.c.
Referenced by mlp_parse(), and read_major_sync().
Initial value:
 {
    .codec_ids      = { CODEC_ID_MLP, CODEC_ID_TRUEHD },
    .priv_data_size = sizeof(MLPParseContext),
    .parser_init    = mlp_init,
    .parser_parse   = mlp_parse,
    .parser_close   = ff_parse_close,
}
Definition at line 350 of file mlp_parser.c.
| const uint8_t mlp_channels[32]  [static] | 
Initial value:
 {
    1, 2, 3, 4, 3, 4, 5, 3, 4, 5, 4, 5, 6, 4, 5, 4,
    5, 6, 5, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
Definition at line 41 of file mlp_parser.c.
Referenced by mlp_parse().
| const uint8_t mlp_quants[16]  [static] | 
Initial value:
 {
    16, 20, 24, 0, 0, 0, 0, 0,
     0,  0,  0, 0, 0, 0, 0, 0,
}
Definition at line 36 of file mlp_parser.c.
Referenced by ff_mlp_read_major_sync().
| const uint8_t thd_chancount[13]  [static] | 
Initial value:
 {
     2,   1,   1,   2,   2,   2,   2,   1,   1,   2,   2,   1,   1
}
Definition at line 71 of file mlp_parser.c.
Referenced by truehd_channels().
| const uint64_t thd_layout[13]  [static] | 
Initial value:
 {
    AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT,                     
    AV_CH_FRONT_CENTER,                                     
    AV_CH_LOW_FREQUENCY,                                    
    AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT,                       
    AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT,             
    AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER, 
    AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT,                       
    AV_CH_BACK_CENTER,                                      
    AV_CH_TOP_CENTER,                                       
    AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT,                       
    AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER, 
    AV_CH_TOP_FRONT_CENTER,                                 
    AV_CH_LOW_FREQUENCY                                     
}
Definition at line 76 of file mlp_parser.c.
Referenced by ff_truehd_layout().
 1.5.8
 1.5.8