Commit Graph

37342 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
a915618a29 Improve decoding quality for lossy wavpack.
This reverts e6e7bfc1 and 365e1ec2.
The code may be incorrect both before and after the revert, but we
do not have any samples that were fixed by the original commits.

Fixes ticket #871.
2012-01-29 17:50:17 +01:00
Reimar Döffinger
7fabef1f01 fraps: optimize pseudo-YUV to RGB conversion.
With gcc 4.6 this part of the code is ca. 4x faster, resulting
in an overall speedup of around 5% for fate-fraps-v5 sample.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 17:34:22 +01:00
Paul Kendall
7df9937fcc Fix dvb subtitle decoding when display segment is missing. 2012-01-29 14:52:56 +01:00
Reimar Döffinger
f4e8292eb7 fraps: Add release_buffer forgotten when reget_buffer was removed.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:48:36 +01:00
Reimar Döffinger
95e873bb14 fraps: fix indentation.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:21:36 +01:00
Reimar Döffinger
6a9b565e0a FRAPS: Do not needlessly use reget_buffer.
Codec has only I- and skip-frames, so there is no
need for reget_buffer, change it so it works with
get_buffer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:17:12 +01:00
Reimar Döffinger
05741d70c7 Fallback to input timestamps for non-delay encoders.
Causes FFmpeg to pass through the correct pts values,
instead of clobbering all to AV_NOPTS_VALUE (the av_init_packet
default) to then make up new ones based on only fps when muxing.
Included are also the related FATE ref changes, which all
some reasonable on quick investigation.
Also set all H.264 references to us -vsync drop to reduce the
diff for the ref files.
Otherwise almost all H.264 references need to change, mostly due
to now starting with negative pts values.
About 20 additional H.264 conformance tests needed -vsync
drop anyway because they create pts values that are out of
order and thus not possible to mux otherwise.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-29 14:17:11 +01:00
Paul B Mahol
9719528e05 fate: fix r210 test on big endian
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 03:36:22 +01:00
Paul B Mahol
931ec4a2f6 fate: add R210 encoding/decoding test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 02:42:31 +01:00
Paul B Mahol
6bcc8275a1 r210enc: fix encoding for unaligned widths
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 02:41:56 +01:00
Paul B Mahol
cbf1dc4eb4 fate: add Y41P encoding/decoding test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 02:41:09 +01:00
Michael Niedermayer
c065255bba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix LONG_START windowing.
  aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
  avplay: use the correct array size for stride.
  lavc: extend doxy for avcodec_alloc_context3().
  APIchanges: mention avcodec_alloc_context()/2/3
  avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
  aacsbr: ARM NEON optimised sbrdsp functions
  aacsbr: align some arrays
  aacsbr: move some simdable loops to function pointers
  cosmetics: Remove extra newlines at EOF

Conflicts:
	libavcodec/utils.c
	libavfilter/formats.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 00:34:59 +01:00
Reimar Döffinger
97dece333d rawenc: initialize coded_frame via avcodec_get_frame_defaults.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 23:21:03 +01:00
Reimar Döffinger
dbc7c6121e libgsm: Fix compilation.
Move libgsm_encode_close before its first use and call it
with the correct number of arguments.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 23:21:03 +01:00
Paul B Mahol
f122cbf087 v210x: check for return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:21 +01:00
Paul B Mahol
7299e5d52b v210enc: remove redundant assignment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:21 +01:00
Paul B Mahol
bf0aea7907 v210enc: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:21 +01:00
Paul B Mahol
70a8c79680 v210dec: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:21 +01:00
Paul B Mahol
3ab90687fd roqaudioenc: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:21 +01:00
Paul B Mahol
2de6a7253e roqaudioenc: remove redundant assignment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
1e90450fad r210dec: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
1fa24d08b2 pcm: remove redundant assignment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
ae8dc203b2 pcm: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
f913f3788a libopencore-amr: fix memleak
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
766e160e87 libopencore-amr: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
a136c2cf3e libmp3lame: remove dupe assigment
It is already done by avcodec_alloc_context().

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
5291cedd6c libgsm: remove dupe assigment.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Paul B Mahol
3ac99cdc41 libgsm: check return value of gsm_create & avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 22:08:20 +01:00
Nathan Caldwell
2e626dd513 aacenc: Fix LONG_START windowing.
Forgot to add the equivalent amount to the incoming sample pointer as the output pointer.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-28 22:07:30 +01:00
Nathan Caldwell
dc7e7d4dd9 aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
10l: Forgot to adjust deinterleave for new location of incoming samples in 7946a5a.

