Commit ce863d7f authored by Ronald S. Bultje's avatar Ronald S. Bultje

Rename ff_log_missing_feature() to av_log_missing_feature().

Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 38e54a75
...@@ -320,7 +320,7 @@ static int decode_ga_specific_config(AACContext * ac, GetBitContext * gb, int ch ...@@ -320,7 +320,7 @@ static int decode_ga_specific_config(AACContext * ac, GetBitContext * gb, int ch
int extension_flag, ret; int extension_flag, ret;
if(get_bits1(gb)) { // frameLengthFlag if(get_bits1(gb)) { // frameLengthFlag
ff_log_missing_feature(ac->avccontext, "960/120 MDCT window is", 1); av_log_missing_feature(ac->avccontext, "960/120 MDCT window is", 1);
return -1; return -1;
} }
...@@ -588,7 +588,7 @@ static int decode_ics_info(AACContext * ac, IndividualChannelStream * ics, GetBi ...@@ -588,7 +588,7 @@ static int decode_ics_info(AACContext * ac, IndividualChannelStream * ics, GetBi
memset(ics, 0, sizeof(IndividualChannelStream)); memset(ics, 0, sizeof(IndividualChannelStream));
return -1; return -1;
} else { } else {
ff_log_missing_feature(ac->avccontext, "Predictor bit set but LTP is", 1); av_log_missing_feature(ac->avccontext, "Predictor bit set but LTP is", 1);
memset(ics, 0, sizeof(IndividualChannelStream)); memset(ics, 0, sizeof(IndividualChannelStream));
return -1; return -1;
} }
...@@ -1040,7 +1040,7 @@ static int decode_ics(AACContext * ac, SingleChannelElement * sce, GetBitContext ...@@ -1040,7 +1040,7 @@ static int decode_ics(AACContext * ac, SingleChannelElement * sce, GetBitContext
if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics)) if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics))
return -1; return -1;
if (get_bits1(gb)) { if (get_bits1(gb)) {
ff_log_missing_feature(ac->avccontext, "SSR", 1); av_log_missing_feature(ac->avccontext, "SSR", 1);
return -1; return -1;
} }
} }
...@@ -1245,7 +1245,7 @@ static int decode_cce(AACContext * ac, GetBitContext * gb, ChannelElement * che) ...@@ -1245,7 +1245,7 @@ static int decode_cce(AACContext * ac, GetBitContext * gb, ChannelElement * che)
*/ */
static int decode_sbr_extension(AACContext * ac, GetBitContext * gb, int crc, int cnt) { static int decode_sbr_extension(AACContext * ac, GetBitContext * gb, int crc, int cnt) {
// TODO : sbr_extension implementation // TODO : sbr_extension implementation
ff_log_missing_feature(ac->avccontext, "SBR", 0); av_log_missing_feature(ac->avccontext, "SBR", 0);
skip_bits_long(gb, 8*cnt - 4); // -4 due to reading extension type skip_bits_long(gb, 8*cnt - 4); // -4 due to reading extension type
return cnt; return cnt;
} }
...@@ -1588,7 +1588,7 @@ static int parse_adts_frame_header(AACContext * ac, GetBitContext * gb) { ...@@ -1588,7 +1588,7 @@ static int parse_adts_frame_header(AACContext * ac, GetBitContext * gb) {
if (!hdr_info.crc_absent) if (!hdr_info.crc_absent)
skip_bits(gb, 16); skip_bits(gb, 16);
} else { } else {
ff_log_missing_feature(ac->avccontext, "More than one AAC RDB per ADTS frame is", 0); av_log_missing_feature(ac->avccontext, "More than one AAC RDB per ADTS frame is", 0);
return -1; return -1;
} }
} }
......
...@@ -61,7 +61,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc, ...@@ -61,7 +61,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
} }
if (!hdr.crc_absent && hdr.num_aac_frames > 1) { if (!hdr.crc_absent && hdr.num_aac_frames > 1) {
ff_log_missing_feature(avctx, "Multiple RDBs per frame with CRC is", 0); av_log_missing_feature(avctx, "Multiple RDBs per frame with CRC is", 0);
return -1; return -1;
} }
...@@ -74,7 +74,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc, ...@@ -74,7 +74,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
if (!hdr.chan_config) { if (!hdr.chan_config) {
init_get_bits(&gb, buf, buf_size); init_get_bits(&gb, buf, buf_size);
if (get_bits(&gb, 3) != 5) { if (get_bits(&gb, 3) != 5) {
ff_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element is", 0); av_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element is", 0);
return -1; return -1;
} }
init_put_bits(&pb, pce_data, MAX_PCE_SIZE); init_put_bits(&pb, pce_data, MAX_PCE_SIZE);
......
...@@ -820,7 +820,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk) ...@@ -820,7 +820,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
/* spectral extension strategy */ /* spectral extension strategy */
if (s->eac3 && (!blk || get_bits1(gbc))) { if (s->eac3 && (!blk || get_bits1(gbc))) {
if (get_bits1(gbc)) { if (get_bits1(gbc)) {
ff_log_missing_feature(s->avctx, "Spectral extension", 1); av_log_missing_feature(s->avctx, "Spectral extension", 1);
return -1; return -1;
} }
/* TODO: parse spectral extension strategy info */ /* TODO: parse spectral extension strategy info */
...@@ -845,7 +845,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk) ...@@ -845,7 +845,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
/* check for enhanced coupling */ /* check for enhanced coupling */
if (s->eac3 && get_bits1(gbc)) { if (s->eac3 && get_bits1(gbc)) {
/* TODO: parse enhanced coupling strategy info */ /* TODO: parse enhanced coupling strategy info */
ff_log_missing_feature(s->avctx, "Enhanced coupling", 1); av_log_missing_feature(s->avctx, "Enhanced coupling", 1);
return -1; return -1;
} }
......
...@@ -214,7 +214,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) ...@@ -214,7 +214,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
application can select from. each independent stream can also contain application can select from. each independent stream can also contain
dependent streams which are used to add or replace channels. */ dependent streams which are used to add or replace channels. */
if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) { if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) {
ff_log_missing_feature(s->avctx, "Dependent substream decoding", 1); av_log_missing_feature(s->avctx, "Dependent substream decoding", 1);
return AAC_AC3_PARSE_ERROR_FRAME_TYPE; return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
} else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) { } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) {
av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n"); av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n");
...@@ -226,7 +226,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) ...@@ -226,7 +226,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
associated to an independent stream have matching substream id's. */ associated to an independent stream have matching substream id's. */
if (s->substreamid) { if (s->substreamid) {
/* only decode substream with id=0. skip any additional substreams. */ /* only decode substream with id=0. skip any additional substreams. */
ff_log_missing_feature(s->avctx, "Additional substreams", 1); av_log_missing_feature(s->avctx, "Additional substreams", 1);
return AAC_AC3_PARSE_ERROR_FRAME_TYPE; return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
} }
...@@ -235,7 +235,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) ...@@ -235,7 +235,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
rates in bit allocation. The best assumption would be that it is rates in bit allocation. The best assumption would be that it is
handled like AC-3 DolbyNet, but we cannot be sure until we have a handled like AC-3 DolbyNet, but we cannot be sure until we have a
sample which utilizes this feature. */ sample which utilizes this feature. */
ff_log_missing_feature(s->avctx, "Reduced sampling rates", 1); av_log_missing_feature(s->avctx, "Reduced sampling rates", 1);
return -1; return -1;
} }
skip_bits(gbc, 5); // skip bitstream id skip_bits(gbc, 5); // skip bitstream id
...@@ -492,7 +492,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) ...@@ -492,7 +492,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
/* spectral extension attenuation data */ /* spectral extension attenuation data */
if (parse_spx_atten_data) { if (parse_spx_atten_data) {
ff_log_missing_feature(s->avctx, "Spectral extension attenuation", 1); av_log_missing_feature(s->avctx, "Spectral extension attenuation", 1);
for (ch = 1; ch <= s->fbw_channels; ch++) { for (ch = 1; ch <= s->fbw_channels; ch++) {
if (get_bits1(gbc)) { // channel has spx attenuation if (get_bits1(gbc)) { // channel has spx attenuation
skip_bits(gbc, 5); // skip spx attenuation code skip_bits(gbc, 5); // skip spx attenuation code
...@@ -508,7 +508,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) ...@@ -508,7 +508,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
It is likely the offset of each block within the frame. */ It is likely the offset of each block within the frame. */
int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2)); int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2));
skip_bits_long(gbc, block_start_bits); skip_bits_long(gbc, block_start_bits);
ff_log_missing_feature(s->avctx, "Block start info", 1); av_log_missing_feature(s->avctx, "Block start info", 1);
} }
/* syntax state initialization */ /* syntax state initialization */
......
...@@ -448,7 +448,7 @@ static inline int decode_subframe(FLACContext *s, int channel) ...@@ -448,7 +448,7 @@ static inline int decode_subframe(FLACContext *s, int channel)
s->curr_bps -= wasted; s->curr_bps -= wasted;
} }
if (s->curr_bps > 32) { if (s->curr_bps > 32) {
ff_log_missing_feature(s->avctx, "decorrelated bit depth > 32", 0); av_log_missing_feature(s->avctx, "decorrelated bit depth > 32", 0);
return -1; return -1;
} }
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* message which tells the user how to report samples to the development * message which tells the user how to report samples to the development
* mailing list. * mailing list.
*/ */
void ff_log_missing_feature(void *avc, const char *feature, int want_sample); void av_log_missing_feature(void *avc, const char *feature, int want_sample);
/** /**
* Logs a generic warning message asking for a sample. * Logs a generic warning message asking for a sample.
...@@ -45,7 +45,7 @@ void ff_log_missing_feature(void *avc, const char *feature, int want_sample); ...@@ -45,7 +45,7 @@ void ff_log_missing_feature(void *avc, const char *feature, int want_sample);
* a pointer to an AVClass struct * a pointer to an AVClass struct
* @param[in] msg string containing an optional message, or NULL if no message * @param[in] msg string containing an optional message, or NULL if no message
*/ */
void ff_log_ask_for_sample(void *avc, const char *msg); void av_log_ask_for_sample(void *avc, const char *msg);
/** /**
* Determines whether pix_fmt is a hardware accelerated format. * Determines whether pix_fmt is a hardware accelerated format.
......
...@@ -432,7 +432,7 @@ static float compute_gain_ctrl(const float *v_ref, const float *v_in, const int ...@@ -432,7 +432,7 @@ static float compute_gain_ctrl(const float *v_ref, const float *v_in, const int
if(scalefactor) if(scalefactor)
scalefactor = sqrt(ff_dot_productf(v_ref, v_ref, len) / scalefactor); scalefactor = sqrt(ff_dot_productf(v_ref, v_ref, len) / scalefactor);
else else
ff_log_missing_feature(NULL, "Zero energy for gain control", 1); av_log_missing_feature(NULL, "Zero energy for gain control", 1);
return scalefactor; return scalefactor;
} }
...@@ -716,7 +716,7 @@ static qcelp_packet_rate determine_bitrate(AVCodecContext *avctx, const int buf_ ...@@ -716,7 +716,7 @@ static qcelp_packet_rate determine_bitrate(AVCodecContext *avctx, const int buf_
if(bitrate == SILENCE) if(bitrate == SILENCE)
{ {
//FIXME: Remove experimental warning when tested with samples. //FIXME: Remove experimental warning when tested with samples.
ff_log_ask_for_sample(avctx, "'Blank frame handling is experimental."); av_log_ask_for_sample(avctx, "'Blank frame handling is experimental.");
} }
return bitrate; return bitrate;
} }
......
...@@ -1191,19 +1191,19 @@ int av_parse_video_frame_rate(AVRational *frame_rate, const char *arg) ...@@ -1191,19 +1191,19 @@ int av_parse_video_frame_rate(AVRational *frame_rate, const char *arg)
return 0; return 0;
} }
void ff_log_missing_feature(void *avc, const char *feature, int want_sample) void av_log_missing_feature(void *avc, const char *feature, int want_sample)
{ {
av_log(avc, AV_LOG_WARNING, "%s not implemented. Update your FFmpeg " av_log(avc, AV_LOG_WARNING, "%s not implemented. Update your FFmpeg "
"version to the newest one from SVN. If the problem still " "version to the newest one from SVN. If the problem still "
"occurs, it means that your file has a feature which has not " "occurs, it means that your file has a feature which has not "
"been implemented.", feature); "been implemented.", feature);
if(want_sample) if(want_sample)
ff_log_ask_for_sample(avc, NULL); av_log_ask_for_sample(avc, NULL);
else else
av_log(avc, AV_LOG_WARNING, "\n"); av_log(avc, AV_LOG_WARNING, "\n");
} }
void ff_log_ask_for_sample(void *avc, const char *msg) void av_log_ask_for_sample(void *avc, const char *msg)
{ {
if (msg) if (msg)
av_log(avc, AV_LOG_WARNING, "%s ", msg); av_log(avc, AV_LOG_WARNING, "%s ", msg);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment