---
 libavcodec/aacdec.c         |   30 ++++++++++++++----------------
 libavcodec/aacsbr.c         |    2 +-
 libavcodec/ac3dec.c         |    2 +-
 libavcodec/adx.c            |    2 +-
 libavcodec/alac.c           |    3 +--
 libavcodec/amrnbdec.c       |    2 +-
 libavcodec/amrwbdec.c       |    2 +-
 libavcodec/anm.c            |    6 +++---
 libavcodec/ansi.c           |    6 +++---
 libavcodec/apedec.c         |    4 ++--
 libavcodec/atrac3.c         |    2 +-
 libavcodec/cdxl.c           |    4 ++--
 libavcodec/cinepak.c        |    2 +-
 libavcodec/cook.c           |   16 ++++++++--------
 libavcodec/dcadec.c         |    5 +++--
 libavcodec/dxtory.c         |    2 +-
 libavcodec/eac3dec.c        |    8 ++++----
 libavcodec/flashsv.c        |    6 +++---
 libavcodec/h264.c           |    8 ++++----
 libavcodec/imc.c            |    5 ++---
 libavcodec/indeo3.c         |    4 ++--
 libavcodec/indeo4.c         |    4 ++--
 libavcodec/loco.c           |    2 +-
 libavcodec/mimic.c          |    2 +-
 libavcodec/mlpdec.c         |   24 +++++++++++++-----------
 libavcodec/mpc7.c           |    3 +--
 libavcodec/mpc8.c           |    2 +-
 libavcodec/mss2.c           |    4 ++--
 libavcodec/pictordec.c      |    4 ++--
 libavcodec/ptx.c            |    4 ++--
 libavcodec/qcelpdec.c       |    4 ++--
 libavcodec/ralf.c           |    2 +-
 libavcodec/rv10.c           |    2 +-
 libavcodec/smc.c            |    2 +-
 libavcodec/sunrast.c        |    4 ++--
 libavcodec/takdec.c         |    2 +-
 libavcodec/truemotion1.c    |    4 ++--
 libavcodec/truemotion2.c    |    2 +-
 libavcodec/truespeech.c     |    2 +-
 libavcodec/tta.c            |    2 +-
 libavcodec/utvideodec.c     |    4 ++--
 libavcodec/v210x.c          |    2 +-
 libavcodec/vc1dec.c         |    2 +-
 libavcodec/vorbis_parser.c  |    5 +++--
 libavcodec/vp8.c            |    2 +-
 libavcodec/wmalosslessdec.c |   15 ++++++++-------
 libavcodec/wmaprodec.c      |   23 ++++++++++++-----------
 libavcodec/wmavoice.c       |    2 +-
 libavcodec/wnv1.c           |    6 ++++--
 libavcodec/xwddec.c         |    6 ++++--
 libavcodec/zmbv.c           |   12 ++++--------
 51 files changed, 138 insertions(+), 137 deletions(-)

diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 06f1d08..102c3d5 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -670,7 +670,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;
     }
 
@@ -1115,10 +1115,10 @@ static int decode_scalefactors(AACContext *ac, float 
sf[120], GetBitContext *gb,
                     offset[2] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) - 
60;
                     clipped_offset = av_clip(offset[2], -155, 100);
                     if (offset[2] != clipped_offset) {
-                        av_log_ask_for_sample(ac->avctx, "Intensity stereo "
-                                "position clipped (%d -> %d).\nIf you heard an 
"
-                                "audible artifact, there may be a bug in the "
-                                "decoder. ", offset[2], clipped_offset);
+                        avpriv_request_sample(ac->avctx,
+                                              "If you heard an audible 
artifact, there may be a bug in the decoder. "
+                                              "Clipped intensity stereo 
position (%d -> %d)",
+                                              offset[2], clipped_offset);
                     }
                     sf[idx] = ff_aac_pow2sf_tab[-clipped_offset + 
POW_SF2_ZERO];
                 }
@@ -1130,10 +1130,10 @@ static int decode_scalefactors(AACContext *ac, float 
sf[120], GetBitContext *gb,
                         offset[1] += get_vlc2(gb, vlc_scalefactors.table, 7, 
3) - 60;
                     clipped_offset = av_clip(offset[1], -100, 155);
                     if (offset[1] != clipped_offset) {
-                        av_log_ask_for_sample(ac->avctx, "Noise gain clipped "
-                                "(%d -> %d).\nIf you heard an audible "
-                                "artifact, there may be a bug in the decoder. 
",
-                                offset[1], clipped_offset);
+                        avpriv_request_sample(ac->avctx,
+                                              "If you heard an audible 
artifact, there may be a bug in the decoder. "
+                                              "Clipped noise gain (%d -> %d)",
+                                              offset[1], clipped_offset);
                     }
                     sf[idx] = -ff_aac_pow2sf_tab[clipped_offset + 
POW_SF2_ZERO];
                 }
@@ -1660,7 +1660,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;
         }
     }
@@ -2620,8 +2620,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)
@@ -2675,8 +2675,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;
         }
 