This produced incorrect, but surprisingly listenable results.

Thanks to Justin Ruggles for the report.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-28 22:07:21 +01:00
Reimar Döffinger
47a5274104 Add -vsync drop.
This allows to work around any non-monotonic time-stamp errors
by just discarding all time stamps.
This will be necessary to allow H.264 conformance tests to pass
after fixing time stamps to be passed through rawenc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
836110665f Compare video_sync_method against the appropriate defines.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
34751f8313 Demux all parts of concatenated H.264.
We may or may not be able to play the latter parts
but not demuxing at all seems like the worst possible behaviour.
Fixes playback of e.g.
http://playlist.yahoo.com/makeplaylist.dll?sid=128114687&sdm=web&pt=rd
As a proper solution either multiple video streams should
be exported or side data should be used to update extradata
if necessary.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
bb2d42c22f Set AVFMT_TS_NONSTRICT for framecrc muxer.
Since it is set for e.g. webm muxer we should make it possible
to test such streams with framecrc, too.
Though the primary reason is that this allows the H.264 tests
to not run into this check when fixing raw video encode to
pass pts values on.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
333f5b52e3 Remove unnecessary -vsync 0.
The tests work fine without it, and it will cause issues when the
rawvideo decoder is changed to properly handle pts values.
The H.264 conformance tests however are still broken, usually losing
the first frames without it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:09 +01:00
Reimar Döffinger
a0eb8de5e0 Merge palette-only header with actual video frame.
This fixes the video frame pts (off by one for each MVIh)
and makes the "key frames" decode stand-alone (MVIh
contains only palette, such a palette-only frame being
marked as key frame is not really correct).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 22:01:05 +01:00
Reimar Döffinger
0b378e8aa9 DFA: fix "skip frame" TSW1 encoding.
Previously the decoder would raise an error.
The end result is the same, the time stamps only change
because regression tests create time stamps incorrectly.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28 21:59:01 +01:00
Paul B Mahol
f870fc2fb9 adpcmenc: refactor some code.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 21:20:42 +01:00
Paul B Mahol
82c252972b adpcmenc: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 20:15:15 +01:00
Paul B Mahol
7b21b0f155 adxenc: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 20:14:20 +01:00
Paul B Mahol
88fb935c1c ac3enc: check return value of avcodec_alloc_frame()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 20:13:38 +01:00
Michael Niedermayer
cb73e35660 example: Update decoding/encoding example to the new API.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 19:47:53 +01:00
Michael Niedermayer
afe9105f66 example: update muxing example to purple API
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 19:47:25 +01:00
Anton Khirnov
91b3bfba88 avplay: use the correct array size for stride.
AV_NUM_DATA_POINTERS instead of 4.
2012-01-28 19:45:45 +01:00
Anton Khirnov
9bfe218299 lavc: extend doxy for avcodec_alloc_context3(). 2012-01-28 19:45:33 +01:00
Anton Khirnov
44911f2985 APIchanges: mention avcodec_alloc_context()/2/3
There was no minor bump for making avcodec_alloc_context3() public and
deprecating the other two, so I'm using the first next lavc bump.
2012-01-28 19:45:10 +01:00
Anton Khirnov
2d9535ad31 avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
This function is video-only, so there's no point in setting more
linesizes.

Fixes stack corruption in avplay.
2012-01-28 19:44:55 +01:00
Paul B Mahol
762311ff94 swscale: fix conversion into yuva444p from non-alpha formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 17:37:08 +01:00
Paul B Mahol
7bab43f29c yuv2rgb: better check if source format have alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 17:37:08 +01:00
Mans Rullgard
be822d77b6 aacsbr: ARM NEON optimised sbrdsp functions
Overall speedup of HE-AAC decoding 2.3x on Cortex-A8, 1.2x on A9.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-28 14:56:18 +00:00