diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 0119d39daf57808c21a3ea130272909db38d0de9..37c7de5e90fcf961c8ff0b68101f3e465817d186 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 121f83a82dd300542cf776bb7a855c36c41fad7f..0b6779c2934050fd07d19b037218e13304e49649 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 0e584a5b31db7d448d2b6df982a02b693b002870..a70d92ae07bab8102417498c057d521fa0f27578 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 4e88b8adba82f7ad731f1028608cfc6e4e8901d1..6376db11efe059bf09a8068706d20d20960f81e0 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 3be81d482c4c58fe30d4527a1bfe8a3a4323a1aa..8c3eb56d3becc2cd06e83a3ceca43dbf4ea2229e 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 922bf7a0899a65cb30ba9b538fddd14dbbbccca7..b55ee2a34c2f155955e3b8db302079a36adff763 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 81628e6788a0ef27b66a4afe93b578ae0da113ef..9982b5e96637e78ea568bd8af86fd123c2ee99cd 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 92074f809e2814b997294d22ebaf9a9c466f362b..bc8ee2eeadbda0faf398fc1c5e349769ce3fce41 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 335d58be13ffa4ec385a6c8c39d3305f1260b7a8..85c6a1a96bd6d93883b2ac9b6b4c52171285ae1f 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 a05a72b35ddfde5c5e53d2f4bc15b85338d5e99e..4d6ca896b7015d0b9fa53662899c383b4692631e 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 da347854d3bbede098e4407a6d3e3764eeb688e2..3f6d52e150424506d827a4184c38c685dab7171d 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 bb00c69aec93fb8183c92a2f5d3262798ac5c6bb..2c7ab9ab690b8baf53a1562bb9a02b4a9f78d5f6 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 13b972320cb4c57ec49fbdf1635d326932847664..7783386d2511cbc4b714600ea25be312885e1084 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 7bd1cc9950d3e1b175b75580042451cf6fe64618..ac929d03b4162e6c71e3366ec072eb0bdc173af9 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 e76b73a6d54fde7ca97fb533269f2b092a368da9..90a01098fb7933be3322699db96213d32fa58881 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 00fb4e8c85ea9d518a6f2f38b7c39ff437a74f4f..07cc2235ed223481a177fc29a6ed3657e42b1dfb 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 970902b0d88c27c382c33d2e925411943153c457..19f8965a4813b48ae3a0672b1208f13270686e57 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; }