escape130: The minimum read in and after decode_skip_count() is 4 bits.
Thus we can check for 4 being available.
If the next block is skiped we need 4 bits to encode the skip. If the
next block is not skiped then we need 1 bit for the skip code and
at least 3 bits for the block.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Mans Rullgard [Thu, 8 Dec 2011 14:48:12 +0000 (14:48 +0000)]
cljr: group encode/decode parts under single ifdefs
This groups the encode/decode parts under single ifdefs and
eliminates the encode_init() function as it merely calls
common_init(). Also fix whitespace in moved code.
Sean McGovern [Wed, 7 Dec 2011 21:51:28 +0000 (21:51 +0000)]
x86 cpuid: set vendor union members separately
Solaris Studio (suncc) has difficulty with filling in
members of a union. Instead, let's retrieve and store the
cpuid() results separately. This is still a compiler bug,
however this fix does not cause a regression on other platforms.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* qatar/master:
drawtext: remove typo
pcm-mpeg: implement new audio decoding api
w32thread: port fixes to pthread_cond_broadcast() from x264.
doc: add editor configuration section with Vim and Emacs settings
dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
avformat/utils: Drop unused goto label.
doxygen: Replace '\' by '@' in Doxygen markup tags.
cosmetics: drop some completely pointless parentheses
cljr: simplify CLJRContext
drawtext: introduce rand(min, max)
drawtext: introduce explicit draw/hide variable
rtmp: Use nb_invokes for all invoke commands
Alexis Ballier [Wed, 7 Dec 2011 12:27:20 +0000 (09:27 -0300)]
qtrle.c: Fix for ticket #226.
In 1bpp mode, interpret skip&0x80 as "start a new line" instead of "go to next line", this is almost the same except for the first line which was always skipped before and caused to try to write an extra line at the end of the frame (ticket #226).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Tomas Härdin [Mon, 14 Mar 2011 16:00:21 +0000 (17:00 +0100)]
mxfdec: Speed up metadata and index parsing
Specifically, this means parsing as before until we run into essence.
At that point we seek to the footer and parse until EOF. After that we start
seeking backward to the previous partition and parse that until we run into
essence or the next partition. This procedure is repeated until we encounter
the last partition we parsed in the forward direction.
The end result of all this is that large essence containers aren't needlessly
parsed. This speeds up parsing large files a lot.
* shariman/wmall:
Fix lms_update()
Move num_lms reading out of a loop
Use correct value for range
Fix some int / int16_t / int32_t confusion
Implement revert_mclms() and associated functions
Fix two more int16_t vs. int confusion
Init s->cdlms[][].recent to order - 1
Add a size argument to dump_int_buffer()
Get rid of logging that are not required anymore
Fix some int vs. int16_t confusion
movdec: remove redundant size<=8 check.
Its checked a few lines below too.
The only difference is that empty atoms with size=0 will now get parsed too.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Mihnea Balta [Tue, 6 Dec 2011 07:29:47 +0000 (09:29 +0200)]
movdec: Fix bad computed size for atoms with size 0 in MOV files
The computed size doesn't contain the header size because it's already
skipped by incrementing total_size, but then it's skipped again in the
last line. The atom comes out 8 bytes short and the function
mov_read_chan() aborts the whole parsing process. I think the computed
size should be atom.size - total_size + 8.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mov: Don't av_malloc(0).
avconv: only allocate 1 AVFrame per input stream
avconv: fix memleaks due to not freeing the AVFrame for audio
h264-fate: remove -strict 1 except where necessary (mr4/5-tandberg).
misc Doxygen markup improvements
doxygen: eliminate Qt-style doxygen syntax
g722: Add a regression test for muxing/demuxing in wav
g722: Change bits per sample to 4
g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
api-example: update to use avcodec_decode_audio4()
avplay: use avcodec_decode_audio4()
avplay: use a separate buffer for playing silence
avformat: use avcodec_decode_audio4() in avformat_find_stream_info()
avconv: use avcodec_decode_audio4() instead of avcodec_decode_audio3()
mov: Allow empty stts atom.
doc: document preferred Doxygen syntax and make patcheck detect it
Reimar Döffinger [Tue, 29 Nov 2011 21:01:09 +0000 (22:01 +0100)]
Add coverage exclusions for test code.
For some of the code e.g. doing timing measurements there is no
real point in running regression testing on it, thus it should
not be counted against coverage.
Reimar Döffinger [Tue, 29 Nov 2011 19:35:48 +0000 (20:35 +0100)]
Add coverage support.
Adds --enable-coverage to configure and a "coverage-html" make target.
The dependency stuff in the Makefile is a bit questionable, but the
best I could think of so far.
Alex Converse [Mon, 5 Dec 2011 00:38:05 +0000 (16:38 -0800)]
mov: Don't av_malloc(0).
malloc() is allowed to return NULL when zero is the argument. This
causes us to think malloc has failed and return AVERROR(ENOMEM). In
addition OS X malloc() returns an unfreeable non-NULL pointer for size
zero when alignment is greater than 16.
Sjoerd Simons [Thu, 1 Dec 2011 23:08:35 +0000 (01:08 +0200)]
g722: Change bits per sample to 4
Earlier, bits per sample was defined as 8, since
bits_per_coded_sample was used to indicate whether to ignore
the lower bits of the codeword, having values 6, 7 or 8.
g722 encodes 2 samples into one byte codeword, therefore the
bits per sample is 4. By changing this, the generated timestamps
for streams encoded with g722 become correct.
This makes timestamp generation for g722 data correct (both when
encoding and when demuxing from raw g722 files).