Michael Niedermayer
1100acbab2
vc1dec: check that coded slice positions and interlacing match.
...
This fixes out of array writes
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
13 years ago
Michael Niedermayer
0aa907cfb1
vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
13 years ago
Michael Niedermayer
22ce78a95e
vc1dec: dont apply the loop filter on fields
...
Fixes read of uninitialized memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
697edcc12a
vc1dec: dont attempt error concealment on field pictures.
...
This is not implemented and doesnt work.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mashiat Sarker Shakkhar
082829520e
vc1dec: Do not use random pred_flag if motion vector data is skipped
...
This fixes SA10143.vc1 from test-suite. Also partially fixes MC-VC1.ts
from videolan streams archive.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Hendrik Leppkes
14ac47fcc7
vc1: signal interlaced and tff flag to the consumer
...
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
5e59a77cec
vc1dec: check that coded slice positions and interlacing match.
...
This fixes out of array writes
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
e985cfd18b
vc1dec: check end_mb_y / start_mb_y validity
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Michael Niedermayer
a60a4d7041
vc1dec: Fix global array overread.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
1acc553e54
vc1dec: dont ignore ff_vc1_parse_frame_header_advs return value
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
e3bd61248f
vc1dec: avoid == -1 checks for errors.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b378a23395
vc1dec: sanity check state used in get_mvdata_interlaced()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mashiat Sarker Shakkhar
95b192de5d
vc1: Do not read from array if index is invalid.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Michael Niedermayer
d6eef545c1
vc1dec: move mquant zero check down.
...
This way it catches all cases, and prevents later segfaults.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Lou Logan
2d38081b4f
cosmetics: fix some typos
...
Patch attached.
From 2d4094fc0dcb4ccd0735eb7e1719e228ebb56bb9 Mon Sep 17 00:00:00 2001
From: Lou Logan <lou@lrcd.com>
Date: Mon, 12 Mar 2012 14:13:44 -0800
Subject: [PATCH] cosmetics: fix some typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
105cac3407
vc1dec: Fix vc1 decoding with --disable-optimizations.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
3c715383ea
vc1: Move init code shared between decoder and parser to common code file.
...
This fixes standalone compilation of the VC-1 parser.
13 years ago
Michael Niedermayer
64c58f1436
vc1: mquant is not allowed to be 0
...
Fixes out of bounds read.
Checked against SMPTE 421M-2006
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
324deaa268
Replace AVFrame pointer type punning by proper struct member assignments.
13 years ago
Michael Niedermayer
75d11b55d7
vc1: avoid reading beyond the last line in vc1_draw_sprites()
...
Fixes overread
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
c742ab4e81
vc1parse: call vc1_init_common().
...
The parser uses VLC tables initialized in vc1_common_init(), therefore
we should call this function on parser init also.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Ronald S. Bultje
ae591aeea5
vc1: prevent using last_frame as a reference for I/P first frame.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Martin Storsjö
efd29844eb
mpegvideo: Add ff_ prefix to nonstatic functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
5f2c159c0f
vc1: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
1fec055066
msmpeg4: Add ff_ prefixes to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Janne Grunau
510ef04a46
vc1: prevent null pointer dereference on broken files
...
CC: libav-stable@libav.org
13 years ago
Mashiat Sarker Shakkhar
d51d6ae9c4
vc1dec.c: Don't use uninitialized values of dmv_[x, y]
...
MVDATA may or may not be transmitted. If it is not, both
dmv_x and dmv_y is to be assumed zero.
This may not trigger wrong picture in all systems, but
it's a bug nevertheless. Fixes SA10116.vc1 on my 64-bit
Windows 7.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Diego Biurrun
3dc99a18d4
cosmetics: drop some pointless parentheses
13 years ago
John Brooks
d209c27b09
vc1dec: fix invalid memory access for small video dimensions
...
For small video dimensions, these calculations of the upper bound
for pixel access may have a negative result. Using an unsigned
comparison to bound a potentially negative value only works if
the greater operand is non-negative. Fixed by doing edge emulation
when the upper bound is probably negative, everywhere that this
pattern appears.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
13 years ago
Martin Storsjö
b797f73520
vc1dec: Use the right pointer type for the tmp pointer
...
This fixes warnings about assignment from incompatible
pointer type.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Aneesh Dogra
0a6aff6936
vc1: Handle WVC1 interlaced stream
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Andrey Utkin
4f820131fa
mpegvideo: remove abort() in ff_find_unused_picture()
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
13 years ago
Luca Barbato
4f3667ba59
vc1: mark with ER_MB_ERROR bits overconsumption
...
This patch is a generalization of what Michael Niedermayer
fixed in a single case.
The wmv8-drm fate test had been updated accordingly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
13 years ago
Luca Barbato
63ccd46687
lavc: introduce ER_MB_END and ER_MB_ERROR
...
Simplify a little error resilience calls
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
13 years ago
Luca Barbato
5bf2ac2b37
error_resilience: use the ER_ namespace
...
Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
13 years ago
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
13 years ago
Diego Biurrun
ee41963f19
cosmetics: drop some completely pointless parentheses
13 years ago
Luca Barbato
1f948745c3
vc1: use an enum for Frame Coding Mode
...
Document it a little and possibly fix a bug in dxva2_vc1.
13 years ago
Kostya Shishkov
498605b4ad
vc1: select interlaced scan table by FCM element
...
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Kostya Shishkov
801393bc96
vc1: select interlaced scan table by FCM element
...
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fc75e6f168
vc1dec: fix scantable for advanced P frames
...
Fixes: vc1 file from Ticket606
Fixes: vc1+vc1+++artifacts*.vc1
Fixes: mpeg+vc1+++salxxos.evo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
a3b3562b47
vc1dec: fix 10l typo
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
9e794d103c
vc1dec: drop damaged B frames
...
Fixes: vc1_error_spilt.avi of Ticket606
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
7d52f46db7
vc1dec: fix used ER flags in vc1_decode_b_blocks()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
shahriman AMS
c33d4916fb
VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
shahriman AMS
62622d04eb
vc1dec: move an if() block.
...
There are no reason for "if (c_valid) { ... }" to appear before
"if (b_valid) { ... }".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
shahriman AMS
4bceeaf0c1
vc1dec: use correct hybrid prediction threshold.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
shahriman AMS
4344ce08f1
vc1dec: Partial rewrite of vc1_pred_mv()
...
The current code is a generalization of the earlier progressive MV
prediction code. This was supposed to predict MVs for both interlaced
and progressive pictures. But the interlaced MV prediction is buggy
and works mostly by luck.
This partially fixes interlaced MV prediction.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
shahriman AMS
6475a6e1ca
vc1dec: take ME precision into account while scaling MV predictors.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago