Mercurial > libavcodec.hg
comparison utils.c @ 8098:c2ab7a8958ed libavcodec
Add audio channel layout API to libavcodec.
| author | pross |
|---|---|
| date | Sat, 01 Nov 2008 05:03:42 +0000 |
| parents | e70975d5ff80 |
| children | f5298dd1e61c |
comparison
equal
deleted
inserted
replaced
| 8097:7818ed859f66 | 8098:c2ab7a8958ed |
|---|---|
| 738 {"non_linear_q", "use non linear quantizer", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_NON_LINEAR_QUANT, INT_MIN, INT_MAX, V|E, "flags2"}, | 738 {"non_linear_q", "use non linear quantizer", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_NON_LINEAR_QUANT, INT_MIN, INT_MAX, V|E, "flags2"}, |
| 739 {"request_channels", "set desired number of audio channels", OFFSET(request_channels), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, A|D}, | 739 {"request_channels", "set desired number of audio channels", OFFSET(request_channels), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, A|D}, |
| 740 {"drc_scale", "percentage of dynamic range compression to apply", OFFSET(drc_scale), FF_OPT_TYPE_FLOAT, 1.0, 0.0, 1.0, A|D}, | 740 {"drc_scale", "percentage of dynamic range compression to apply", OFFSET(drc_scale), FF_OPT_TYPE_FLOAT, 1.0, 0.0, 1.0, A|D}, |
| 741 {"reservoir", "use bit reservoir", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_BIT_RESERVOIR, INT_MIN, INT_MAX, A|E, "flags2"}, | 741 {"reservoir", "use bit reservoir", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_BIT_RESERVOIR, INT_MIN, INT_MAX, A|E, "flags2"}, |
| 742 {"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX}, | 742 {"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX}, |
| 743 {"channel_layout", NULL, OFFSET(channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|E|D, "channel_layout"}, | |
| 744 {"request_channel_layout", NULL, OFFSET(request_channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|D, "request_channel_layout"}, | |
| 743 {NULL}, | 745 {NULL}, |
| 744 }; | 746 }; |
| 745 | 747 |
| 746 #undef A | 748 #undef A |
| 747 #undef V | 749 #undef V |
| 1049 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) | 1051 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) |
| 1050 { | 1052 { |
| 1051 const char *codec_name; | 1053 const char *codec_name; |
| 1052 AVCodec *p; | 1054 AVCodec *p; |
| 1053 char buf1[32]; | 1055 char buf1[32]; |
| 1054 char channels_str[100]; | |
| 1055 int bitrate; | 1056 int bitrate; |
| 1056 AVRational display_aspect_ratio; | 1057 AVRational display_aspect_ratio; |
| 1057 | 1058 |
| 1058 if (encode) | 1059 if (encode) |
| 1059 p = avcodec_find_encoder(enc->codec_id); | 1060 p = avcodec_find_encoder(enc->codec_id); |
| 1129 break; | 1130 break; |
| 1130 case CODEC_TYPE_AUDIO: | 1131 case CODEC_TYPE_AUDIO: |
| 1131 snprintf(buf, buf_size, | 1132 snprintf(buf, buf_size, |
| 1132 "Audio: %s", | 1133 "Audio: %s", |
| 1133 codec_name); | 1134 codec_name); |
| 1134 switch (enc->channels) { | |
| 1135 case 1: | |
| 1136 strcpy(channels_str, "mono"); | |
| 1137 break; | |
| 1138 case 2: | |
| 1139 strcpy(channels_str, "stereo"); | |
| 1140 break; | |
| 1141 case 6: | |
| 1142 strcpy(channels_str, "5:1"); | |
| 1143 break; | |
| 1144 default: | |
| 1145 snprintf(channels_str, sizeof(channels_str), "%d channels", enc->channels); | |
| 1146 break; | |
| 1147 } | |
| 1148 if (enc->sample_rate) { | 1135 if (enc->sample_rate) { |
| 1149 snprintf(buf + strlen(buf), buf_size - strlen(buf), | 1136 snprintf(buf + strlen(buf), buf_size - strlen(buf), |
| 1150 ", %d Hz, %s", | 1137 ", %d Hz", enc->sample_rate); |
| 1151 enc->sample_rate, | 1138 } |
| 1152 channels_str); | 1139 av_strlcat(buf, ", ", buf_size); |
| 1153 } | 1140 avcodec_get_channel_layout_string(buf + strlen(buf), buf_size - strlen(buf), enc->channels, enc->channel_layout); |
| 1154 if (enc->sample_fmt != SAMPLE_FMT_NONE) { | 1141 if (enc->sample_fmt != SAMPLE_FMT_NONE) { |
| 1155 snprintf(buf + strlen(buf), buf_size - strlen(buf), | 1142 snprintf(buf + strlen(buf), buf_size - strlen(buf), |
| 1156 ", %s", avcodec_get_sample_fmt_name(enc->sample_fmt)); | 1143 ", %s", avcodec_get_sample_fmt_name(enc->sample_fmt)); |
| 1157 } | 1144 } |
| 1158 | 1145 |