@@ -2684,8 +2683,7 @@ static int read_stream_mux_config(struct LATMContext 
*latmctx,
 
         // for each layer (which there is only on 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 de63b80..650f7aa 100644
--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -927,7 +927,7 @@ static void read_sbr_extension(AACContext *ac, 
SpectralBandReplication *sbr,
         }
         break;
     default:
-        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 407940d..abfd380 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/adx.c b/libavcodec/adx.c
index 870216c..6335865 100644
--- a/libavcodec/adx.c
+++ b/libavcodec/adx.c
@@ -53,7 +53,7 @@ int avpriv_adx_decode_header(AVCodecContext *avctx, const 
uint8_t *buf,
 
     /* check for encoding=3 block_size=18, sample_size=4 */
     if (buf[4] != 3 || buf[5] != 18 || buf[6] != 4) {
-        av_log_ask_for_sample(avctx, "unsupported ADX format\n");
+        avpriv_request_sample(avctx, "Support for this ADX format");
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index ddf78d9..9ef0653 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -535,8 +535,7 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
     case 24:
     case 32: avctx->sample_fmt = AV_SAMPLE_FMT_S32P;
              break;
-    default: av_log_ask_for_sample(avctx, "Sample depth %d is not 
supported.\n",
-                                   alac->sample_size);
+    default: avpriv_request_sample(avctx, "Sample depth %d", 
alac->sample_size);
              return AVERROR_PATCHWELCOME;
     }
     avctx->bits_per_raw_sample = alac->sample_size;
diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index 36df41d..fcaaab3 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -957,7 +957,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", 1);
+        avpriv_request_sample(avctx, "dtx mode");
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index e057829..c875d81 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -1117,7 +1117,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/anm.c b/libavcodec/anm.c
index 9f1cc39..1c4c7e2 100644
--- a/libavcodec/anm.c
+++ b/libavcodec/anm.c
@@ -127,11 +127,11 @@ static int decode_frame(AVCodecContext *avctx,
     bytestream2_init(&s->gb, avpkt->data, buf_size);
 
     if (bytestream2_get_byte(&s->gb) != 0x42) {
-        av_log_ask_for_sample(avctx, "unknown record type\n");
+        avpriv_request_sample(avctx, "Unknown record type");
         return buf_size;
     }
     if (bytestream2_get_byte(&s->gb)) {
-        av_log_ask_for_sample(avctx, "padding bytes not supported\n");
+        avpriv_request_sample(avctx, "Padding bytes");
         return buf_size;
     }
     bytestream2_skip(&s->gb, 2);
@@ -161,7 +161,7 @@ static int decode_frame(AVCodecContext *avctx,
                 if (type == 0)
                     break; // stop
                 if (type == 2) {
-                    av_log_ask_for_sample(avctx, "unknown opcode");
+                    avpriv_request_sample(avctx, "Unknown opcode");
                     return AVERROR_PATCHWELCOME;
                 }
                 continue;
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index b99826b..c851d88 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -222,7 +222,7 @@ static int execute_code(AVCodecContext * avctx, int c)
             height = 60<<4;
             break;
         default:
-            av_log_ask_for_sample(avctx, "unsupported screen mode\n");
+            avpriv_request_sample(avctx, "Unsupported screen mode");
         }
         if (width != avctx->width || height != avctx->height) {
             av_frame_unref(s->frame);
@@ -291,7 +291,7 @@ static int execute_code(AVCodecContext * avctx, int c)
             } else if (m == 49) {
                 s->fg = ansi_to_cga[DEFAULT_BG_COLOR];
             } else {
-                av_log_ask_for_sample(avctx, "unsupported rendition 
parameter\n");
+                avpriv_request_sample(avctx, "Unsupported rendition 
parameter");
             }
         }
         break;
@@ -308,7 +308,7 @@ static int execute_code(AVCodecContext * avctx, int c)
         s->y = av_clip(s->sy, 0, avctx->height - s->font_height);
         break;
     default:
-        av_log_ask_for_sample(avctx, "unsupported escape code\n");
+        avpriv_request_sample(avctx, "Unknown escape code");
         break;
     }
     return 0;
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index 60227a0..83f8723 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -205,8 +205,8 @@ static av_cold int ape_decode_init(AVCodecContext *avctx)
         avctx->sample_fmt = AV_SAMPLE_FMT_S32P;
         break;
     default:
-        av_log_ask_for_sample(avctx, "Unsupported bits per coded sample %d\n",
-                              s->bps);
+        avpriv_request_sample(avctx,
+                              "%d bits per coded sample", s->bps);
         return AVERROR_PATCHWELCOME;
     }
     s->avctx             = avctx;
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c
index 6b41657..da0bff0 100644
--- a/libavcodec/atrac3.c
+++ b/libavcodec/atrac3.c
@@ -169,7 +169,7 @@ static int decode_bytes(const uint8_t *input, uint8_t *out, 
int bytes)
         output[i] = c ^ buf[i];
 
     if (off)
-        av_log_ask_for_sample(NULL, "Offset of %d not handled.\n", off);
+        avpriv_request_sample(NULL, "Offset of %d", off);
 
     return off;
 }
diff --git a/libavcodec/cdxl.c b/libavcodec/cdxl.c
index 465867c..ea52a0c 100644
--- a/libavcodec/cdxl.c
+++ b/libavcodec/cdxl.c
@@ -233,7 +233,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void 
*data,
     if (c->bpp < 1)
         return AVERROR_INVALIDDATA;
     if (c->format != BIT_PLANAR && c->format != BIT_LINE) {
-        av_log_ask_for_sample(avctx, "unsupported pixel format: 0x%0x\n", 
c->format);
+        avpriv_request_sample(avctx, "Pixel format 0x%0x", c->format);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -253,7 +253,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void 
*data,
             return AVERROR_INVALIDDATA;
         avctx->pix_fmt = AV_PIX_FMT_BGR24;
     } else {
-        av_log_ask_for_sample(avctx, "unsupported encoding %d and bpp %d\n",
+        avpriv_request_sample(avctx, "Encoding %d and bpp %d",
                               encoding, c->bpp);
         return AVERROR_PATCHWELCOME;
     }
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index e0c527c..dff1b53 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -334,7 +334,7 @@ static int cinepak_decode (CinepakContext *s)
     /* if this is the first frame, check for deviant Sega FILM data */
     if (s->sega_film_skip_bytes == -1) {
         if (!encoded_buf_size) {
-            av_log_ask_for_sample(s->avctx, "encoded_buf_size is 0");
+            avpriv_request_sample(s->avctx, "encoded_buf_size 0");
             return AVERROR_PATCHWELCOME;
         }
         if (encoded_buf_size != s->size && (s->size % encoded_buf_size) != 0) {
diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index 135359b..90d78eb 100644
--- a/libavcodec/cook.c
+++ b/libavcodec/cook.c
@@ -1100,7 +1100,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
         switch (q->subpacket[s].cookversion) {
         case MONO:
             if (avctx->channels != 1) {
-                av_log_ask_for_sample(avctx, "Container channels != 1.\n");
+                avpriv_request_sample(avctx, "Container channels != 1");
                 return AVERROR_PATCHWELCOME;
             }
             av_log(avctx, AV_LOG_DEBUG, "MONO\n");
@@ -1114,7 +1114,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
             break;
         case JOINT_STEREO:
             if (avctx->channels != 2) {
-                av_log_ask_for_sample(avctx, "Container channels != 2.\n");
+                avpriv_request_sample(avctx, "Container channels != 2");
                 return AVERROR_PATCHWELCOME;
             }
             av_log(avctx, AV_LOG_DEBUG, "JOINT_STEREO\n");
@@ -1154,7 +1154,8 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
 
             break;
         default:
-            av_log_ask_for_sample(avctx, "Unknown Cook version.\n");
+            avpriv_request_sample(avctx, "Cook version %d",
+                                  q->subpacket[s].cookversion);
             return AVERROR_PATCHWELCOME;
         }
 
@@ -1170,7 +1171,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
 
         /* Try to catch some obviously faulty streams, othervise it might be 
exploitable */
         if (q->subpacket[s].total_subbands > 53) {
-            av_log_ask_for_sample(avctx, "total_subbands > 53\n");
+            avpriv_request_sample(avctx, "total_subbands > 53");
             return AVERROR_PATCHWELCOME;
         }
 
@@ -1182,7 +1183,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
         }
 
         if (q->subpacket[s].subbands > 50) {
-            av_log_ask_for_sample(avctx, "subbands > 50\n");
+            avpriv_request_sample(avctx, "subbands > 50");
             return AVERROR_PATCHWELCOME;
         }
         q->subpacket[s].gains1.now      = q->subpacket[s].gain_1;
@@ -1193,7 +1194,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
         q->num_subpackets++;
         s++;
         if (s > MAX_SUBPACKETS) {
-            av_log_ask_for_sample(avctx, "Too many subpackets > 5\n");
+            avpriv_request_sample(avctx, "subpackets > %d", MAX_SUBPACKETS);
             return AVERROR_PATCHWELCOME;
         }
     }
@@ -1235,8 +1236,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
     /* Try to catch some obviously faulty streams, othervise it might be 
exploitable */
     if (q->samples_per_channel != 256 && q->samples_per_channel != 512 &&
         q->samples_per_channel != 1024) {
-        av_log_ask_for_sample(avctx,
-                              "unknown amount of samples_per_channel = %d\n",
+        avpriv_request_sample(avctx, "samples_per_channel = %d",
                               q->samples_per_channel);
         return AVERROR_PATCHWELCOME;
     }
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 7a35fcc..e53b03e 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -1598,14 +1598,15 @@ static void dca_exss_parse_header(DCAContext *s)
 
         num_audiop = get_bits(&s->gb, 3) + 1;
         if (num_audiop > 1) {
-            av_log_ask_for_sample(s->avctx, "Multiple DTS-HD audio 
presentations.");
+            avpriv_request_sample(s->avctx,
+                                  "Multiple DTS-HD audio presentations");
             /* ignore such streams for now */
             return;
         }
 
         num_assets = get_bits(&s->gb, 3) + 1;
         if (num_assets > 1) {
-            av_log_ask_for_sample(s->avctx, "Multiple DTS-HD audio assets.");
+            avpriv_request_sample(s->avctx, "Multiple DTS-HD audio assets");
             /* ignore such streams for now */
             return;
         }
diff --git a/libavcodec/dxtory.c b/libavcodec/dxtory.c
index 5b44f15..28e66ba 100644
--- a/libavcodec/dxtory.c
+++ b/libavcodec/dxtory.c
@@ -53,7 +53,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, 
int *got_frame,
     pic->key_frame = 1;
 
     if (AV_RL32(src) != 0x01000002) {
-        av_log_ask_for_sample(avctx, "Unknown frame header %X\n", 
AV_RL32(src));
+        avpriv_request_sample(avctx, "Frame header %X", AV_RL32(src));
         return AVERROR_PATCHWELCOME;
     }
     src += 16;
diff --git a/libavcodec/eac3dec.c b/libavcodec/eac3dec.c
index 3a80cb1..baba454 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 26b42e5..2fbe221 100644
--- a/libavcodec/flashsv.c
+++ b/libavcodec/flashsv.c
@@ -259,11 +259,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;
         }
     }
@@ -394,7 +394,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 3c3a9f7..d64c972 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2886,8 +2886,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;
     }
 
@@ -3358,8 +3358,8 @@ static int decode_slice_header(H264Context *h, 
H264Context *h0)
                         h->droppable         = last_pic_droppable;
                         return AVERROR_INVALIDDATA;
                     } else if (last_pic_droppable != h->droppable) {
-                        av_log_ask_for_sample(h->avctx,
-                                              "Cannot combine reference and 
non-reference fields in the same frame\n");
+                        avpriv_request_sample(h->avctx,
+                                              "Combining reference and 
non-reference fields in the same frame");
                         h->picture_structure = last_pic_structure;
                         h->droppable         = last_pic_droppable;
                         return AVERROR_PATCHWELCOME;
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index 06bff9b..2749099 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -181,7 +181,7 @@ static av_cold int imc_decode_init(AVCodecContext *avctx)
         avctx->channels = 1;
 
     if (avctx->channels > 2) {
-        av_log_ask_for_sample(avctx, "Number of channels is not supported\n");
+        avpriv_request_sample(avctx, "Number of channels > 2");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -778,8 +778,7 @@ static int imc_decode_block(AVCodecContext *avctx, 
IMCContext *q, int ch)
     stream_format_code = get_bits(&q->gb, 3);
 
     if (stream_format_code & 1) {
-        av_log_ask_for_sample(avctx, "Stream format %X is not supported\n",
-                              stream_format_code);
+        avpriv_request_sample(avctx, "Stream format %X", stream_format_code);
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index e519361..0c0db79 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -960,12 +960,12 @@ static int decode_frame_headers(Indeo3DecodeContext *ctx, 
AVCodecContext *avctx,
     }
 
     if (ctx->frame_flags & BS_8BIT_PEL) {
-        av_log_ask_for_sample(avctx, "8-bit pixel format\n");
+        avpriv_request_sample(avctx, "8-bit pixel format");
         return AVERROR_PATCHWELCOME;
     }
 
     if (ctx->frame_flags & BS_MV_X_HALF || ctx->frame_flags & BS_MV_Y_HALF) {
-        av_log_ask_for_sample(avctx, "halfpel motion vectors\n");
+        avpriv_request_sample(avctx, "Halfpel motion vectors");
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c
index 07fbc8e..8820a2c 100644
--- a/libavcodec/indeo4.c
+++ b/libavcodec/indeo4.c
@@ -329,12 +329,12 @@ static int decode_band_hdr(IVI45DecContext *ctx, 
IVIBandDesc *band,
             transform_id = get_bits(&ctx->gb, 5);
             if (transform_id >= FF_ARRAY_ELEMS(transforms) ||
                 !transforms[transform_id].inv_trans) {
-                av_log_ask_for_sample(avctx, "Unimplemented transform: %d!\n", 
transform_id);
+                avpriv_request_sample(avctx, "Transform %d", transform_id);
                 return AVERROR_PATCHWELCOME;
             }
             if ((transform_id >= 7 && transform_id <= 9) ||
                  transform_id == 17) {
-                av_log_ask_for_sample(avctx, "DCT transform not supported 
yet!\n");
+                avpriv_request_sample(avctx, "DCT transform");
                 return AVERROR_PATCHWELCOME;
             }
 
diff --git a/libavcodec/loco.c b/libavcodec/loco.c
index 427a56f..ec6fe2f 100644
--- a/libavcodec/loco.c
+++ b/libavcodec/loco.c
@@ -283,7 +283,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
         break;
     default:
         l->lossy = AV_RL32(avctx->extradata + 8);
-        av_log_ask_for_sample(avctx, "This is LOCO codec version %i.\n", 
version);
+        avpriv_request_sample(avctx, "LOCO codec version %i", version);
     }
 
     l->mode = AV_RL32(avctx->extradata + 4);
diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c
index ecd8370..0fe8313 100644
--- a/libavcodec/mimic.c
+++ b/libavcodec/mimic.c
@@ -389,7 +389,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/mlpdec.c b/libavcodec/mlpdec.c
index 160f359..5797700 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -329,9 +329,10 @@ static int read_major_sync(MLPDecodeContext *m, 
GetBitContext *gb)
         return AVERROR_INVALIDDATA;
     }
     if (mh.num_substreams > MAX_SUBSTREAMS) {
-        av_log_ask_for_sample(m->avctx,
-               "Number of substreams %d is larger than the maximum supported "
-               "by the decoder.\n", mh.num_substreams);
+        avpriv_request_sample(m->avctx,
+                              "%d substreams (more than the "
+                              "maximum supported by the decoder)",
+                              mh.num_substreams);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -429,9 +430,10 @@ static int read_restart_header(MLPDecodeContext *m, 
GetBitContext *gbp,
     /* This should happen for TrueHD streams with >6 channels and MLP's noise
      * type. It is not yet known if this is allowed. */
     if (s->max_channel > MAX_MATRIX_CHANNEL_MLP && !s->noise_type) {
-        av_log_ask_for_sample(m->avctx,
-               "Number of channels %d is larger than the maximum supported "
-               "by the decoder.\n", s->max_channel + 2);
+        avpriv_request_sample(m->avctx,
+                              "%d channels (more than the "
+                              "maximum supported by the decoder)",
+                              s->max_channel + 2);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -490,9 +492,9 @@ static int read_restart_header(MLPDecodeContext *m, 
GetBitContext *gbp,
                                                             channel);
         }
         if (ch_assign > s->max_matrix_channel) {
-            av_log_ask_for_sample(m->avctx,
-                   "Assignment of matrix channel %d to invalid output channel 
%d.\n",
-                   ch, ch_assign);
+            avpriv_request_sample(m->avctx,
+                                  "Assignment of matrix channel %d to invalid 
output channel %d",
+                                  ch, ch_assign);
             return AVERROR_PATCHWELCOME;
         }
         s->ch_assign[ch_assign] = ch;
@@ -823,8 +825,8 @@ static int read_block_data(MLPDecodeContext *m, 
GetBitContext *gbp,
     if (s->data_check_present) {
         expected_stream_pos  = get_bits_count(gbp);
         expected_stream_pos += get_bits(gbp, 16);
-        av_log_ask_for_sample(m->avctx, "This file contains some features "
-                              "we have not tested yet.\n");
+        avpriv_request_sample(m->avctx,
+                              "Substreams with VLC block size check info");
     }
 
     if (s->blockpos + s->blocksize > m->access_unit_size) {
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index 4ebb254..1aed52b 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -65,8 +65,7 @@ static av_cold int mpc7_decode_init(AVCodecContext * avctx)
 
     /* Musepack SV7 is always stereo */
     if (avctx->channels != 2) {
-        av_log_ask_for_sample(avctx, "Unsupported number of channels: %d\n",
-                              avctx->channels);
+        avpriv_request_sample(avctx, "%d channels", avctx->channels);
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c
index 7f920d8..d14b8f1 100644
--- a/libavcodec/mpc8.c
+++ b/libavcodec/mpc8.c
@@ -130,7 +130,7 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx)
     c->maxbands = get_bits(&gb, 5) + 1;
     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/mss2.c b/libavcodec/mss2.c
index 6881f28..44b6f1f 100644
--- a/libavcodec/mss2.c
+++ b/libavcodec/mss2.c
@@ -430,8 +430,8 @@ static int decode_wmv9(AVCodecContext *avctx, const uint8_t 
*buf, int buf_size,
         ctx->dsp.upsample_plane(f->data[1], f->linesize[1], w >> 1, h >> 1);
         ctx->dsp.upsample_plane(f->data[2], f->linesize[2], w >> 1, h >> 1);
     } else if (v->respic)
-        av_log_ask_for_sample(v->s.avctx,
-                              "Asymmetric WMV9 rectangle subsampling\n");
+        avpriv_request_sample(v->s.avctx,
+                              "Asymmetric WMV9 rectangle subsampling");
 
     av_assert0(f->linesize[1] == f->linesize[2]);
 
diff --git a/libavcodec/pictordec.c b/libavcodec/pictordec.c
index 322d3d4..9c884ff 100644
--- a/libavcodec/pictordec.c
+++ b/libavcodec/pictordec.c
@@ -123,7 +123,7 @@ static int decode_frame(AVCodecContext *avctx,
     s->nb_planes   = (tmp >> 4) + 1;
     bpp            = bits_per_plane * s->nb_planes;
     if (bits_per_plane > 8 || bpp < 1 || bpp > 32) {
-        av_log_ask_for_sample(s, "unsupported bit depth\n");
+        avpriv_request_sample(s, "Unsupported bit depth");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -233,7 +233,7 @@ static int decode_frame(AVCodecContext *avctx,
             }
         }
     } else {
-        av_log_ask_for_sample(s, "uncompressed image\n");
+        avpriv_request_sample(s, "Uncompressed image");
         return avpkt->size;
     }
 
diff --git a/libavcodec/ptx.c b/libavcodec/ptx.c
index f528843..613c831 100644
--- a/libavcodec/ptx.c
+++ b/libavcodec/ptx.c
@@ -42,7 +42,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void 
*data, int *got_frame,
     bytes_per_pixel = AV_RL16(buf+12) >> 3;
 
     if (bytes_per_pixel != 2) {
-        av_log_ask_for_sample(avctx, "Image format is not RGB15.\n");
+        avpriv_request_sample(avctx, "Image format not RGB15");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -51,7 +51,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void 
*data, int *got_frame,
     if (buf_end - buf < offset)
         return AVERROR_INVALIDDATA;
     if (offset != 0x2c)
-        av_log_ask_for_sample(avctx, "offset != 0x2c\n");
+        avpriv_request_sample(avctx, "offset != 0x2c");
 
     buf += offset;
 
diff --git a/libavcodec/qcelpdec.c b/libavcodec/qcelpdec.c
index e7f2699..ead7d90 100644
--- a/libavcodec/qcelpdec.c
+++ b/libavcodec/qcelpdec.c
@@ -635,8 +635,8 @@ static qcelp_packet_rate determine_bitrate(AVCodecContext 
*avctx,
         return I_F_Q;
 
     if (bitrate == SILENCE) {
-        //FIXME: Remove experimental warning when tested with samples.
-        av_log_ask_for_sample(avctx, "'Blank frame handling is experimental.");
+        // FIXME: Remove this warning when tested with samples.
+        avpriv_request_sample(avctx, "Blank frame handling");
     }
     return bitrate;
 }
diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c
index 91c984f..e02289c 100644
--- a/libavcodec/ralf.c
+++ b/libavcodec/ralf.c
@@ -136,7 +136,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
 
     ctx->version = AV_RB16(avctx->extradata + 4);
     if (ctx->version != 0x103) {
-        av_log_ask_for_sample(avctx, "unknown version %X\n", ctx->version);
+        avpriv_request_sample(avctx, "Unknown version %X", ctx->version);
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index 7fd4ddf..6ccc85d 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -459,7 +459,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 d16242b..2fcf61f 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/sunrast.c b/libavcodec/sunrast.c
index 56e915d..281913f 100644
--- a/libavcodec/sunrast.c
+++ b/libavcodec/sunrast.c
@@ -54,7 +54,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void 
*data,
     buf      += 32;
 
     if (type == RT_FORMAT_TIFF || type == RT_FORMAT_IFF || type == 
RT_EXPERIMENTAL) {
-        av_log_ask_for_sample(avctx, "unsupported (compression) type\n");
+        avpriv_request_sample(avctx, "TIFF/IFF/EXPERIMENTAL (compression) 
type");
         return AVERROR_PATCHWELCOME;
     }
     if (type > RT_FORMAT_IFF) {
@@ -66,7 +66,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void 
*data,
         return AVERROR_INVALIDDATA;
     }
     if (maptype == RMT_RAW) {
-        av_log_ask_for_sample(avctx, "unsupported colormap type\n");
+        avpriv_request_sample(avctx, "Unknown colormap type");
         return AVERROR_PATCHWELCOME;
     }
     if (maptype > RMT_RAW) {
diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c
index a9b8c66..4047513 100644
--- a/libavcodec/takdec.c
+++ b/libavcodec/takdec.c
@@ -685,7 +685,7 @@ static int tak_decode_frame(AVCodecContext *avctx, void 
*data,
         return ret;
 
     if (s->ti.flags & TAK_FRAME_FLAG_HAS_METADATA) {
-        av_log_missing_feature(avctx, "frame metadata", 1);
+        avpriv_request_sample(avctx, "Frame metadata");
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c
index f8a8dad..3de8667 100644
--- a/libavcodec/truemotion1.c
+++ b/libavcodec/truemotion1.c
@@ -355,7 +355,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s)
         s->flags = FLAG_KEYFRAME;
 
     if (s->flags & FLAG_SPRITE) {
-        av_log_ask_for_sample(s->avctx, "SPRITE frame found.\n");
+        avpriv_request_sample(s->avctx, "SPRITE frame");
         /* FIXME header.width, height, xoffset and yoffset aren't initialized 
*/
         return AVERROR_PATCHWELCOME;
     } else {
@@ -365,7 +365,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s)
             if ((s->w < 213) && (s->h >= 176))
             {
                 s->flags |= FLAG_INTERPOLATED;
-                av_log_ask_for_sample(s->avctx, "INTERPOLATION selected.\n");
+                avpriv_request_sample(s->avctx, "INTERPOLATION flag");
             }
         }
     }
diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index 342cb05..a4d01cb 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -226,7 +226,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/truespeech.c b/libavcodec/truespeech.c
index 859983c..ff39343 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -63,7 +63,7 @@ static av_cold int truespeech_decode_init(AVCodecContext * 
avctx)
     TSContext *c = avctx->priv_data;
 
     if (avctx->channels != 1) {
-        av_log_ask_for_sample(avctx, "Unsupported channel count: %d\n", 
avctx->channels);
+        avpriv_request_sample(avctx, "Channel count %d", avctx->channels);
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 05ada59..b496452 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -222,7 +222,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
             return -1;
         }
         if (s->format == FORMAT_ENCRYPTED) {
-            av_report_missing_feature(s->avctx, "Encrypted TTA");
+            avpriv_report_missing_feature(s->avctx, "Encrypted TTA");
             return AVERROR_PATCHWELCOME;
         }
         avctx->channels = s->channels = get_bits(&s->gb, 16);
diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
index 06f3108..cf9d2d8 100644
--- a/libavcodec/utvideodec.c
+++ b/libavcodec/utvideodec.c
@@ -376,7 +376,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, 
int *got_frame,
     c->frame_pred = (c->frame_info >> 8) & 3;
 
     if (c->frame_pred == PRED_GRADIENT) {
-        av_log_ask_for_sample(avctx, "Frame uses gradient prediction\n");
+        avpriv_request_sample(avctx, "Frame with gradient prediction");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -491,7 +491,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     c->flags           = AV_RL32(avctx->extradata + 12);
 
     if (c->frame_info_size != 4)
-        av_log_ask_for_sample(avctx, "Frame info is not 4 bytes\n");
+        avpriv_request_sample(avctx, "Frame info not 4 bytes");
     av_log(avctx, AV_LOG_DEBUG, "Encoding parameters %08X\n", c->flags);
     c->slices      = (c->flags >> 24) + 1;
     c->compression = c->flags & 1;
diff --git a/libavcodec/v210x.c b/libavcodec/v210x.c
index 758294c..75eb008 100644
--- a/libavcodec/v210x.c
+++ b/libavcodec/v210x.c
@@ -52,7 +52,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, 
int *got_frame,
     }
 
     if (avpkt->size > avctx->width * avctx->height * 8 / 3) {
-        av_log_ask_for_sample(avctx, "Probably padded data\n");
+        avpriv_request_sample(avctx, "(Probably) padded data");
     }
 
     if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 44dd652..db4b87b 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -4850,7 +4850,7 @@ static void vc1_parse_sprites(VC1Context *v, 
GetBitContext* gb, SpriteData* sd)
     for (sprite = 0; sprite <= v->two_sprites; sprite++) {
         vc1_sprite_parse_transform(gb, sd->coefs[sprite]);
         if (sd->coefs[sprite][1] || sd->coefs[sprite][3])
-            av_log_ask_for_sample(avctx, "Rotation coefficients are not zero");
+            avpriv_request_sample(avctx, "Non-zero rotation coefficients");
         av_log(avctx, AV_LOG_DEBUG, sprite ? "S2:" : "S1:");
         for (i = 0; i < 7; i++)
             av_log(avctx, AV_LOG_DEBUG, " %d.%.3d",
diff --git a/libavcodec/vorbis_parser.c b/libavcodec/vorbis_parser.c
index c6d300d..c413135 100644
--- a/libavcodec/vorbis_parser.c
+++ b/libavcodec/vorbis_parser.c
@@ -141,8 +141,9 @@ static int parse_setup_header(AVCodecContext *avctx, 
VorbisParseContext *s,
      * we may need to approach this the long way and parse the whole Setup
      * header, but I hope very much that it never comes to that. */
     if (last_mode_count > 2) {
-        av_log_ask_for_sample(avctx, "%d modes found. This is either a false "
-                              "positive or a sample from an unknown 
encoder.\n",
+        avpriv_request_sample(avctx,
+                              "%d modes (either a false positive or a "
+                              "sample from an unknown encoder)",
                               last_mode_count);
     }
     /* We're limiting the mode count to 63 so that we know that the previous
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 4d4ff6c..babbff4 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 2ee721b..e8b901a 100644
--- a/libavcodec/wmalosslessdec.c
+++ b/libavcodec/wmalosslessdec.c
@@ -202,7 +202,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
         av_dlog(avctx, "\n");
 
     } else {
-        av_log_ask_for_sample(avctx, "Unsupported extradata size\n");
+        avpriv_request_sample(avctx, "Unsupported extradata size");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -256,7 +256,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
                s->num_channels);
         return AVERROR_INVALIDDATA;
     } else if (s->num_channels > WMALL_MAX_CHANNELS) {
-        av_log_ask_for_sample(avctx, "unsupported number of channels\n");
+        avpriv_request_sample(avctx,
+                              "More than %d channels", WMALL_MAX_CHANNELS);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -885,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);
@@ -925,8 +926,8 @@ static int decode_subframe(WmallDecodeCtx *s)
             s->do_lpc = get_bits1(&s->gb);
             if (s->do_lpc) {
                 decode_lpc(s);
-                av_log_ask_for_sample(s->avctx, "Inverse LPC filter not "
-                                      "implemented. Expect wrong output.\n");
+                avpriv_request_sample(s->avctx, "Wrong output may happen. "
+                                      "Inverse LPC filter");
             }
         } else
             s->do_lpc = 0;
@@ -1137,7 +1138,7 @@ static void save_bits(WmallDecodeCtx *s, GetBitContext* 
gb, int len,
     buflen = (s->num_saved_bits + len + 8) >> 3;
 
     if (len <= 0 || buflen > MAX_FRAMESIZE) {
-        av_log_ask_for_sample(s->avctx, "input buffer too small\n");
+        avpriv_request_sample(s->avctx, "Too small input buffer");
         s->packet_loss = 1;
         return;
     }
@@ -1190,7 +1191,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 56bb83c..2521fa0 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -299,7 +299,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
         av_dlog(avctx, "\n");
 
     } else {
-        av_log_ask_for_sample(avctx, "Unknown extradata size\n");
+        avpriv_request_sample(avctx, "Unknown extradata size");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -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;
@@ -346,7 +346,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
                avctx->channels);
         return AVERROR_INVALIDDATA;
     } else if (avctx->channels > WMAPRO_MAX_CHANNELS) {
-        av_log_ask_for_sample(avctx, "unsupported number of channels\n");
+        avpriv_request_sample(avctx,
+                              "More than %d channels", WMAPRO_MAX_CHANNELS);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -676,8 +677,8 @@ static int decode_channel_transform(WMAProDecodeCtx* s)
         int remaining_channels = s->channels_for_cur_subframe;
 
         if (get_bits1(&s->gb)) {
-            av_log_ask_for_sample(s->avctx,
-                                  "unsupported channel transform bit\n");
+            avpriv_request_sample(s->avctx,
+                                  "Channel transform bit");
             return AVERROR_PATCHWELCOME;
         }
 
@@ -713,8 +714,8 @@ static int decode_channel_transform(WMAProDecodeCtx* s)
             if (chgroup->num_channels == 2) {
                 if (get_bits1(&s->gb)) {
                     if (get_bits1(&s->gb)) {
-                        av_log_ask_for_sample(s->avctx,
-                                              "unsupported channel transform 
type\n");
+                        avpriv_request_sample(s->avctx,
+                                              "Unknown channel transform 
type");
                     }
                 } else {
                     chgroup->transform = 1;
@@ -739,8 +740,8 @@ static int decode_channel_transform(WMAProDecodeCtx* s)
                     } else {
                         /** FIXME: more than 6 coupled channels not supported 
*/
                         if (chgroup->num_channels > 6) {
-                            av_log_ask_for_sample(s->avctx,
-                                                  "coupled channels > 6\n");
+                            avpriv_request_sample(s->avctx,
+                                                  "Coupled channels > 6");
                         } else {
                             memcpy(chgroup->decorrelation_matrix,
                                    
default_decorrelation[chgroup->num_channels],
@@ -1147,7 +1148,7 @@ static int decode_subframe(WMAProDecodeCtx *s)
 
     /** no idea for what the following bit is used */
     if (get_bits1(&s->gb)) {
-        av_log_ask_for_sample(s->avctx, "reserved bit set\n");
+        avpriv_request_sample(s->avctx, "Reserved bit");
         return AVERROR_PATCHWELCOME;
     }
 
@@ -1452,7 +1453,7 @@ static void save_bits(WMAProDecodeCtx *s, GetBitContext* 
gb, int len,
     buflen = (s->num_saved_bits + len + 8) >> 3;
 
     if (len <= 0 || buflen > MAX_FRAMESIZE) {
-        av_log_ask_for_sample(s->avctx, "input buffer too small\n");
+        avpriv_request_sample(s->avctx, "Too small input buffer");
         s->packet_loss = 1;
         return;
     }
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index f33def3..d03c701 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -1765,7 +1765,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;
     }
 
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 2f9fc41..418c5f7 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -92,12 +92,14 @@ static int decode_frame(AVCodecContext *avctx,
     else {
         l->shift = 8 - (buf[2] >> 4);
         if (l->shift > 4) {
-            av_log_ask_for_sample(avctx, "Unknown WNV1 frame header value 
%i\n",
+            avpriv_request_sample(avctx,
+                                  "Unknown WNV1 frame header value %i",
                                   buf[2] >> 4);
             l->shift = 4;
         }
         if (l->shift < 1) {
-            av_log_ask_for_sample(avctx, "Unknown WNV1 frame header value 
%i\n",
+            avpriv_request_sample(avctx,
+                                  "Unknown WNV1 frame header value %i",
                                   buf[2] >> 4);
             l->shift = 1;
         }
diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c
index 23f9c01..aa91b3b 100644
--- a/libavcodec/xwddec.c
+++ b/libavcodec/xwddec.c
@@ -92,7 +92,7 @@ static int xwd_decode_frame(AVCodecContext *avctx, void *data,
     }
 
     if (xoffset) {
-        av_log_ask_for_sample(avctx, "unsupported xoffset %d\n", xoffset);
+        avpriv_request_sample(avctx, "xoffset %d", xoffset);
         return AVERROR_PATCHWELCOME;
     }
 
@@ -192,7 +192,9 @@ static int xwd_decode_frame(AVCodecContext *avctx, void 
*data,
     }
 
     if (avctx->pix_fmt == AV_PIX_FMT_NONE) {
-        av_log_ask_for_sample(avctx, "unknown file: bpp %d, pixdepth %d, 
vclass %d\n", bpp, pixdepth, vclass);
+        avpriv_request_sample(avctx,
+                              "Unknown file: bpp %d, pixdepth %d, vclass %d",
+                              bpp, pixdepth, vclass);
         return AVERROR_PATCHWELCOME;
     }
 
diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c
index 8cf6a0c..0b38926 100644
--- a/libavcodec/zmbv.c
+++ b/libavcodec/zmbv.c
@@ -432,18 +432,15 @@ static int decode_frame(AVCodecContext *avctx, void 
*data, int *got_frame, AVPac
                "Flags=%X ver=%i.%i comp=%i fmt=%i blk=%ix%i\n",
                c->flags,hi_ver,lo_ver,c->comp,c->fmt,c->bw,c->bh);
         if (hi_ver != 0 || lo_ver != 1) {
-            av_log_ask_for_sample(avctx, "Unsupported version %i.%i\n",
-                                  hi_ver, lo_ver);
+            avpriv_request_sample(avctx, "Version %i.%i", hi_ver, lo_ver);
             return AVERROR_PATCHWELCOME;
         }
         if (c->bw == 0 || c->bh == 0) {
-            av_log_ask_for_sample(avctx, "Unsupported block size %ix%i\n",
-                                  c->bw, c->bh);
+            avpriv_request_sample(avctx, "Block size %ix%i", c->bw, c->bh);
             return AVERROR_PATCHWELCOME;
         }
         if (c->comp != 0 && c->comp != 1) {
-            av_log_ask_for_sample(avctx, "Unsupported compression type %i\n",
-                                  c->comp);
+            avpriv_request_sample(avctx, "Compression type %i", c->comp);
             return AVERROR_PATCHWELCOME;
         }
 
@@ -474,8 +471,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, 
int *got_frame, AVPac
         default:
             c->decode_intra = NULL;
             c->decode_xor = NULL;
-            av_log_ask_for_sample(avctx, "Unsupported (for now) format %i\n",
-                                  c->fmt);
+            avpriv_request_sample(avctx, "Format %i", c->fmt);
             return AVERROR_PATCHWELCOME;
         }
 
-- 
1.7.9.5

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to