Browse Source

Merge commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a'

* 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
Michael Niedermayer 12 years ago
parent
commit
d69238e991
18 changed files with 57 additions and 53 deletions
  1. +34
    -32
      configure
  2. +1
    -1
      libavcodec/anm.c
  3. +1
    -1
      libavcodec/cinepak.c
  4. +1
    -1
      libavcodec/h264.c
  5. +1
    -1
      libavcodec/pictordec.c
  6. +1
    -1
      libavcodec/ptx.c
  7. +1
    -1
      libavcodec/truemotion1.c
  8. +1
    -1
      libavcodec/truespeech.c
  9. +1
    -1
      libavcodec/wmalosslessdec.c
  10. +3
    -3
      libavcodec/wmaprodec.c
  11. +2
    -2
      libavformat/anm.c
  12. +1
    -1
      libavformat/au.c
  13. +1
    -1
      libavformat/filmstripdec.c
  14. +1
    -1
      libavformat/mtv.c
  15. +4
    -2
      libavformat/oggdec.c
  16. +1
    -1
      libavformat/rsodec.c
  17. +1
    -1
      libavformat/smjpegdec.c
  18. +1
    -1
      libavformat/spdifenc.c

+ 34
- 32
configure View File

@@ -1627,9 +1627,10 @@ mdct_select="fft"
rdft_select="fft"
mpegaudio_select="mpegaudiodsp"
mpegaudiodsp_select="dct"
mpegvideo_select="videodsp"
mpegvideoenc_select="mpegvideo"

# decoders / encoders / hardware accelerators
# decoders / encoders
aac_decoder_select="mdct sinewin"
aac_encoder_select="mdct sinewin"
aac_latm_decoder_select="aac_decoder aac_latm_parser"
@@ -1675,18 +1676,9 @@ h261_decoder_select="error_resilience mpegvideo"
h261_encoder_select="aandcttables mpegvideoenc"
h263_decoder_select="error_resilience h263_parser mpegvideo"
h263_encoder_select="aandcttables error_resilience mpegvideoenc"
h263_vaapi_hwaccel_select="vaapi h263_decoder"
h263i_decoder_select="h263_decoder"
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_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"
iac_decoder_select="fft mdct sinewin"
imc_decoder_select="fft mdct sinewin"
@@ -1709,27 +1701,14 @@ mp3on4_decoder_select="mpegaudio"
mp3on4float_decoder_select="mpegaudio"
mpc7_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_select="mpegvideo_decoder"
mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder"
mpeg1video_decoder_select="error_resilience mpegvideo"
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_encoder_select="aandcttables error_resilience mpegvideoenc"
mpeg4_crystalhd_decoder_select="crystalhd"
mpeg4_decoder_select="h263_decoder mpeg4video_parser"
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_encoder_select="h263_encoder"
msmpeg4v2_decoder_select="h263_decoder"
@@ -1770,12 +1749,7 @@ truehd_decoder_select="mlp_parser"
tscc_decoder_select="zlib"
twinvq_decoder_select="mdct lsp sinewin"
utvideo_encoder_select="huffman"
vc1_crystalhd_decoder_select="crystalhd"
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"
vorbis_decoder_select="mdct"
vorbis_encoder_select="mdct"
@@ -1796,10 +1770,6 @@ wmv1_encoder_select="h263_encoder"
wmv2_decoder_select="h263_decoder"
wmv2_encoder_select="h263_encoder"
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"
zerocodec_decoder_select="zlib"
zlib_decoder_select="zlib"
@@ -1807,11 +1777,43 @@ zlib_encoder_select="zlib"
zmbv_decoder_select="zlib"
zmbv_encoder_select="zlib"

# hardware accelerators
crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
vaapi_deps="va_va_h"
vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
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
h264_parser_select="error_resilience golomb h264dsp h264pred mpegvideo"
mpeg4video_parser_select="error_resilience mpegvideo"


+ 1
- 1
libavcodec/anm.c View File

@@ -159,7 +159,7 @@ static int decode_frame(AVCodecContext *avctx,
break; // stop
if (type == 2) {
av_log_ask_for_sample(avctx, "unknown opcode");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}
continue;
}


+ 1
- 1
libavcodec/cinepak.c View File

@@ -334,7 +334,7 @@ static int cinepak_decode (CinepakContext *s)
if (s->sega_film_skip_bytes == -1) {
if (!encoded_buf_size) {
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 the encoded frame size differs from the frame size as indicated


+ 1
- 1
libavcodec/h264.c View File

@@ -2942,7 +2942,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0)
av_log_ask_for_sample(s->avctx, NULL);
s->picture_structure = last_pic_structure;
s->droppable = last_pic_droppable;
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

/* Take ownership of this buffer. Note that if another thread owned


+ 1
- 1
libavcodec/pictordec.c View File

@@ -131,7 +131,7 @@ static int decode_frame(AVCodecContext *avctx,
bpp = bits_per_plane * s->nb_planes;
if (bits_per_plane > 8 || bpp < 1 || bpp > 32) {
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) {


+ 1
- 1
libavcodec/ptx.c View File

@@ -57,7 +57,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,

if (bytes_per_pixel != 2) {
av_log_ask_for_sample(avctx, "Image format is not RGB15.\n");
return -1;
return AVERROR_PATCHWELCOME;
}

avctx->pix_fmt = AV_PIX_FMT_BGR555LE;


+ 1
- 1
libavcodec/truemotion1.c View File

@@ -356,7 +356,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s)
if (s->flags & FLAG_SPRITE) {
av_log_ask_for_sample(s->avctx, "SPRITE frame found.\n");
/* FIXME header.width, height, xoffset and yoffset aren't initialized */
return -1;
return AVERROR_PATCHWELCOME;
} else {
s->w = header.xsize;
s->h = header.ysize;


+ 1
- 1
libavcodec/truespeech.c View File

@@ -65,7 +65,7 @@ static av_cold int truespeech_decode_init(AVCodecContext * avctx)

if (avctx->channels != 1) {
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;


+ 1
- 1
libavcodec/wmalosslessdec.c View File

@@ -203,7 +203,7 @@ static av_cold int decode_init(AVCodecContext *avctx)

} else {
av_log_ask_for_sample(avctx, "Unsupported extradata size\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

/* generic init */


+ 3
- 3
libavcodec/wmaprodec.c View File

@@ -299,7 +299,7 @@ static av_cold int decode_init(AVCodecContext *avctx)

} else {
av_log_ask_for_sample(avctx, "Unknown extradata size\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

/** generic init */
@@ -690,7 +690,7 @@ static int decode_channel_transform(WMAProDecodeCtx* s)
if (get_bits1(&s->gb)) {
av_log_ask_for_sample(s->avctx,
"unsupported channel transform bit\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

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 */
if (get_bits1(&s->gb)) {
av_log_ask_for_sample(s->avctx, "reserved bit set\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}




+ 2
- 2
libavformat/anm.c View File

@@ -86,7 +86,7 @@ static int read_header(AVFormatContext *s)
avio_skip(pb, 4); /* magic number */
if (avio_rl16(pb) != MAX_PAGES) {
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);
@@ -163,7 +163,7 @@ static int read_header(AVFormatContext *s)

invalid:
av_log_ask_for_sample(s, NULL);
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

static int read_packet(AVFormatContext *s,


+ 1
- 1
libavformat/au.c View File

@@ -93,7 +93,7 @@ static int au_read_header(AVFormatContext *s)

if (!(bps = av_get_bits_per_sample(codec))) {
av_log_ask_for_sample(s, "could not determine bits per sample\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

if (channels == 0 || channels > 64) {


+ 1
- 1
libavformat/filmstripdec.c View File

@@ -56,7 +56,7 @@ static int read_header(AVFormatContext *s)
st->nb_frames = avio_rb32(pb);
if (avio_rb16(pb) != 0) {
av_log_ask_for_sample(s, "unsupported packing method\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

avio_skip(pb, 2);


+ 1
- 1
libavformat/mtv.c View File

@@ -115,7 +115,7 @@ static int mtv_read_header(AVFormatContext *s)

if (audio_subsegments == 0) {
av_log_ask_for_sample(s, "MTV files without audio are not supported\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}

mtv->full_segment_size =


+ 4
- 2
libavformat/oggdec.c View File

@@ -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 ||
!(os = av_realloc(ogg->streams, size)))
return AVERROR(ENOMEM);
ogg->streams = os;
os = ogg->streams + idx;
ogg->streams = os;
os = ogg->streams + idx;
memset(os, 0, sizeof(*os));
os->serial = serial;
os->bufsize = DECODER_BUFFER_SIZE;
@@ -374,6 +374,8 @@ static int ogg_read_page(AVFormatContext *s, int *sid)

if (os->bufsize - os->bufpos < 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);
av_free(os->buf);
os->buf = nb;


+ 1
- 1
libavformat/rsodec.c View File

@@ -50,7 +50,7 @@ static int rso_read_header(AVFormatContext *s)
bps = av_get_bits_per_sample(codec);
if (!bps) {
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 */


+ 1
- 1
libavformat/smjpegdec.c View File

@@ -78,7 +78,7 @@ static int smjpeg_read_header(AVFormatContext *s)
case SMJPEG_SND:
if (ast) {
av_log_ask_for_sample(s, "multiple audio streams not supported\n");
return AVERROR_INVALIDDATA;
return AVERROR_PATCHWELCOME;
}
hlength = avio_rb32(pb);
if (hlength < 8)


+ 1
- 1
libavformat/spdifenc.c View File

@@ -414,7 +414,7 @@ static int spdif_header_truehd(AVFormatContext *s, AVPacket *pkt)
* 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_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],


Loading…
Cancel
Save