Justin Ruggles
f3a29b750a
avcodec: move some AVCodecContext fields to an internal struct.
...
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.
Moved internal_buffer, internal_buffer_count, and is_copy.
13 years ago
Ronald S. Bultje
bfa0f96586
vp8: fix overflow in segmentation map caching.
13 years ago
David Conrad
748f921ad1
VP8: Unroll decoding segment update
13 years ago
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Ronald S. Bultje
ce42a04884
vp8: fix up handling of segmentation_maps in reference frames.
...
Associate segmentation_map[] with reference frame, rather than
decoding instance. This fixes cases where the map would be free()'ed
on e.g. a size change in one thread, whereas the other thread was
still accessing it. Also, it fixes cases where threads overwrite data
that is still being referenced by the previous thread, who thinks that
it's part of the frame previously decoded by the next thread.
13 years ago
Ronald S. Bultje
0f0b5d6434
vp8: prevent read from uninitialized memory in decode_mvs
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Ronald S. Bultje
5653579381
vp8: force reallocation in update_thread_context after frame size change
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Ronald S. Bultje
f05c2fb6eb
vp8: fix return value if update_dimensions fails
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Mans Rullgard
bb59156606
vp8: fix signed overflows
...
In addition to avoiding undefined behaviour, an unsigned type
makes more sense for packing multiple 8-bit values.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Baptiste Coudurier
231a6df9ea
h264dec: h264: 4:2:2 intra decoding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Diego Biurrun
3c432e1186
doxygen: Fix documentation for some VP8 functions.
14 years ago
Diego Biurrun
24c9babaaf
doxygen: Fix parameter names to match the function prototypes.
14 years ago
Ronald S. Bultje
9ebcf7699b
vp8: fix segmentation race during frame-threading.
...
Fixes occasional failure of make fate-vp8-test-vector-010 with
frame-multithreading enabled.
14 years ago
Mans Rullgard
4276112277
vp8: use av_clip_uintp2() where possible
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
1550f45a89
Add av_clip_uintp2() function
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
4773d90421
vp8: frame-multithreading.
...
Tested on a Mac Pro, 2 CPUs, 2 cores each, OSX 10.6.6:
time ./ffmpeg -v 0 -vsync 0 -threads [1234] -i \
~/Downloads/sintel_trailer_1080p_vp8_vorbis.webm \
-f null -vcodec rawvideo -an -
1: 0m14.630s (89.9 fps)
2: 0m8.056s (163.2 fps)
3: 0m5.882s (223.6 fps)
4: 0m4.952s (265.6 fps)
time ./ffmpeg -v 0 -vsync 0 -threads [1234] -i \
~/Downloads/Elephants_Dream-720p-Stereo.webm \
-f null -vcodec rawvideo -an -
1: 1m12.962s (215.1 fps)
2: 0m44.682s (351.2 fps)
3: 0m31.183s (503.2 fps)
4: 0m25.284s (620.6 fps)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
Stefano Sabatini
ce5e49b0c2
replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*
14 years ago
Stefano Sabatini
975a1447f7
Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Oskar Arvidsson
8dbe585641
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Alexander Strange
66f608a6aa
vp8.c: rename EDGE_* to VP8_EDGE_*.
14 years ago
Michael Niedermayer
d375c10400
Fake-Merge remote-tracking branch 'ffmpeg-mt/master'
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Jason Garrett-Glaser
81a131312d
VP8: fix other function declaration
...
Was missed in 3efbe137
.
14 years ago
Jason Garrett-Glaser
1eeca88691
VP8: optimize VP8Context struct ordering
...
Shaves at least 3KB off code size on x86, should improve cache utilization.
This would probably be useful to do for other decoders/encoders as well.
14 years ago
Jason Garrett-Glaser
3efbe13739
VP8: fix function declaration
14 years ago
Jason Garrett-Glaser
628b48db85
VP8: use a goto to break out of two loops
...
A break statement was supposed to break out of two loops, but only broke out of one.
Didn't affect output, just could have been marginally slower.
14 years ago
Jason Garrett-Glaser
1d37e908cf
VP8: init one less near_mv
...
This one didn't actually need to be initialized.
(cherry picked from commit 891b1f15a7
)
14 years ago
Jason Garrett-Glaser
8e624c1cee
VP8: split out declarations to new header
...
(cherry picked from commit bcf4568f18
)
14 years ago
Jason Garrett-Glaser
625e9309da
VP8: faster MV clipping
...
(cherry picked from commit 7634771e70
)
14 years ago
Jason Garrett-Glaser
891b1f15a7
VP8: init one less near_mv
...
This one didn't actually need to be initialized.
14 years ago
Jason Garrett-Glaser
bcf4568f18
VP8: split out declarations to new header
14 years ago
Jason Garrett-Glaser
7634771e70
VP8: faster MV clipping
14 years ago
Reinhard Tartler
7ffe76e540
Merge libavcore into libavutil
...
Done to keep ABI compatible. Otherwise this is just silly
14 years ago
Reinhard Tartler
737eb5976f
Merge libavcore into libavutil
...
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
14 years ago
Mans Rullgard
4ae3ee4ae9
VP8: ARM optimised decode_block_coeffs_internal
...
Approximately 5% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a7878c9f73
)
14 years ago
Mans Rullgard
a7878c9f73
VP8: ARM optimised decode_block_coeffs_internal
...
Approximately 5% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Jason Garrett-Glaser
ccba4f4c25
VP8: optimized mv prediction and decoding
...
Merge find_near_mvs and mv bitstream decoding: don't do prediction steps
until absolutely necessary.
(cherry picked from commit f3d09d44b7
)
14 years ago
Jason Garrett-Glaser
f3d09d44b7
VP8: optimized mv prediction and decoding
...
Merge find_near_mvs and mv bitstream decoding: don't do prediction steps
until absolutely necessary.
14 years ago
Jason Garrett-Glaser
a1b0a3c8bd
VP8: idct_mb optimizations
...
Currently uses AV_RL32 instead of AV_RL32A, as the latter doesn't exist yet.
(cherry picked from commit 62457f9052
)
14 years ago
Jason Garrett-Glaser
62457f9052
VP8: idct_mb optimizations
...
Currently uses AV_RL32 instead of AV_RL32A, as the latter doesn't exist yet.
14 years ago
Jason Garrett-Glaser
e9266a2be0
VP8: slightly faster loopfilter sharpness logic
...
(cherry picked from commit 8a2c99b486
)
14 years ago
Jason Garrett-Glaser
9efa368f19
VP8: faster deblock strength calculation
...
Convert hev_thresh logic to a LUT, simplify mbedge_lim calculation.
(cherry picked from commit 79dec1541b
)
14 years ago
Jason Garrett-Glaser
c54ac7a8f2
VP8: faster filter_level clip
...
(cherry picked from commit a1b227bb53
)
14 years ago
Jason Garrett-Glaser
8cde1b7997
VP8: simplify lf_delta mb mode logic
...
(cherry picked from commit dd18c9a050
)
14 years ago
Jason Garrett-Glaser
8a2c99b486
VP8: slightly faster loopfilter sharpness logic
14 years ago
Jason Garrett-Glaser
79dec1541b
VP8: faster deblock strength calculation
...
Convert hev_thresh logic to a LUT, simplify mbedge_lim calculation.
14 years ago
Jason Garrett-Glaser
a1b227bb53
VP8: faster filter_level clip
14 years ago
Jason Garrett-Glaser
dd18c9a050
VP8: simplify lf_delta mb mode logic
14 years ago