---
libavcodec/aacdec.c | 3 +--
libavcodec/alac.c | 8 ++++----
libavcodec/bmp.c | 3 ++-
libavcodec/fraps.c | 4 +---
libavcodec/g2meet.c | 11 +++++------
libavcodec/g723_1enc.c | 3 ++-
libavcodec/h264_ps.c | 5 ++---
libavcodec/h264_slice.c | 4 ++--
libavcodec/hevc_ps.c | 7 +++----
libavcodec/hevc_ps_enc.c | 10 ++++++----
libavcodec/libopenjpegdec.c | 2 +-
libavcodec/libopusenc.c | 5 +++--
libavcodec/mjpegdec.c | 7 ++++---
libavcodec/opus_silk.c | 2 +-
libavcodec/shorten.c | 4 ++--
libavcodec/takdec.c | 2 +-
libavcodec/txd.c | 7 +++----
libavcodec/vp5.c | 2 +-
libavcodec/xwddec.c | 2 +-
libavdevice/vfwcap.c | 3 +--
libavdevice/x11grab.c | 13 ++++++-------
libavdevice/xcbgrab.c | 2 +-
libavformat/avienc.c | 3 +--
libavformat/lxfdec.c | 5 ++---
libavformat/matroskadec.c | 7 +++----
libavformat/mpc8.c | 2 +-
libavformat/oggparseopus.c | 6 +++---
libavformat/qcp.c | 4 ++--
libavformat/rsoenc.c | 2 +-
libavformat/rtpdec_jpeg.c | 2 +-
libavformat/rtpdec_latm.c | 6 +++---
libavformat/rtpdec_xiph.c | 14 ++++++--------
libavformat/rtsp.c | 3 +--
libavformat/spdifenc.c | 3 ++-
libavformat/wvdec.c | 3 ++-
35 files changed, 81 insertions(+), 88 deletions(-)
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 554b702..24158ad 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -1246,8 +1246,7 @@ static int decode_ics_info(AACContext *ac,
IndividualChannelStream *ics,
return AVERROR_INVALIDDATA;
} else {
if (aot == AOT_ER_AAC_LD) {
- av_log(ac->avctx, AV_LOG_ERROR,
- "LTP in ER AAC LD not yet implemented.\n");
+ avpriv_report_missing_feature(ac->avctx, "LTP in ER AAC
LD");
return AVERROR_PATCHWELCOME;
}
if ((ics->ltp.present = get_bits(gb, 1)))
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 72e8a57..2dc8e9d 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -266,7 +266,7 @@ static int decode_element(AVCodecContext *avctx, AVFrame
*frame, int ch_index,
alac->extra_bits = get_bits(&alac->gb, 2) << 3;
bps = alac->sample_size - alac->extra_bits + channels - 1;
if (bps > 32) {
- av_log(avctx, AV_LOG_ERROR, "bps is unsupported: %d\n", bps);
+ avpriv_report_missing_feature(avctx, "bps %d", bps);
return AVERROR_PATCHWELCOME;
}
@@ -424,7 +424,7 @@ static int alac_decode_frame(AVCodecContext *avctx, void
*data,
break;
}
if (element > TYPE_CPE && element != TYPE_LFE) {
- av_log(avctx, AV_LOG_ERROR, "syntax element unsupported: %d",
element);
+ avpriv_report_missing_feature(avctx, "Syntax element %d", element);
return AVERROR_PATCHWELCOME;
}
@@ -564,8 +564,8 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
avctx->channels = alac->channels;
}
if (avctx->channels > ALAC_MAX_CHANNELS) {
- av_log(avctx, AV_LOG_ERROR, "Unsupported channel count: %d\n",
- avctx->channels);
+ avpriv_report_missing_feature(avctx, "Channel count %d",
+ avctx->channels);
return AVERROR_PATCHWELCOME;
}
avctx->channel_layout = ff_alac_channel_layouts[alac->channels - 1];
diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c
index 648fa68..5c7acb6 100644
--- a/libavcodec/bmp.c
+++ b/libavcodec/bmp.c
@@ -98,7 +98,8 @@ static int bmp_decode_frame(AVCodecContext *avctx,
height = bytestream_get_le16(&buf);
break;
default:
- av_log(avctx, AV_LOG_ERROR, "unsupported BMP file, patch welcome\n");
+ avpriv_report_missing_feature(avctx, "Information header size %u",
+ ihsize);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index c4ec23e..55051ff 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -163,9 +163,7 @@ static int decode_frame(AVCodecContext *avctx,
prev_pic_bit = header & (1U << 31); /* bit 31 means same as previous pic */
if (version > 5) {
- av_log(avctx, AV_LOG_ERROR,
- "This file is encoded with Fraps version %u. "
- "This codec can only decode versions <= 5.\n", version);
+ avpriv_report_missing_feature(avctx, "Fraps version %u", version);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index a89610d..7e90916 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -1424,9 +1424,8 @@ static int g2m_decode_frame(AVCodecContext *avctx, void
*data,
}
c->compression = bytestream2_get_be32(&bc);
if (c->compression != 2 && c->compression != 3) {
- av_log(avctx, AV_LOG_ERROR,
- "Unknown compression method %d\n",
- c->compression);
+ avpriv_report_missing_feature(avctx, "Compression method %d",
+ c->compression);
return AVERROR_PATCHWELCOME;
}
c->tile_width = bytestream2_get_be32(&bc);
@@ -1453,9 +1452,9 @@ static int g2m_decode_frame(AVCodecContext *avctx, void
*data,
g_mask = bytestream2_get_be32(&bc);
b_mask = bytestream2_get_be32(&bc);
if (r_mask != 0xFF0000 || g_mask != 0xFF00 || b_mask != 0xFF) {
- av_log(avctx, AV_LOG_ERROR,
- "Invalid or unsupported bitmasks: R=%"PRIX32",
G=%"PRIX32", B=%"PRIX32"\n",
- r_mask, g_mask, b_mask);
+ avpriv_report_missing_feature(avctx,
+ "Bitmasks: R=%"PRIX32",
G=%"PRIX32", B=%"PRIX32,
+ r_mask, g_mask, b_mask);
return AVERROR_PATCHWELCOME;
}
} else {
diff --git a/libavcodec/g723_1enc.c b/libavcodec/g723_1enc.c
index 1ebd465..82f5cec 100644
--- a/libavcodec/g723_1enc.c
+++ b/libavcodec/g723_1enc.c
@@ -57,7 +57,8 @@ static av_cold int g723_1_encode_init(AVCodecContext *avctx)
if (avctx->bit_rate == 6300) {
p->cur_rate = RATE_6300;
} else if (avctx->bit_rate == 5300) {
- av_log(avctx, AV_LOG_ERROR, "Bitrate not supported yet, use 6300\n");
+ av_log(avctx, AV_LOG_ERROR, "Use bitrate 6300 instead of 5300.\n");
+ avpriv_report_missing_feature(avctx, "Bitrate 5300");
return AVERROR_PATCHWELCOME;
} else {
av_log(avctx, AV_LOG_ERROR, "Bitrate not supported, use 6300\n");
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index 6b29966..1aa1cbb 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -603,9 +603,8 @@ int ff_h264_decode_picture_parameter_set(H264Context *h,
int bit_length)
sps = h->sps_buffers[pps->sps_id];
if (sps->bit_depth_luma > 10) {
- av_log(h->avctx, AV_LOG_ERROR,
- "Unimplemented luma bit depth=%d (max=10)\n",
- sps->bit_depth_luma);
+ avpriv_report_missing_feature(h->avctx, "Luma bit depth=%d (max=10)",
+ sps->bit_depth_luma);
ret = AVERROR_PATCHWELCOME;
goto fail;
}
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index acbfc13..5b778b6 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1206,8 +1206,8 @@ int ff_h264_decode_slice_header(H264Context *h,
H264SliceContext *sl)
}
if (!h->context_initialized) {
if (sl != h->slice_ctx) {
- av_log(h->avctx, AV_LOG_ERROR,
- "Cannot (re-)initialize context during parallel
decoding.\n");
+ avpriv_report_missing_feature(h->avctx,
+ "(Re-)Initializing context during
parallel decoding");
return AVERROR_PATCHWELCOME;
}
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 2faee96..fdfee43 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -651,13 +651,12 @@ static int map_pixel_format(AVCodecContext *avctx,
HEVCSPS *sps)
case 9: sps->pix_fmt = AV_PIX_FMT_YUV420P9; break;
case 10: sps->pix_fmt = AV_PIX_FMT_YUV420P10; break;
default:
- av_log(avctx, AV_LOG_ERROR, "Unsupported bit depth: %d\n",
- sps->bit_depth);
+ avpriv_report_missing_feature(avctx, "Bit depth %d",
+ sps->bit_depth);
return AVERROR_PATCHWELCOME;
}
} else {
- av_log(avctx, AV_LOG_ERROR,
- "non-4:2:0 support is currently unspecified.\n");
+ avpriv_report_missing_feature(avctx, "Non-4:2:0 support");
return AVERROR_PATCHWELCOME;
}
diff --git a/libavcodec/hevc_ps_enc.c b/libavcodec/hevc_ps_enc.c
index 007a132..509ddc2 100644
--- a/libavcodec/hevc_ps_enc.c
+++ b/libavcodec/hevc_ps_enc.c
@@ -90,9 +90,10 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
put_bits(&pb, 6, vps->vps_max_layer_id);
set_ue_golomb(&pb, vps->vps_num_layer_sets - 1);
- // writing layer_id_included_flag not supported
- if (vps->vps_num_layer_sets > 1)
+ if (vps->vps_num_layer_sets > 1) {
+ avpriv_report_missing_feature(NULL, "Writing layer_id_included_flag");
return AVERROR_PATCHWELCOME;
+ }
put_bits(&pb, 1, vps->vps_timing_info_present_flag);
if (vps->vps_timing_info_present_flag) {
@@ -102,9 +103,10 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
if (vps->vps_poc_proportional_to_timing_flag)
set_ue_golomb(&pb, vps->vps_num_ticks_poc_diff_one - 1);
- // writing HRD parameters not supported
- if (vps->vps_num_hrd_parameters)
+ if (vps->vps_num_hrd_parameters) {
+ avpriv_report_missing_feature(NULL, "Writing HRD parameters");
return AVERROR_PATCHWELCOME;
+ }
}
put_bits(&pb, 1, 0); // extension flag
diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
index 401ea9b..6b8e210 100644
--- a/libavcodec/libopenjpegdec.c
+++ b/libavcodec/libopenjpegdec.c
@@ -396,7 +396,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
}
break;
default:
- av_log(avctx, AV_LOG_ERROR, "unsupported pixel size %d\n", pixel_size);
+ avpriv_report_missing_feature(avctx, "Pixel size %d", pixel_size);
ret = AVERROR_PATCHWELCOME;
goto done;
}
diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c
index 08f0f28..97695da 100644
--- a/libavcodec/libopusenc.c
+++ b/libavcodec/libopusenc.c
@@ -164,8 +164,9 @@ static int av_cold libopus_encode_init(AVCodecContext
*avctx)
/* FIXME: Opus can handle up to 255 channels. However, the mapping for
* anything greater than 8 is undefined. */
if (avctx->channels > 8) {
- av_log(avctx, AV_LOG_ERROR,
- "Channel layout undefined for %d channels.\n", avctx->channels);
+ avpriv_report_missing_feature(avctx,
+ "Undefined channel layout for %d
channels",
+ avctx->channels);
return AVERROR_PATCHWELCOME;
}
if (!avctx->bit_rate) {
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index d8fc9de..b64c298 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -373,7 +373,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG :
AVCOL_RANGE_JPEG;
break;
default:
- av_log(s->avctx, AV_LOG_ERROR, "Unhandled pixel format 0x%x\n",
pix_fmt_id);
+ avpriv_report_missing_feature(s->avctx, "Pixel format 0x%x",
pix_fmt_id);
return AVERROR_PATCHWELCOME;
}
if (s->ls) {
@@ -1035,8 +1035,9 @@ int ff_mjpeg_decode_sos(MJpegDecodeContext *s, const
uint8_t *mb_bitmask,
len = get_bits(&s->gb, 16);
nb_components = get_bits(&s->gb, 8);
if (nb_components == 0 || nb_components > MAX_COMPONENTS) {
- av_log(s->avctx, AV_LOG_ERROR,
- "decode_sos: nb_components (%d) unsupported\n", nb_components);
+ avpriv_report_missing_feature(s->avctx,
+ "decode_sos: nb_components (%d)",
+ nb_components);
return AVERROR_PATCHWELCOME;
}
if (len != 6 + 2 * nb_components) {
diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c
index f881325..9575a10 100644
--- a/libavcodec/opus_silk.c
+++ b/libavcodec/opus_silk.c
@@ -1530,7 +1530,7 @@ int ff_silk_decode_superframe(SilkContext *s,
OpusRangeCoder *rc,
redundancy[i] = opus_rc_p2model(rc, 1);
if (redundancy[i]) {
- av_log(s->avctx, AV_LOG_ERROR, "LBRR frames present; this is
unsupported\n");
+ avpriv_report_missing_feature(s->avctx, "LBRR frames");
return AVERROR_PATCHWELCOME;
}
}
diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c
index ce98a83..57708bf 100644
--- a/libavcodec/shorten.c
+++ b/libavcodec/shorten.c
@@ -516,8 +516,8 @@ static int shorten_decode_frame(AVCodecContext *avctx, void
*data,
case FN_BLOCKSIZE: {
unsigned blocksize = get_uint(s, av_log2(s->blocksize));
if (blocksize > s->blocksize) {
- av_log(avctx, AV_LOG_ERROR,
- "Increasing block size is not supported\n");
+ avpriv_report_missing_feature(avctx,
+ "Increasing block size");
return AVERROR_PATCHWELCOME;
}
if (!blocksize || blocksize > MAX_BLOCKSIZE) {
diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c
index c84cca4..5446e06 100644
--- a/libavcodec/takdec.c
+++ b/libavcodec/takdec.c
@@ -700,7 +700,7 @@ static int tak_decode_frame(AVCodecContext *avctx, void
*data,
if (s->ti.codec != TAK_CODEC_MONO_STEREO &&
s->ti.codec != TAK_CODEC_MULTICHANNEL) {
- av_log(avctx, AV_LOG_ERROR, "unsupported codec: %d\n", s->ti.codec);
+ avpriv_report_missing_feature(avctx, "TAK codec type %d", s->ti.codec);
return AVERROR_PATCHWELCOME;
}
if (s->ti.data_type) {
diff --git a/libavcodec/txd.c b/libavcodec/txd.c
index ac46608..db1d954 100644
--- a/libavcodec/txd.c
+++ b/libavcodec/txd.c
@@ -56,8 +56,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void
*data, int *got_frame,
flags = bytestream2_get_byte(&gb);
if (version < 8 || version > 9) {
- av_log(avctx, AV_LOG_ERROR, "texture data version %u is unsupported\n",
- version);
+ avpriv_report_missing_feature(avctx, "Texture data version %u",
version);
return AVERROR_PATCHWELCOME;
}
@@ -66,7 +65,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void
*data, int *got_frame,
} else if (depth == 16 || depth == 32) {
avctx->pix_fmt = AV_PIX_FMT_RGBA;
} else {
- av_log(avctx, AV_LOG_ERROR, "depth of %u is unsupported\n", depth);
+ avpriv_report_missing_feature(avctx, "Color depth of %u", depth);
return AVERROR_PATCHWELCOME;
}
@@ -143,7 +142,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void
*data, int *got_frame,
return avpkt->size;
unsupported:
- av_log(avctx, AV_LOG_ERROR, "unsupported d3d format (%08x)\n", d3d_format);
+ avpriv_report_missing_feature(avctx, "d3d format (%08x)", d3d_format);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavcodec/vp5.c b/libavcodec/vp5.c
index 81c725d..401969f 100644
--- a/libavcodec/vp5.c
+++ b/libavcodec/vp5.c
@@ -52,7 +52,7 @@ static int vp5_parse_header(VP56Context *s, const uint8_t
*buf, int buf_size,
return AVERROR_INVALIDDATA;
vp56_rac_gets(c, 2);
if (vp56_rac_get(c)) {
- av_log(s->avctx, AV_LOG_ERROR, "interlacing not supported\n");
+ avpriv_report_missing_feature(s->avctx, "Interlacing");
return AVERROR_PATCHWELCOME;
}
rows = vp56_rac_gets(c, 8); /* number of stored macroblock rows */
diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c
index f6d3d97..f7b9482 100644
--- a/libavcodec/xwddec.c
+++ b/libavcodec/xwddec.c
@@ -147,7 +147,7 @@ static int xwd_decode_frame(AVCodecContext *avctx, void
*data,
}
if (pixformat != XWD_Z_PIXMAP) {
- av_log(avctx, AV_LOG_ERROR, "pixmap format %"PRIu32" unsupported\n",
pixformat);
+ avpriv_report_missing_feature(avctx, "Pixmap format %"PRIu32,
pixformat);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavdevice/vfwcap.c b/libavdevice/vfwcap.c
index cc73e82..42455ce 100644
--- a/libavdevice/vfwcap.c
+++ b/libavdevice/vfwcap.c
@@ -382,8 +382,7 @@ static int vfw_read_header(AVFormatContext *s)
if(codec->pix_fmt == AV_PIX_FMT_NONE) {
codec->codec_id = vfw_codecid(biCompression);
if(codec->codec_id == AV_CODEC_ID_NONE) {
- av_log(s, AV_LOG_ERROR, "Unknown compression type. "
- "Please report verbose (-v 9) debug
information.\n");
+ avpriv_report_missing_feature(s, "This compression type");
vfw_read_close(s);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavdevice/x11grab.c b/libavdevice/x11grab.c
index b2721ae..10509d9 100644
--- a/libavdevice/x11grab.c
+++ b/libavdevice/x11grab.c
@@ -221,13 +221,12 @@ static int pixfmt_from_image(AVFormatContext *s, XImage
*image, int *pix_fmt)
*pix_fmt = AV_PIX_FMT_RGB32;
break;
default:
- av_log(s, AV_LOG_ERROR,
- "XImages with RGB mask 0x%.6lx 0x%.6lx 0x%.6lx and depth %i "
- "are currently not supported.\n",
- image->red_mask,
- image->green_mask,
- image->blue_mask,
- image->bits_per_pixel);
+ avpriv_report_missing_feature(s,
+ "XImages with RGB mask 0x%.6lx 0x%.6lx
0x%.6lx and depth %i",
+ image->red_mask,
+ image->green_mask,
+ image->blue_mask,
+ image->bits_per_pixel);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
index aa43444..c412f99 100644
--- a/libavdevice/xcbgrab.c
+++ b/libavdevice/xcbgrab.c
@@ -498,7 +498,7 @@ static int pixfmt_from_pixmap_format(AVFormatContext *s,
int depth,
fmt++;
}
- av_log(s, AV_LOG_ERROR, "Pixmap format not mappable.\n");
+ avpriv_report_missing_feature(s, "Mapping this pixmap format");
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index 80ac722..0d853d3 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -225,8 +225,7 @@ static int avi_write_header(AVFormatContext *s)
// XSUB subtitles behave like video tracks, other subtitles
// are not (yet) supported.
if (enc->codec_id != AV_CODEC_ID_XSUB) {
- av_log(s, AV_LOG_ERROR,
- "Subtitle streams other than DivX XSUB are not
supported by the AVI muxer.\n");
+ avpriv_report_missing_feature(s, "Subtitle streams other than
DivX XSUB");
return AVERROR_PATCHWELCOME;
}
case AVMEDIA_TYPE_VIDEO:
diff --git a/libavformat/lxfdec.c b/libavformat/lxfdec.c
index 73d8bdf..467ffac 100644
--- a/libavformat/lxfdec.c
+++ b/libavformat/lxfdec.c
@@ -180,7 +180,7 @@ static int get_packet_header(AVFormatContext *s)
st->codec->bits_per_coded_sample = (audio_format >> 6) & 0x3F;
if (st->codec->bits_per_coded_sample != (audio_format & 0x3F)) {
- av_log(s, AV_LOG_WARNING, "only tightly packed PCM currently
supported\n");
+ avpriv_report_missing_feature(s, "Not tightly packed PCM");
return AVERROR_PATCHWELCOME;
}
@@ -190,8 +190,7 @@ static int get_packet_header(AVFormatContext *s)
case 24: st->codec->codec_id = AV_CODEC_ID_PCM_S24LE_PLANAR; break;
case 32: st->codec->codec_id = AV_CODEC_ID_PCM_S32LE_PLANAR; break;
default:
- av_log(s, AV_LOG_WARNING,
- "only 16-, 20-, 24- and 32-bit PCM currently supported\n");
+ avpriv_report_missing_feature(s, "PCM not 16-, 20-, 24- or
32-bits");
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 4bc4cb8..e4774be 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1905,10 +1905,9 @@ static int matroska_read_header(AVFormatContext *s)
ebml.max_size > sizeof(uint64_t) ||
ebml.id_length > sizeof(uint32_t) ||
ebml.doctype_version > 3) {
- av_log(matroska->ctx, AV_LOG_ERROR,
- "EBML header using unsupported features\n"
- "(EBML version %"PRIu64", doctype %s, doc version %"PRIu64")\n",
- ebml.version, ebml.doctype, ebml.doctype_version);
+ avpriv_report_missing_feature(matroska->ctx,
+ "EBML version %"PRIu64", doctype %s, doc
version %"PRIu64,
+ ebml.version, ebml.doctype,
ebml.doctype_version);
ebml_free(ebml_syntax, &ebml);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/mpc8.c b/libavformat/mpc8.c
index 3bc868e..c948d34 100644
--- a/libavformat/mpc8.c
+++ b/libavformat/mpc8.c
@@ -228,7 +228,7 @@ static int mpc8_read_header(AVFormatContext *s)
avio_skip(pb, 4); //CRC
c->ver = avio_r8(pb);
if(c->ver != 8){
- av_log(s, AV_LOG_ERROR, "Unknown stream version %d\n", c->ver);
+ avpriv_report_missing_feature(s, "Stream version %d", c->ver);
return AVERROR_PATCHWELCOME;
}
c->samples = ffio_read_varlen(pb);
diff --git a/libavformat/oggparseopus.c b/libavformat/oggparseopus.c
index 1851ff1..42910c9 100644
--- a/libavformat/oggparseopus.c
+++ b/libavformat/oggparseopus.c
@@ -121,9 +121,9 @@ static int opus_packet(AVFormatContext *avf, int idx)
skip = FFMIN(skip, os->pduration);
if (skip > 0) {
os->pduration = skip < os->pduration ? os->pduration - skip : 1;
- av_log(avf, AV_LOG_WARNING,
- "Last packet is truncated to %d (because of unimplemented
end trim support).\n",
- os->pduration);
+ avpriv_report_missing_feature(avf,
+ "Last packet truncated to %u as end
trim support",
+ os->pduration);
return AVERROR_PATCHWELCOME;
}
}
diff --git a/libavformat/qcp.c b/libavformat/qcp.c
index be06e2f..1dc6ff9 100644
--- a/libavformat/qcp.c
+++ b/libavformat/qcp.c
@@ -102,10 +102,10 @@ static int qcp_read_header(AVFormatContext *s)
if (is_qcelp_13k_guid(buf)) {
st->codec->codec_id = AV_CODEC_ID_QCELP;
} else if (!memcmp(buf, guid_evrc, 16)) {
- av_log(s, AV_LOG_ERROR, "EVRC codec is not supported.\n");
+ avpriv_report_missing_feature(s, "EVRC codec");
return AVERROR_PATCHWELCOME;
} else if (!memcmp(buf, guid_smv, 16)) {
- av_log(s, AV_LOG_ERROR, "SMV codec is not supported.\n");
+ avpriv_report_missing_feature(s, "SMV codec");
return AVERROR_PATCHWELCOME;
} else {
av_log(s, AV_LOG_ERROR, "Unknown codec GUID.\n");
diff --git a/libavformat/rsoenc.c b/libavformat/rsoenc.c
index 8ebcf81..0b759ee 100644
--- a/libavformat/rsoenc.c
+++ b/libavformat/rsoenc.c
@@ -50,7 +50,7 @@ static int rso_write_header(AVFormatContext *s)
}
if (enc->codec_id == AV_CODEC_ID_ADPCM_IMA_WAV) {
- av_log(s, AV_LOG_ERROR, "ADPCM in RSO not implemented\n");
+ avpriv_report_missing_feature(s, "ADPCM in RSO");
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c
index 6f741d1..2b711d1 100644
--- a/libavformat/rtpdec_jpeg.c
+++ b/libavformat/rtpdec_jpeg.c
@@ -229,7 +229,7 @@ static int jpeg_parse_packet(AVFormatContext *ctx,
PayloadContext *jpeg,
len -= 8;
if (type > 1) {
- av_log(ctx, AV_LOG_ERROR, "Unimplemented RTP/JPEG type %"PRIu8"\n",
type);
+ avpriv_report_missing_feature(ctx, "RTP/JPEG type %"PRIu8, type);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/rtpdec_latm.c b/libavformat/rtpdec_latm.c
index d22cc1d..85bba98 100644
--- a/libavformat/rtpdec_latm.c
+++ b/libavformat/rtpdec_latm.c
@@ -109,9 +109,9 @@ static int parse_fmtp_config(AVStream *st, const char
*value)
num_layers = get_bits(&gb, 3);
if (audio_mux_version != 0 || same_time_framing != 1 || num_programs != 0
||
num_layers != 0) {
- av_log(NULL, AV_LOG_WARNING, "Unsupported LATM config (%d,%d,%d,%d)\n",
- audio_mux_version, same_time_framing,
- num_programs, num_layers);
+ avpriv_report_missing_feature(NULL, "LATM config (%d,%d,%d,%d)",
+ audio_mux_version, same_time_framing,
+ num_programs, num_layers);
ret = AVERROR_PATCHWELCOME;
goto end;
}
diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c
index b3b1a7b..f157941 100644
--- a/libavformat/rtpdec_xiph.c
+++ b/libavformat/rtpdec_xiph.c
@@ -108,15 +108,14 @@ static int xiph_handle_packet(AVFormatContext *ctx,
PayloadContext *data,
}
if (ident != data->ident) {
- av_log(ctx, AV_LOG_ERROR,
- "Unimplemented Xiph SDP configuration change detected\n");
+ avpriv_report_missing_feature(ctx, "Xiph SDP configuration change");
return AVERROR_PATCHWELCOME;
}
if (tdt) {
- av_log(ctx, AV_LOG_ERROR,
- "Unimplemented RTP Xiph packet settings (%d,%d,%d)\n",
- fragmented, tdt, num_pkts);
+ avpriv_report_missing_feature(ctx,
+ "RTP Xiph packet settings (%d,%d,%d)",
+ fragmented, tdt, num_pkts);
return AVERROR_PATCHWELCOME;
}
@@ -245,9 +244,8 @@ parse_packed_headers(const uint8_t * packed_headers,
length2 = get_base128(&packed_headers, packed_headers_end);
if (num_packed != 1 || num_headers > 3) {
- av_log(codec, AV_LOG_ERROR,
- "Unimplemented number of headers: %u packed headers, %u
headers\n",
- num_packed, num_headers);
+ avpriv_report_missing_feature(codec, "%u packed headers, %u headers",
+ num_packed, num_headers);
return AVERROR_PATCHWELCOME;
}
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 9267389..879470b 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1322,8 +1322,7 @@ static int
rtsp_send_cmd_with_content_async(AVFormatContext *s,
ffurl_write(rt->rtsp_hd_out, out_buf, strlen(out_buf));
if (send_content_length > 0 && send_content) {
if (rt->control_transport == RTSP_MODE_TUNNEL) {
- av_log(s, AV_LOG_ERROR, "tunneling of RTSP requests "
- "with content data not supported\n");
+ avpriv_report_missing_feature(s, "Tunneling of RTSP requests with
content data");
return AVERROR_PATCHWELCOME;
}
ffurl_write(rt->rtsp_hd_out, send_content, send_content_length);
diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c
index 7162f08..d938a64 100644
--- a/libavformat/spdifenc.c
+++ b/libavformat/spdifenc.c
@@ -469,7 +469,8 @@ static int spdif_write_header(AVFormatContext *s)
return AVERROR(ENOMEM);
break;
default:
- av_log(s, AV_LOG_ERROR, "codec not supported\n");
+ avpriv_report_missing_feature(s, "Codec %d",
+ s->streams[0]->codec->codec_id);
return AVERROR_PATCHWELCOME;
}
return 0;
diff --git a/libavformat/wvdec.c b/libavformat/wvdec.c
index e9a2a62..e68edb1 100644
--- a/libavformat/wvdec.c
+++ b/libavformat/wvdec.c
@@ -95,7 +95,8 @@ static int wv_read_block_header(AVFormatContext *ctx,
AVIOContext *pb)
}
if (wc->header.version < 0x402 || wc->header.version > 0x410) {
- av_log(ctx, AV_LOG_ERROR, "Unsupported version %03X\n",
wc->header.version);
+ avpriv_report_missing_feature(ctx, "WV version 0x%03X",
+ wc->header.version);
return AVERROR_PATCHWELCOME;
}
--
2.5.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel