Michael Niedermayer
72e5d91908
vc1dec: factorize picture pointer selection code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
3fdd0979ac
vc1dec: Fix mv_f shuffling
...
Avoid a (confusing) memcpy()
Simpler code
Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
1d0f817b17
vc1dec: Fix mv_f shuffling
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
6c9d28a229
vc1dec: Fix tff == 0 handling in init_block_index()
...
This fixes several files from VLC ticket5887
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Martin Storsjö
a60136ee57
vc1: Remove now unused variables
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
f4fed5a2f9
mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
...
This also converts vc1, since that is mpegvideo-based.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Sebastian Sandberg
db8403d04a
vc1dec: interlaced B-frames
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paul B Mahol
a9b424879f
lavc & lavf: replace deprecated av_log* functions
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Diego Biurrun
6d97484d72
avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
12 years ago
Clément Bœsch
1ec94b0f06
lavc: factorize ff_{thread_,re,}get_buffer error messages.
...
Coccinelle profile used:
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_get_buffer(ctx, f, flags)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str;
@@
-if ((r = ff_reget_buffer(ctx, f)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_reget_buffer(ctx, f)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
+ return r;
...along with some manual patches for the remaining ones.
12 years ago
Michael Niedermayer
bbaa4432e2
vc1dec: remove unused variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
4ba5dbc0e4
mpegvideo: use hpeldsp instead of dsputil for half-pel functions.
...
This also converts vc1, since that is mpegvideo-based.
12 years ago
Michael Niedermayer
53fd4f5594
avcodec: fix motion vector vissualization
...
was broken by the buffer ref stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Diego Biurrun
5f401b7b71
Add missing error_resilience includes to files that use ER
12 years ago
Ronald S. Bultje
8d061989dd
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
...
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Michael Niedermayer
2dd2ee96eb
vc1dec: use av_log_ask_for_sample for odd sprites
...
Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
058e1f8dd7
vc1dec: odd sized sprites are unsupported
...
It should be easy to add support but without a sample we would
not know if they work.
Fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Michael Niedermayer
ce153eef8f
vc1dec: dont decode slices when the slice header failed to decode.
...
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
e2789d3e33
split out ff_hwaccel_pixfmt_list_420[] over individual codecs.
...
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
1d0feb5d1a
mpegvideo: split ff_draw_horiz_band().
...
Split out dependency on MpegEncContext.
12 years ago
Anton Khirnov
54974c6298
error_resilience: decouple ER from MpegEncContext
12 years ago
Michael Niedermayer
0d194ee51e
vc1dec: Fix destination pointers in context for fields
...
This replaces a large number of checks for the second field by
fixing the pointers when they are setup
This should also fix I/BI field pictures
Changes checksums for vc1_sa10143, the file becomes slightly closer
to what the reference decoder outputs
Based on "vc1dec: the second field is written wrong to the picture"
by Sebastian Sandberg <sebastiand.sandberg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
79dad2a932
dsputil: Separate h264chroma
12 years ago
Vladimir Pantelic
77bcb89600
vc1dec: use codec_id instead of codec_tag for VC1IMAGE
...
the rest of the code is using codec_id everywhere already
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
12 years ago
Michael Niedermayer
63c61f0be0
vc1dec: Fix 2 "warning: may be used uninitialized in this function"
...
Initialize pointers to NULL for safety
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Sebastian Sandberg
c6779c5131
vc1dec: fieldtx is only valid for interlaced frames
...
the fieldtx_plane is not cleared for interlaced fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
131fac1c12
vc1dec: fix block_off
...
Fixes corruption of motion_val
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
baf35bb4bc
dsputil: remove one array dimension from avg_no_rnd_pixels_tab.
12 years ago
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years ago
Ronald S. Bultje
93af2734ee
lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
...
This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
12 years ago
Michael Niedermayer
6136b989f6
vc1dec: add assert to impossible *_valid combination.
...
This also fixes a warning about uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
cc548ea7a6
vc1dec: ensure cbpcy_vlc has been set before decoding a frame.
...
Fixes null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Vladimir Pantelic
7b8c5b263b
vc1dec: prevent a crash due missing pred_flag parameter
...
Handle pred_flag parameter not given to get_mvdata_interlaced()
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Ronald S. Bultje
8c53d39e7f
lavc: introduce VideoDSPContext
...
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Diego Biurrun
ba0c898120
cosmetics: Fix dropable --> droppable typo
12 years ago
Michael Niedermayer
bde6f6eadc
vc1dec: prevent v_edge_pos from becoming negative.
...
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
09de0ffeab
vc1dec: Fix null pointer dereference in vc1_decode_skip_blocks()
...
This handles the last frame being unavailable like all the other
code in vc1dec.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
df9b956751
lavc: fix decode_frame() third parameter semantics for video decoders
...
It's got_frame, not data size
12 years ago
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
12 years ago
Reimar Döffinger
16af29a7a6
vc1dec: add hacks to ensure static tables are initialized in open().
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
12 years ago
Michael Niedermayer
7845f8d282
vc1dec: do not allow field_mode to change after the first header
...
Fixes out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ab8517b891
vc1dec: require a minimum of 2x2 for the edge pos. Avoid assertion failure
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ccce723c6d
vc1dec: check first field slices, fix out of array read.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
3a04c18d89
vc1dec: prevent null ptr dereferences.
...
The added checks are in line with existing checks but should
probably be replaced by more advanced error concealment at some
point.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
8e749733c1
vc1dec: factorize srcU/V offseting out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b5f4836f8c
vc1: check image height, fix division by 0
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
d8246d475c
vc1dec: mark by assert that the default path cannot occur
...
Fixes CID703827, CID703828
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Hendrik Leppkes
33f2a49423
vc1: only disable interlaced b-frames for software decoding
...
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago