mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits) mpegps: Use av_get_packet() instead of poorly emulating it. motionpixels: decode only the 111 complete frames for fate mpc8: Check out of bound bands limit xan: Prevent NULL dereference with missing palette xan: Check for out of bound reads in xan_huffman_decode() xan: Fixed out of bound accesses in xan_unpack() motionpixels: Prevent calling init_vlc() with invalid parameters shorten: Fix out of bound writes in fix_bitshift() dsicinav: Check for out of bounds writes tiertexseqv: Check for out of bound reads quickdraw: Check for out of bound reads dsicinav: Check for out of bounds reads motionpixels: Fix the size of workspace buffers motionpixels: Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer wmavoice: Check for corrupted extra data wmavoice: Check for out of bound writes xan: Prevent NULL dereferences with missing reference frame bink: Prevent NULL dereferences with missing reference frame wavpack: Reset internal state on corrupted blocks wmapro: Validate the number of audio channels before using it ... Conflicts: libavcodec/h264.c libavcodec/xan.c tests/ref/fate/motionpixels Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
9b47173545
@ -3747,7 +3747,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
|
||||
case NAL_IDR_SLICE:
|
||||
case NAL_SLICE:
|
||||
init_get_bits(&hx->s.gb, ptr, bit_length);
|
||||
if(!get_ue_golomb(&hx->s.gb))
|
||||
if (!get_ue_golomb(&hx->s.gb))
|
||||
nals_needed = nal_index;
|
||||
}
|
||||
continue;
|
||||
|
@ -555,8 +555,10 @@ static int xan_decode_frame(AVCodecContext *avctx,
|
||||
}
|
||||
buf_size = buf_end - buf;
|
||||
}
|
||||
if (s->palettes_count <= 0)
|
||||
if (s->palettes_count <= 0) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "No palette found\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
if ((ret = avctx->get_buffer(avctx, &s->current_frame))) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n");
|
||||
|
@ -572,14 +572,7 @@ static int mpegps_read_packet(AVFormatContext *s,
|
||||
else if (st->codec->bits_per_coded_sample == 28)
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
av_new_packet(pkt, len);
|
||||
ret = avio_read(s->pb, pkt->data, pkt->size);
|
||||
if (ret < 0) {
|
||||
pkt->size = 0;
|
||||
} else if (ret < pkt->size) {
|
||||
pkt->size = ret;
|
||||
memset(pkt->data + ret, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
ret = av_get_packet(s->pb, pkt, len);
|
||||
pkt->pts = pts;
|
||||
pkt->dts = dts;
|
||||
pkt->pos = dummy_pos;
|
||||
|
@ -179,7 +179,7 @@ fate-maxis-xa: CMD = md5 -i $(SAMPLES)/maxis-xa/SC2KBUG.XA -f s16le
|
||||
FATE_TESTS += fate-mimic
|
||||
fate-mimic: CMD = framecrc -idct simple -i $(SAMPLES)/mimic/mimic2-womanloveffmpeg.cam -vsync 0
|
||||
FATE_TESTS += fate-motionpixels
|
||||
fate-motionpixels: CMD = framecrc -i $(SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24
|
||||
fate-motionpixels: CMD = framecrc -i $(SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 -vframes 111
|
||||
FATE_TESTS += fate-mpc7-demux
|
||||
fate-mpc7-demux: CMD = crc -i $(SAMPLES)/musepack/inside-mp7.mpc -acodec copy
|
||||
FATE_TESTS += fate-mpc8-demux
|
||||
|
@ -109,4 +109,3 @@
|
||||
0, 648003, 230400, 0xb343f372
|
||||
0, 654003, 230400, 0xf7f1e588
|
||||
0, 660003, 230400, 0x9682bdb2
|
||||
0, 666003, 230400, 0x16f9aad8
|
||||
|
Loading…
Reference in New Issue
Block a user