- 14 Aug, 2012 6 commits
-
-
Nicolas George authored
DVD subtitles packets can only encode a single rectangle: if there are several, copy them into a big transparent one. DVD subtitles rely on an external 16-colors palette: use a reasonable default one, stored in the private context, and encode it into the extradata, as specified by Matroska. TODO: allow to change the palette with an option. Each packet can use four colors out of the global palette. The old logic was to map transparent colors to the color 0 and all other colors to 3, 2, 1, cyclically in descending frequency order, completely disregarding the original color. Select the "best" four colors from the global palette, according to heuristics based on frequency, opacity and brightness, and arrange them in standard DVD order: background, foreground, outline, other. TODO: select the alpha value more finely; see if CHG_COLCON can allow more than 4 colors per packet. Reference: http://dvd.sourceforge.net/dvdinfo/spu.html With these changes, dvdsubenc can be used to transcode DVB subtitles and get a very decent result.
-
Nicolas George authored
With this option, transcoding DVB subtitles becomes possible.
-
Sebastien Zwickert authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Sebastien Zwickert authored
Note that the symbols used to run the hardware decoder in asynchronous mode has been marked as deprecated and will be dropped at a future version dump. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
rogerdpack authored
Signed-off-by: rogerdpack <rogerpack2005@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Fixes Ticket1521 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 13 Aug, 2012 32 commits
-
-
Michael Niedermayer authored
find stream info causes reads that may use the offset in their callback Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Speedy Gonzales authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
many branches and cases of scale_vector are irrelevant for the case here and by inlining they can be reliably removed. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
It appears someone thinks this special case can be reached Well, it cannot, thus not only do we not need to optimize it we dont need it at all Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
* qatar/master: (22 commits) g723.1: do not pass large structs by value g723.1: do not bounce intermediate values via memory g723.1: declare a variable in the block it is used g723.1: avoid saving/restoring excitation g723.1: avoid unnecessary memcpy() in residual_interp() g723.1: make postfilter write directly to output buffer g723.1: drop unnecessary variable buf_ptr in formant_postfilter() g723.1: make scale_vector() output to a separate buffer g723.1: make autocorr_max() work on an arbitrary buffer g723.1: do not needlessly use int64_t g723.1: use saturating addition functions g723.1: optimise scale_vector() g723.1: remove useless uses of MUL64() g723.1: remove unnecessary argument 'shift' from dot_product() g723.1: deobfuscate "(x << 4) - x" to "15 * x" celp: optimise ff_celp_lp_synthesis_filter() libavutil: add saturating addition functions cllc: Implement ARGB support cllc: Add support for QRGB cllc: Rename some funcs to represent what they actually do ... Conflicts: LICENSE libavcodec/g723_1.c libavcodec/x86/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
-
Paul B Mahol authored
Closes #1631. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Stefano Sabatini authored
Allow to select specific documentation components, and reliably check for component dependencies. In particular, check for perl presence on the system.
-
Jérémy Tran authored
This is a port of the MPlayer hue filter (libmpcodecs/vf_hue.c) by Michael Niedermayer. Signed-off-by: Jérémy Tran <tran.jeremy.av@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
-
Nicolas George authored
-
Nicolas George authored
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Michael Niedermayer authored
Fixes Ticket1503 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Although a reasonable compiler will probably optimise out the actual store and load, this operation still implies a truncation to 16 bits which the compiler will probably not realise is not necessary here. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Writing the scaled excitation to a scratch buffer (borrowing the 'audio' array) instead of modifying it in place avoids the need to save and restore the unscaled values. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Use saturating addition functions instead of 64-bit intermediates and separate clipping. This is much faster when dedicated instructions are available. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Firstly, nothing in this function can overflow 32 bits so the use of a 64-bit type is completely unnecessary. Secondly, the scale is either a power of two or 0x7fff. Doing separate loops for these cases avoids using multiplications. Finally, since only the number of bits, not the actual value, of the maximum value is needed, the bitwise or of all the values serves the purpose while being faster. It is worth noting that even if overflow could happen, it was not handled correctly anyway. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
The operands in both cases are 16-bit so cannot overflow a 32-bit destination. In gain_scale() the inputs are reduced to 14-bit, so even the shift cannot overflow. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
The 'shift' argument is always 1 so there is no need to pass it explicitly in every call. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
The compiler performs this optimisation. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Adding instead of subtracting the products in the loop allows the compiler to generate more efficient multiply-accumulate instructions when 16-bit multiply-subtract is not available. ARM has only multiply-accumulate for 16-bit operands. In general, if only one variant exists, it is usually accumulate rather than subtract. In the same spirit, using the dedicated saturation function enables use of any special optimised versions of this. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Fixed-point audio codecs often use saturating arithmetic, and special instructions for these operations are common. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 12 Aug, 2012 2 commits
-
-
Michael Niedermayer authored
Fixes Ticket1435 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
Stefano Sabatini authored
Allow iteration over filter options.
-