* commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a': Return proper error code after av_log_ask_for_sample() configure: cosmetics: Separate hwaccel dependencies from decoders/encoders oggdec: check memory allocation Conflicts: configure libavcodec/pictordec.c libavformat/anm.c libavformat/oggdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n1.1
| @@ -1627,9 +1627,10 @@ mdct_select="fft" | |||||
| rdft_select="fft" | rdft_select="fft" | ||||
| mpegaudio_select="mpegaudiodsp" | mpegaudio_select="mpegaudiodsp" | ||||
| mpegaudiodsp_select="dct" | mpegaudiodsp_select="dct" | ||||
| mpegvideo_select="videodsp" | |||||
| mpegvideoenc_select="mpegvideo" | mpegvideoenc_select="mpegvideo" | ||||
| # decoders / encoders / hardware accelerators | |||||
| # decoders / encoders | |||||
| aac_decoder_select="mdct sinewin" | aac_decoder_select="mdct sinewin" | ||||
| aac_encoder_select="mdct sinewin" | aac_encoder_select="mdct sinewin" | ||||
| aac_latm_decoder_select="aac_decoder aac_latm_parser" | aac_latm_decoder_select="aac_decoder aac_latm_parser" | ||||
| @@ -1675,18 +1676,9 @@ h261_decoder_select="error_resilience mpegvideo" | |||||
| h261_encoder_select="aandcttables mpegvideoenc" | h261_encoder_select="aandcttables mpegvideoenc" | ||||
| h263_decoder_select="error_resilience h263_parser mpegvideo" | h263_decoder_select="error_resilience h263_parser mpegvideo" | ||||
| h263_encoder_select="aandcttables error_resilience mpegvideoenc" | h263_encoder_select="aandcttables error_resilience mpegvideoenc" | ||||
| h263_vaapi_hwaccel_select="vaapi h263_decoder" | |||||
| h263i_decoder_select="h263_decoder" | h263i_decoder_select="h263_decoder" | ||||
| h263p_encoder_select="h263_encoder" | h263p_encoder_select="h263_encoder" | ||||
| h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser" | |||||
| h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo" | h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo" | ||||
| h264_dxva2_hwaccel_deps="dxva2api_h" | |||||
| h264_dxva2_hwaccel_select="dxva2 h264_decoder" | |||||
| h264_vaapi_hwaccel_select="vaapi h264_decoder" | |||||
| h264_vda_decoder_select="vda h264_parser h264_decoder" | |||||
| h264_vda_hwaccel_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" | |||||
| h264_vda_hwaccel_select="vda h264_decoder" | |||||
| h264_vdpau_decoder_select="vdpau h264_decoder" | |||||
| huffyuv_encoder_select="huffman" | huffyuv_encoder_select="huffman" | ||||
| iac_decoder_select="fft mdct sinewin" | iac_decoder_select="fft mdct sinewin" | ||||
| imc_decoder_select="fft mdct sinewin" | imc_decoder_select="fft mdct sinewin" | ||||
| @@ -1709,27 +1701,14 @@ mp3on4_decoder_select="mpegaudio" | |||||
| mp3on4float_decoder_select="mpegaudio" | mp3on4float_decoder_select="mpegaudio" | ||||
| mpc7_decoder_select="mpegaudiodsp" | mpc7_decoder_select="mpegaudiodsp" | ||||
| mpc8_decoder_select="mpegaudiodsp" | mpc8_decoder_select="mpegaudiodsp" | ||||
| mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder" | |||||
| mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" | mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" | ||||
| mpeg_xvmc_decoder_select="mpegvideo_decoder" | mpeg_xvmc_decoder_select="mpegvideo_decoder" | ||||
| mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder" | |||||
| mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder" | |||||
| mpeg1video_decoder_select="error_resilience mpegvideo" | mpeg1video_decoder_select="error_resilience mpegvideo" | ||||
| mpeg1video_encoder_select="aandcttables error_resilience mpegvideoenc" | mpeg1video_encoder_select="aandcttables error_resilience mpegvideoenc" | ||||
| mpeg2_crystalhd_decoder_select="crystalhd" | |||||
| mpeg2_dxva2_hwaccel_deps="dxva2api_h" | |||||
| mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder" | |||||
| mpeg2_vdpau_hwaccel_select="vdpau mpeg2video_decoder" | |||||
| mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder" | |||||
| mpeg2video_decoder_select="error_resilience mpegvideo" | mpeg2video_decoder_select="error_resilience mpegvideo" | ||||
| mpeg2video_encoder_select="aandcttables error_resilience mpegvideoenc" | mpeg2video_encoder_select="aandcttables error_resilience mpegvideoenc" | ||||
| mpeg4_crystalhd_decoder_select="crystalhd" | |||||
| mpeg4_decoder_select="h263_decoder mpeg4video_parser" | mpeg4_decoder_select="h263_decoder mpeg4video_parser" | ||||
| mpeg4_encoder_select="h263_encoder" | mpeg4_encoder_select="h263_encoder" | ||||
| mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder" | |||||
| mpeg4_vdpau_decoder_select="vdpau mpeg4_decoder" | |||||
| mpegvideo_select="videodsp" | |||||
| msmpeg4_crystalhd_decoder_select="crystalhd" | |||||
| msmpeg4v1_decoder_select="h263_decoder" | msmpeg4v1_decoder_select="h263_decoder" | ||||
| msmpeg4v1_encoder_select="h263_encoder" | msmpeg4v1_encoder_select="h263_encoder" | ||||
| msmpeg4v2_decoder_select="h263_decoder" | msmpeg4v2_decoder_select="h263_decoder" | ||||
| @@ -1770,12 +1749,7 @@ truehd_decoder_select="mlp_parser" | |||||
| tscc_decoder_select="zlib" | tscc_decoder_select="zlib" | ||||
| twinvq_decoder_select="mdct lsp sinewin" | twinvq_decoder_select="mdct lsp sinewin" | ||||
| utvideo_encoder_select="huffman" | utvideo_encoder_select="huffman" | ||||
| vc1_crystalhd_decoder_select="crystalhd" | |||||
| vc1_decoder_select="h263_decoder h264chroma h264qpel" | vc1_decoder_select="h263_decoder h264chroma h264qpel" | ||||
| vc1_dxva2_hwaccel_deps="dxva2api_h" | |||||
| vc1_dxva2_hwaccel_select="dxva2 vc1_decoder" | |||||
| vc1_vaapi_hwaccel_select="vaapi vc1_decoder" | |||||
| vc1_vdpau_decoder_select="vdpau vc1_decoder" | |||||
| vc1image_decoder_select="vc1_decoder" | vc1image_decoder_select="vc1_decoder" | ||||
| vorbis_decoder_select="mdct" | vorbis_decoder_select="mdct" | ||||
| vorbis_encoder_select="mdct" | vorbis_encoder_select="mdct" | ||||
| @@ -1796,10 +1770,6 @@ wmv1_encoder_select="h263_encoder" | |||||
| wmv2_decoder_select="h263_decoder" | wmv2_decoder_select="h263_decoder" | ||||
| wmv2_encoder_select="h263_encoder" | wmv2_encoder_select="h263_encoder" | ||||
| wmv3_decoder_select="vc1_decoder" | wmv3_decoder_select="vc1_decoder" | ||||
| wmv3_crystalhd_decoder_select="crystalhd" | |||||
| wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel" | |||||
| wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" | |||||
| wmv3_vdpau_decoder_select="vc1_vdpau_decoder" | |||||
| wmv3image_decoder_select="wmv3_decoder" | wmv3image_decoder_select="wmv3_decoder" | ||||
| zerocodec_decoder_select="zlib" | zerocodec_decoder_select="zlib" | ||||
| zlib_decoder_select="zlib" | zlib_decoder_select="zlib" | ||||
| @@ -1807,11 +1777,43 @@ zlib_encoder_select="zlib" | |||||
| zmbv_decoder_select="zlib" | zmbv_decoder_select="zlib" | ||||
| zmbv_encoder_select="zlib" | zmbv_encoder_select="zlib" | ||||
| # hardware accelerators | |||||
| crystalhd_deps="libcrystalhd_libcrystalhd_if_h" | crystalhd_deps="libcrystalhd_libcrystalhd_if_h" | ||||
| vaapi_deps="va_va_h" | vaapi_deps="va_va_h" | ||||
| vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" | vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" | ||||
| vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" | vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" | ||||
| h263_vaapi_hwaccel_select="vaapi h263_decoder" | |||||
| h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser" | |||||
| h264_dxva2_hwaccel_deps="dxva2api_h" | |||||
| h264_dxva2_hwaccel_select="dxva2 h264_decoder" | |||||
| h264_vaapi_hwaccel_select="vaapi h264_decoder" | |||||
| h264_vda_decoder_select="vda h264_parser h264_decoder" | |||||
| h264_vda_hwaccel_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" | |||||
| h264_vda_hwaccel_select="vda h264_decoder" | |||||
| h264_vdpau_decoder_select="vdpau h264_decoder" | |||||
| mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder" | |||||
| mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder" | |||||
| mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder" | |||||
| mpeg2_crystalhd_decoder_select="crystalhd" | |||||
| mpeg2_dxva2_hwaccel_deps="dxva2api_h" | |||||
| mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder" | |||||
| mpeg2_vdpau_hwaccel_select="vdpau mpeg2video_decoder" | |||||
| mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder" | |||||
| mpeg4_crystalhd_decoder_select="crystalhd" | |||||
| mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder" | |||||
| mpeg4_vdpau_decoder_select="vdpau mpeg4_decoder" | |||||
| msmpeg4_crystalhd_decoder_select="crystalhd" | |||||
| vc1_crystalhd_decoder_select="crystalhd" | |||||
| vc1_dxva2_hwaccel_deps="dxva2api_h" | |||||
| vc1_dxva2_hwaccel_select="dxva2 vc1_decoder" | |||||
| vc1_vaapi_hwaccel_select="vaapi vc1_decoder" | |||||
| vc1_vdpau_decoder_select="vdpau vc1_decoder" | |||||
| wmv3_crystalhd_decoder_select="crystalhd" | |||||
| wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel" | |||||
| wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" | |||||
| wmv3_vdpau_decoder_select="vc1_vdpau_decoder" | |||||
| # parsers | # parsers | ||||
| h264_parser_select="error_resilience golomb h264dsp h264pred mpegvideo" | h264_parser_select="error_resilience golomb h264dsp h264pred mpegvideo" | ||||
| mpeg4video_parser_select="error_resilience mpegvideo" | mpeg4video_parser_select="error_resilience mpegvideo" | ||||
| @@ -159,7 +159,7 @@ static int decode_frame(AVCodecContext *avctx, | |||||
| break; // stop | break; // stop | ||||
| if (type == 2) { | if (type == 2) { | ||||
| av_log_ask_for_sample(avctx, "unknown opcode"); | av_log_ask_for_sample(avctx, "unknown opcode"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| continue; | continue; | ||||
| } | } | ||||
| @@ -334,7 +334,7 @@ static int cinepak_decode (CinepakContext *s) | |||||
| if (s->sega_film_skip_bytes == -1) { | if (s->sega_film_skip_bytes == -1) { | ||||
| if (!encoded_buf_size) { | if (!encoded_buf_size) { | ||||
| av_log_ask_for_sample(s->avctx, "encoded_buf_size is 0"); | av_log_ask_for_sample(s->avctx, "encoded_buf_size is 0"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| if (encoded_buf_size != s->size && (s->size % encoded_buf_size) != 0) { | if (encoded_buf_size != s->size && (s->size % encoded_buf_size) != 0) { | ||||
| /* If the encoded frame size differs from the frame size as indicated | /* If the encoded frame size differs from the frame size as indicated | ||||
| @@ -2942,7 +2942,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0) | |||||
| av_log_ask_for_sample(s->avctx, NULL); | av_log_ask_for_sample(s->avctx, NULL); | ||||
| s->picture_structure = last_pic_structure; | s->picture_structure = last_pic_structure; | ||||
| s->droppable = last_pic_droppable; | s->droppable = last_pic_droppable; | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| /* Take ownership of this buffer. Note that if another thread owned | /* Take ownership of this buffer. Note that if another thread owned | ||||
| @@ -131,7 +131,7 @@ static int decode_frame(AVCodecContext *avctx, | |||||
| bpp = bits_per_plane * s->nb_planes; | bpp = bits_per_plane * s->nb_planes; | ||||
| if (bits_per_plane > 8 || bpp < 1 || bpp > 32) { | if (bits_per_plane > 8 || bpp < 1 || bpp > 32) { | ||||
| av_log_ask_for_sample(avctx, "unsupported bit depth\n"); | av_log_ask_for_sample(avctx, "unsupported bit depth\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| if (bytestream2_peek_byte(&s->g) == 0xFF || bpp == 1 || bpp == 4 || bpp == 8) { | if (bytestream2_peek_byte(&s->g) == 0xFF || bpp == 1 || bpp == 4 || bpp == 8) { | ||||
| @@ -57,7 +57,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, | |||||
| if (bytes_per_pixel != 2) { | if (bytes_per_pixel != 2) { | ||||
| av_log_ask_for_sample(avctx, "Image format is not RGB15.\n"); | av_log_ask_for_sample(avctx, "Image format is not RGB15.\n"); | ||||
| return -1; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| avctx->pix_fmt = AV_PIX_FMT_BGR555LE; | avctx->pix_fmt = AV_PIX_FMT_BGR555LE; | ||||
| @@ -356,7 +356,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s) | |||||
| if (s->flags & FLAG_SPRITE) { | if (s->flags & FLAG_SPRITE) { | ||||
| av_log_ask_for_sample(s->avctx, "SPRITE frame found.\n"); | av_log_ask_for_sample(s->avctx, "SPRITE frame found.\n"); | ||||
| /* FIXME header.width, height, xoffset and yoffset aren't initialized */ | /* FIXME header.width, height, xoffset and yoffset aren't initialized */ | ||||
| return -1; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } else { | } else { | ||||
| s->w = header.xsize; | s->w = header.xsize; | ||||
| s->h = header.ysize; | s->h = header.ysize; | ||||
| @@ -65,7 +65,7 @@ static av_cold int truespeech_decode_init(AVCodecContext * avctx) | |||||
| if (avctx->channels != 1) { | if (avctx->channels != 1) { | ||||
| av_log_ask_for_sample(avctx, "Unsupported channel count: %d\n", avctx->channels); | av_log_ask_for_sample(avctx, "Unsupported channel count: %d\n", avctx->channels); | ||||
| return AVERROR(EINVAL); | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| avctx->channel_layout = AV_CH_LAYOUT_MONO; | avctx->channel_layout = AV_CH_LAYOUT_MONO; | ||||
| @@ -203,7 +203,7 @@ static av_cold int decode_init(AVCodecContext *avctx) | |||||
| } else { | } else { | ||||
| av_log_ask_for_sample(avctx, "Unsupported extradata size\n"); | av_log_ask_for_sample(avctx, "Unsupported extradata size\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| /* generic init */ | /* generic init */ | ||||
| @@ -299,7 +299,7 @@ static av_cold int decode_init(AVCodecContext *avctx) | |||||
| } else { | } else { | ||||
| av_log_ask_for_sample(avctx, "Unknown extradata size\n"); | av_log_ask_for_sample(avctx, "Unknown extradata size\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| /** generic init */ | /** generic init */ | ||||
| @@ -690,7 +690,7 @@ static int decode_channel_transform(WMAProDecodeCtx* s) | |||||
| if (get_bits1(&s->gb)) { | if (get_bits1(&s->gb)) { | ||||
| av_log_ask_for_sample(s->avctx, | av_log_ask_for_sample(s->avctx, | ||||
| "unsupported channel transform bit\n"); | "unsupported channel transform bit\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| for (s->num_chgroups = 0; remaining_channels && | for (s->num_chgroups = 0; remaining_channels && | ||||
| @@ -1160,7 +1160,7 @@ static int decode_subframe(WMAProDecodeCtx *s) | |||||
| /** no idea for what the following bit is used */ | /** no idea for what the following bit is used */ | ||||
| if (get_bits1(&s->gb)) { | if (get_bits1(&s->gb)) { | ||||
| av_log_ask_for_sample(s->avctx, "reserved bit set\n"); | av_log_ask_for_sample(s->avctx, "reserved bit set\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| @@ -86,7 +86,7 @@ static int read_header(AVFormatContext *s) | |||||
| avio_skip(pb, 4); /* magic number */ | avio_skip(pb, 4); /* magic number */ | ||||
| if (avio_rl16(pb) != MAX_PAGES) { | if (avio_rl16(pb) != MAX_PAGES) { | ||||
| av_log_ask_for_sample(s, "max_pages != " AV_STRINGIFY(MAX_PAGES) "\n"); | av_log_ask_for_sample(s, "max_pages != " AV_STRINGIFY(MAX_PAGES) "\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| anm->nb_pages = avio_rl16(pb); | anm->nb_pages = avio_rl16(pb); | ||||
| @@ -163,7 +163,7 @@ static int read_header(AVFormatContext *s) | |||||
| invalid: | invalid: | ||||
| av_log_ask_for_sample(s, NULL); | av_log_ask_for_sample(s, NULL); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| static int read_packet(AVFormatContext *s, | static int read_packet(AVFormatContext *s, | ||||
| @@ -93,7 +93,7 @@ static int au_read_header(AVFormatContext *s) | |||||
| if (!(bps = av_get_bits_per_sample(codec))) { | if (!(bps = av_get_bits_per_sample(codec))) { | ||||
| av_log_ask_for_sample(s, "could not determine bits per sample\n"); | av_log_ask_for_sample(s, "could not determine bits per sample\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| if (channels == 0 || channels > 64) { | if (channels == 0 || channels > 64) { | ||||
| @@ -56,7 +56,7 @@ static int read_header(AVFormatContext *s) | |||||
| st->nb_frames = avio_rb32(pb); | st->nb_frames = avio_rb32(pb); | ||||
| if (avio_rb16(pb) != 0) { | if (avio_rb16(pb) != 0) { | ||||
| av_log_ask_for_sample(s, "unsupported packing method\n"); | av_log_ask_for_sample(s, "unsupported packing method\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| avio_skip(pb, 2); | avio_skip(pb, 2); | ||||
| @@ -115,7 +115,7 @@ static int mtv_read_header(AVFormatContext *s) | |||||
| if (audio_subsegments == 0) { | if (audio_subsegments == 0) { | ||||
| av_log_ask_for_sample(s, "MTV files without audio are not supported\n"); | av_log_ask_for_sample(s, "MTV files without audio are not supported\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| mtv->full_segment_size = | mtv->full_segment_size = | ||||
| @@ -220,8 +220,8 @@ static int ogg_new_stream(AVFormatContext *s, uint32_t serial) | |||||
| if (av_size_mult(ogg->nstreams + 1, sizeof(*ogg->streams), &size) < 0 || | if (av_size_mult(ogg->nstreams + 1, sizeof(*ogg->streams), &size) < 0 || | ||||
| !(os = av_realloc(ogg->streams, size))) | !(os = av_realloc(ogg->streams, size))) | ||||
| return AVERROR(ENOMEM); | return AVERROR(ENOMEM); | ||||
| ogg->streams = os; | |||||
| os = ogg->streams + idx; | |||||
| ogg->streams = os; | |||||
| os = ogg->streams + idx; | |||||
| memset(os, 0, sizeof(*os)); | memset(os, 0, sizeof(*os)); | ||||
| os->serial = serial; | os->serial = serial; | ||||
| os->bufsize = DECODER_BUFFER_SIZE; | os->bufsize = DECODER_BUFFER_SIZE; | ||||
| @@ -374,6 +374,8 @@ static int ogg_read_page(AVFormatContext *s, int *sid) | |||||
| if (os->bufsize - os->bufpos < size) { | if (os->bufsize - os->bufpos < size) { | ||||
| uint8_t *nb = av_malloc((os->bufsize *= 2) + FF_INPUT_BUFFER_PADDING_SIZE); | uint8_t *nb = av_malloc((os->bufsize *= 2) + FF_INPUT_BUFFER_PADDING_SIZE); | ||||
| if (!nb) | |||||
| return AVERROR(ENOMEM); | |||||
| memcpy(nb, os->buf, os->bufpos); | memcpy(nb, os->buf, os->bufpos); | ||||
| av_free(os->buf); | av_free(os->buf); | ||||
| os->buf = nb; | os->buf = nb; | ||||
| @@ -50,7 +50,7 @@ static int rso_read_header(AVFormatContext *s) | |||||
| bps = av_get_bits_per_sample(codec); | bps = av_get_bits_per_sample(codec); | ||||
| if (!bps) { | if (!bps) { | ||||
| av_log_ask_for_sample(s, "could not determine bits per sample\n"); | av_log_ask_for_sample(s, "could not determine bits per sample\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| /* now we are ready: build format streams */ | /* now we are ready: build format streams */ | ||||
| @@ -78,7 +78,7 @@ static int smjpeg_read_header(AVFormatContext *s) | |||||
| case SMJPEG_SND: | case SMJPEG_SND: | ||||
| if (ast) { | if (ast) { | ||||
| av_log_ask_for_sample(s, "multiple audio streams not supported\n"); | av_log_ask_for_sample(s, "multiple audio streams not supported\n"); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| hlength = avio_rb32(pb); | hlength = avio_rb32(pb); | ||||
| if (hlength < 8) | if (hlength < 8) | ||||
| @@ -414,7 +414,7 @@ static int spdif_header_truehd(AVFormatContext *s, AVPacket *pkt) | |||||
| * distribute the TrueHD frames in the MAT frame */ | * distribute the TrueHD frames in the MAT frame */ | ||||
| av_log(s, AV_LOG_ERROR, "TrueHD frame too big, %d bytes\n", pkt->size); | av_log(s, AV_LOG_ERROR, "TrueHD frame too big, %d bytes\n", pkt->size); | ||||
| av_log_ask_for_sample(s, NULL); | av_log_ask_for_sample(s, NULL); | ||||
| return AVERROR_INVALIDDATA; | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | } | ||||
| memcpy(&ctx->hd_buf[ctx->hd_buf_count * TRUEHD_FRAME_OFFSET - BURST_HEADER_SIZE + mat_code_length], | memcpy(&ctx->hd_buf[ctx->hd_buf_count * TRUEHD_FRAME_OFFSET - BURST_HEADER_SIZE + mat_code_length], | ||||