diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 0119d39daf..37c7de5e90 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -709,7 +709,7 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx, int tags = 0; if (get_bits1(gb)) { // frameLengthFlag - av_log_missing_feature(avctx, "960/120 MDCT window", 1); + avpriv_request_sample(avctx, "960/120 MDCT window"); return AVERROR_PATCHWELCOME; } @@ -1713,7 +1713,7 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce, if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics)) return -1; if (get_bits1(gb)) { - av_log_missing_feature(ac->avctx, "SSR", 1); + avpriv_request_sample(ac->avctx, "SSR"); return AVERROR_PATCHWELCOME; } } @@ -2750,8 +2750,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx, asclen = get_bits_left(gb); if (config_start_bit % 8) { - av_log_missing_feature(latmctx->aac_ctx.avctx, - "Non-byte-aligned audio-specific config", 1); + avpriv_request_sample(latmctx->aac_ctx.avctx, + "Non-byte-aligned audio-specific config"); return AVERROR_PATCHWELCOME; } if (asclen <= 0) @@ -2810,8 +2810,7 @@ static int read_stream_mux_config(struct LATMContext *latmctx, skip_bits(gb, 6); // numSubFrames // numPrograms if (get_bits(gb, 4)) { // numPrograms - av_log_missing_feature(latmctx->aac_ctx.avctx, - "Multiple programs", 1); + avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple programs"); return AVERROR_PATCHWELCOME; } @@ -2819,8 +2818,7 @@ static int read_stream_mux_config(struct LATMContext *latmctx, // for each layer (which there is only one in DVB) if (get_bits(gb, 3)) { // numLayer - av_log_missing_feature(latmctx->aac_ctx.avctx, - "Multiple layers", 1); + avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple layers"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c index 121f83a82d..0b6779c293 100644 --- a/libavcodec/aacsbr.c +++ b/libavcodec/aacsbr.c @@ -942,7 +942,7 @@ static void read_sbr_extension(AACContext *ac, SpectralBandReplication *sbr, default: // some files contain 0-padding if (bs_extension_id || *num_bits_left > 16 || show_bits(gb, *num_bits_left)) - av_log_missing_feature(ac->avctx, "Reserved SBR extensions", 1); + avpriv_request_sample(ac->avctx, "Reserved SBR extensions"); skip_bits_long(gb, *num_bits_left); // bs_fill_bits *num_bits_left = 0; break; diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 0e584a5b31..a70d92ae07 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -874,7 +874,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk) /* check for enhanced coupling */ if (s->eac3 && get_bits1(gbc)) { /* TODO: parse enhanced coupling strategy info */ - av_log_missing_feature(s->avctx, "Enhanced coupling", 1); + avpriv_request_sample(s->avctx, "Enhanced coupling"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c index 4e88b8adba..6376db11ef 100644 --- a/libavcodec/amrnbdec.c +++ b/libavcodec/amrnbdec.c @@ -973,7 +973,7 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data, return AVERROR_INVALIDDATA; } if (p->cur_frame_mode == MODE_DTX) { - av_log_missing_feature(avctx, "dtx mode", 0); + avpriv_report_missing_feature(avctx, "dtx mode"); av_log(avctx, AV_LOG_INFO, "Note: libopencore_amrnb supports dtx\n"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c index 3be81d482c..8c3eb56d3b 100644 --- a/libavcodec/amrwbdec.c +++ b/libavcodec/amrwbdec.c @@ -1135,7 +1135,7 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data, av_log(avctx, AV_LOG_ERROR, "Encountered a bad or corrupted frame\n"); if (ctx->fr_cur_mode == MODE_SID) { /* Comfort noise frame */ - av_log_missing_feature(avctx, "SID mode", 1); + avpriv_request_sample(avctx, "SID mode"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/eac3dec.c b/libavcodec/eac3dec.c index 922bf7a089..b55ee2a34c 100644 --- a/libavcodec/eac3dec.c +++ b/libavcodec/eac3dec.c @@ -300,7 +300,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) application can select from. each independent stream can also contain dependent streams which are used to add or replace channels. */ if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) { - av_log_missing_feature(s->avctx, "Dependent substream decoding", 1); + avpriv_request_sample(s->avctx, "Dependent substream decoding"); return AAC_AC3_PARSE_ERROR_FRAME_TYPE; } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) { av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n"); @@ -312,7 +312,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) associated to an independent stream have matching substream id's. */ if (s->substreamid) { /* only decode substream with id=0. skip any additional substreams. */ - av_log_missing_feature(s->avctx, "Additional substreams", 1); + avpriv_request_sample(s->avctx, "Additional substreams"); return AAC_AC3_PARSE_ERROR_FRAME_TYPE; } @@ -321,7 +321,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) 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 sample which utilizes this feature. */ - av_log_missing_feature(s->avctx, "Reduced sampling rate", 1); + avpriv_request_sample(s->avctx, "Reduced sampling rate"); return AVERROR_PATCHWELCOME; } skip_bits(gbc, 5); // skip bitstream id @@ -593,7 +593,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s) 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)); skip_bits_long(gbc, block_start_bits); - av_log_missing_feature(s->avctx, "Block start info", 1); + avpriv_request_sample(s->avctx, "Block start info"); } /* syntax state initialization */ diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c index 81628e6788..9982b5e966 100644 --- a/libavcodec/flashsv.c +++ b/libavcodec/flashsv.c @@ -269,11 +269,11 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data, if (s->ver == 2) { skip_bits(&gb, 6); if (get_bits1(&gb)) { - av_log_missing_feature(avctx, "iframe", 1); + avpriv_request_sample(avctx, "iframe"); return AVERROR_PATCHWELCOME; } if (get_bits1(&gb)) { - av_log_missing_feature(avctx, "Custom palette", 1); + avpriv_request_sample(avctx, "Custom palette"); return AVERROR_PATCHWELCOME; } } @@ -401,7 +401,7 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data, int row = get_bits(&gb, 8); av_log(avctx, AV_LOG_DEBUG, "%dx%d zlibprime_curr %dx%d\n", i, j, col, row); size -= 2; - av_log_missing_feature(avctx, "zlibprime_curr", 1); + avpriv_request_sample(avctx, "zlibprime_curr"); return AVERROR_PATCHWELCOME; } if (!s->blocks && (s->zlibprime_curr || s->zlibprime_prev)) { diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 92074f809e..bc8ee2eead 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2945,8 +2945,8 @@ static int h264_set_parameter_from_sps(H264Context *h) h->avctx->has_b_frames = !h->low_delay; if (h->sps.bit_depth_luma != h->sps.bit_depth_chroma) { - av_log_missing_feature(h->avctx, - "Different bit depth between chroma and luma", 1); + avpriv_request_sample(h->avctx, + "Different chroma and luma bit depth"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c index 335d58be13..85c6a1a96b 100644 --- a/libavcodec/mimic.c +++ b/libavcodec/mimic.c @@ -392,7 +392,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, ctx->num_hblocks[i] = width >> (3 + !!i); } } else if (width != ctx->avctx->width || height != ctx->avctx->height) { - av_log_missing_feature(avctx, "resolution changing", 1); + avpriv_request_sample(avctx, "Resolution changing"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index a05a72b35d..4d6ca896b7 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -134,7 +134,7 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx) } channels = get_bits(&gb, 4) + 1; if (channels > 2) { - av_log_missing_feature(avctx, "Multichannel MPC SV8", 1); + avpriv_request_sample(avctx, "Multichannel MPC SV8"); return AVERROR_PATCHWELCOME; } c->MSS = get_bits1(&gb); diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index da347854d3..3f6d52e150 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -493,7 +493,7 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx) break; default: av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", rv->sub_id); - av_log_missing_feature(avctx, "RV1/2 version", 1); + avpriv_request_sample(avctx, "RV1/2 version"); return AVERROR_PATCHWELCOME; } diff --git a/libavcodec/smc.c b/libavcodec/smc.c index bb00c69aec..2c7ab9ab69 100644 --- a/libavcodec/smc.c +++ b/libavcodec/smc.c @@ -402,7 +402,7 @@ static void smc_decode_stream(SmcContext *s) break; case 0xF0: - av_log_missing_feature(s->avctx, "0xF0 opcode", 1); + avpriv_request_sample(s->avctx, "0xF0 opcode"); break; } } diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c index 13b972320c..7783386d25 100644 --- a/libavcodec/truemotion2.c +++ b/libavcodec/truemotion2.c @@ -231,7 +231,7 @@ static inline int tm2_read_header(TM2Context *ctx, const uint8_t *buf) switch (magic) { case TM2_OLD_HEADER_MAGIC: - av_log_missing_feature(ctx->avctx, "TM2 old header", 1); + avpriv_request_sample(ctx->avctx, "Old TM2 header"); return 0; case TM2_NEW_HEADER_MAGIC: return 0; diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 7bd1cc9950..ac929d03b4 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -337,7 +337,7 @@ static int decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_size) buf_size -= 7; if (hscale || vscale) - av_log_missing_feature(s->avctx, "Upscaling", 1); + avpriv_request_sample(s->avctx, "Upscaling"); s->update_golden = s->update_altref = VP56_FRAME_CURRENT; for (i = 0; i < 4; i++) diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index e76b73a6d5..90a01098fb 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -886,7 +886,7 @@ static int decode_subframe(WmallDecodeCtx *s) s->do_arith_coding = get_bits1(&s->gb); if (s->do_arith_coding) { - av_log_missing_feature(s->avctx, "Arithmetic coding", 1); + avpriv_request_sample(s->avctx, "Arithmetic coding"); return AVERROR_PATCHWELCOME; } s->do_ac_filter = get_bits1(&s->gb); @@ -1189,7 +1189,7 @@ static int decode_packet(AVCodecContext *avctx, void *data, int *got_frame_ptr, skip_bits(gb, 1); // Skip seekable_frame_in_packet, currently ununused spliced_packet = get_bits1(gb); if (spliced_packet) - av_log_missing_feature(avctx, "Bitstream splicing", 1); + avpriv_request_sample(avctx, "Bitstream splicing"); /* get number of bits that need to be added to the previous frame */ num_bits_prev_frame = get_bits(gb, s->log2_frame_size); diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c index 00fb4e8c85..07cc2235ed 100644 --- a/libavcodec/wmaprodec.c +++ b/libavcodec/wmaprodec.c @@ -314,7 +314,7 @@ static av_cold int decode_init(AVCodecContext *avctx) /** get frame len */ bits = ff_wma_get_frame_len_bits(avctx->sample_rate, 3, s->decode_flags); if (bits > WMAPRO_BLOCK_MAX_BITS) { - av_log_missing_feature(avctx, "14-bits block sizes", 1); + avpriv_request_sample(avctx, "14-bit block sizes"); return AVERROR_PATCHWELCOME; } s->samples_per_frame = 1 << bits; diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c index 970902b0d8..19f8965a48 100644 --- a/libavcodec/wmavoice.c +++ b/libavcodec/wmavoice.c @@ -1763,7 +1763,7 @@ static int synth_superframe(AVCodecContext *ctx, AVFrame *frame, * are really WMAPro-in-WMAVoice-superframes. I've never seen those in * the wild yet. */ if (!get_bits1(gb)) { - av_log_missing_feature(ctx, "WMAPro-in-WMAVoice", 1); + avpriv_request_sample(ctx, "WMAPro-in-WMAVoice"); return AVERROR_PATCHWELCOME; }