[SCM] ffmpeg/master: Add patches from upstream
aca-guest at users.alioth.debian.org
aca-guest at users.alioth.debian.org
Sat Oct 22 21:24:07 UTC 2016
The following commit has been merged in the master branch:
commit 247375e8ab9ab2f18a20095d2856154aee40677f
Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
Date: Sat Oct 22 20:46:43 2016 +0200
Add patches from upstream
* doc-fix-spelling-errors.patch (Closes: #839542)
* faq-use-relative-links-to-own-documentation.patch (Closes: #841501)
* ffmpeg_opt-Suggest-to-use-file-.-if-a-protocol-was-not-fo.patch
(Closes: #785690)
* lavf-mp3enc-write-encoder-delay-padding-upon-closing.patch
(Closes: #797965)
* tests-checkasm-pixblockdsp-Test-8-byte-aligned-positions.patch
(LP: #1612058)
diff --git a/debian/patches/doc-fix-spelling-errors.patch b/debian/patches/doc-fix-spelling-errors.patch
new file mode 100644
index 0000000..b4654f6
--- /dev/null
+++ b/debian/patches/doc-fix-spelling-errors.patch
@@ -0,0 +1,240 @@
+From: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Date: Sat, 22 Oct 2016 20:43:40 +0200
+Subject: doc: fix spelling errors
+
+Thanks to Mathieu Malaterre <malat at debian.org> for reporting the
+Que/Queue typo. (https://bugs.debian.org/839542)
+
+Reviewed-by: Lou Logan <lou at lrcd.com>
+Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+---
+ doc/encoders.texi | 2 +-
+ doc/ffprobe.texi | 2 +-
+ doc/filters.texi | 4 ++--
+ ffmpeg.c | 2 +-
+ ffmpeg_cuvid.c | 4 ++--
+ libavcodec/aaccoder_twoloop.h | 2 +-
+ libavcodec/cabac.c | 2 +-
+ libavcodec/ffjni.c | 2 +-
+ libavcodec/mediacodec_wrapper.h | 2 +-
+ libavcodec/psymodel.h | 2 +-
+ libavcodec/x86/vp9lpf_16bpp.asm | 2 +-
+ libavfilter/f_ebur128.c | 2 +-
+ libavformat/internal.h | 2 +-
+ libavutil/frame.h | 2 +-
+ libavutil/tree.h | 2 +-
+ 15 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/doc/encoders.texi b/doc/encoders.texi
+index f38cad3..f2a9950 100644
+--- a/doc/encoders.texi
++++ b/doc/encoders.texi
+@@ -1866,7 +1866,7 @@ Enable CAVLC and disable CABAC. It generates the same effect as
+ @end table
+
+ @item cmp
+-Set full pixel motion estimation comparation algorithm. Possible values:
++Set full pixel motion estimation comparison algorithm. Possible values:
+
+ @table @samp
+ @item chroma
+diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi
+index 2024eed..1069ae3 100644
+--- a/doc/ffprobe.texi
++++ b/doc/ffprobe.texi
+@@ -245,7 +245,7 @@ continue reading from that.
+ Each interval is specified by two optional parts, separated by "%".
+
+ The first part specifies the interval start position. It is
+-interpreted as an abolute position, or as a relative offset from the
++interpreted as an absolute position, or as a relative offset from the
+ current position if it is preceded by the "+" character. If this first
+ part is not specified, no seeking will be performed when reading this
+ interval.
+diff --git a/doc/filters.texi b/doc/filters.texi
+index b482236..c602c72 100644
+--- a/doc/filters.texi
++++ b/doc/filters.texi
+@@ -1120,7 +1120,7 @@ Set video stream size. Only useful if curves option is activated.
+
+ @item mgain
+ Set max gain that will be displayed. Only useful if curves option is activated.
+-Setting this to reasonable value allows to display gain which is derived from
++Setting this to a reasonable value makes it possible to display gain which is derived from
+ neighbour bands which are too close to each other and thus produce higher gain
+ when both are activated.
+
+@@ -16753,7 +16753,7 @@ magnitude across time and second represents phase across time.
+ The filter will transform from frequency domain as displayed in videos back
+ to time domain as presented in audio output.
+
+-This filter is primarly created for reversing processed @ref{showspectrum}
++This filter is primarily created for reversing processed @ref{showspectrum}
+ filter outputs, but can synthesize sound from other spectrograms too.
+ But in such case results are going to be poor if the phase data is not
+ available, because in such cases phase data need to be recreated, usually
+diff --git a/ffmpeg.c b/ffmpeg.c
+index cdded86..80c76dd 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -3546,7 +3546,7 @@ static int check_keyboard_interaction(int64_t cur_time)
+ "+ increase verbosity\n"
+ "- decrease verbosity\n"
+ "c Send command to first matching filter supporting it\n"
+- "C Send/Que command to all matching filters\n"
++ "C Send/Queue command to all matching filters\n"
+ "D cycle through available debug modes\n"
+ "h dump packets/hex press to cycle through the 3 states\n"
+ "q quit\n"
+diff --git a/ffmpeg_cuvid.c b/ffmpeg_cuvid.c
+index 7fb47a2..fe9ce84 100644
+--- a/ffmpeg_cuvid.c
++++ b/ffmpeg_cuvid.c
+@@ -187,7 +187,7 @@ int cuvid_transcode_init(OutputStream *ost)
+ }
+
+ /* This is a bit hacky, av_hwframe_ctx_init is called by the cuvid decoder
+- * once it has probed the neccesary format information. But as filters/nvenc
++ * once it has probed the necessary format information. But as filters/nvenc
+ * need to know the format/sw_format, set them here so they are happy.
+ * This is fine as long as CUVID doesn't add another supported pix_fmt.
+ */
+@@ -229,7 +229,7 @@ error:
+
+ cancel:
+ if (ist->hwaccel_id == HWACCEL_CUVID) {
+- av_log(NULL, AV_LOG_ERROR, "CUVID hwaccel requested, but impossible to achive.\n");
++ av_log(NULL, AV_LOG_ERROR, "CUVID hwaccel requested, but impossible to achieve.\n");
+ return AVERROR(EINVAL);
+ }
+
+diff --git a/libavcodec/aaccoder_twoloop.h b/libavcodec/aaccoder_twoloop.h
+index 42aea52..e44f69a 100644
+--- a/libavcodec/aaccoder_twoloop.h
++++ b/libavcodec/aaccoder_twoloop.h
+@@ -87,7 +87,7 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
+ * will keep iterating until it fails to lower it or it reaches
+ * ulimit * rdlambda. Keeping it low increases quality on difficult
+ * signals, but lower it too much, and bits will be taken from weak
+- * signals, creating "holes". A balance is necesary.
++ * signals, creating "holes". A balance is necessary.
+ * rdmax and rdmin specify the relative deviation from rdlambda
+ * allowed for tonality compensation
+ */
+diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c
+index c0abe83..dd2b057 100644
+--- a/libavcodec/cabac.c
++++ b/libavcodec/cabac.c
+@@ -182,7 +182,7 @@ int ff_init_cabac_decoder(CABACContext *c, const uint8_t *buf, int buf_size){
+ #if CABAC_BITS == 16
+ c->low = (*c->bytestream++)<<18;
+ c->low+= (*c->bytestream++)<<10;
+- // Keep our fetches on a 2-byte boundry as this should avoid ever having to
++ // Keep our fetches on a 2-byte boundary as this should avoid ever having to
+ // do unaligned loads if the compiler (or asm) optimises the double byte
+ // load into a single instruction
+ if(((uintptr_t)c->bytestream & 1) == 0) {
+diff --git a/libavcodec/ffjni.c b/libavcodec/ffjni.c
+index 82ee5d3..cb1884f 100644
+--- a/libavcodec/ffjni.c
++++ b/libavcodec/ffjni.c
+@@ -215,7 +215,7 @@ int ff_jni_exception_get_summary(JNIEnv *env, jthrowable exception, char **error
+ } else if (!name && message) {
+ av_bprintf(&bp, "Exception: %s", message);
+ } else {
+- av_log(log_ctx, AV_LOG_WARNING, "Could not retreive exception name and message\n");
++ av_log(log_ctx, AV_LOG_WARNING, "Could not retrieve exception name and message\n");
+ av_bprintf(&bp, "Exception occurred");
+ }
+
+diff --git a/libavcodec/mediacodec_wrapper.h b/libavcodec/mediacodec_wrapper.h
+index cddd420..1b4f3a9 100644
+--- a/libavcodec/mediacodec_wrapper.h
++++ b/libavcodec/mediacodec_wrapper.h
+@@ -44,7 +44,7 @@
+ * implementation.
+ *
+ * The API around MediaCodecList is not part of the NDK (and is lacking as
+- * we still need to retreive the codec name to work around faulty decoders
++ * we still need to retrieve the codec name to work around faulty decoders
+ * and encoders).
+ *
+ * For documentation, please refers to NdkMediaCodec.h NdkMediaFormat.h and
+diff --git a/libavcodec/psymodel.h b/libavcodec/psymodel.h
+index 35d184c..582f040 100644
+--- a/libavcodec/psymodel.h
++++ b/libavcodec/psymodel.h
+@@ -29,7 +29,7 @@
+ /** maximum number of channels */
+ #define PSY_MAX_CHANS 20
+
+-/* cutoff for VBR is purposedly increased, since LP filtering actually
++/* cutoff for VBR is purposely increased, since LP filtering actually
+ * hinders VBR performance rather than the opposite
+ */
+ #define AAC_CUTOFF_FROM_BITRATE(bit_rate,channels,sample_rate) (bit_rate ? FFMIN3(FFMIN3( \
+diff --git a/libavcodec/x86/vp9lpf_16bpp.asm b/libavcodec/x86/vp9lpf_16bpp.asm
+index c15437b..c088817 100644
+--- a/libavcodec/x86/vp9lpf_16bpp.asm
++++ b/libavcodec/x86/vp9lpf_16bpp.asm
+@@ -78,7 +78,7 @@ SECTION .text
+ %endif
+ %endmacro
+
+-; calulate p or q portion of flat8out
++; calculate p or q portion of flat8out
+ %macro FLAT8OUT_HALF 0
+ psubw m4, m0 ; q4-q0
+ psubw m5, m0 ; q5-q0
+diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
+index 59eaedd..983c889 100644
+--- a/libavfilter/f_ebur128.c
++++ b/libavfilter/f_ebur128.c
+@@ -141,7 +141,7 @@ typedef struct {
+ int loglevel; ///< log level for frame logging
+ int metadata; ///< whether or not to inject loudness results in frames
+ int dual_mono; ///< whether or not to treat single channel input files as dual-mono
+- double pan_law; ///< pan law value used to calulate dual-mono measurements
++ double pan_law; ///< pan law value used to calculate dual-mono measurements
+ } EBUR128Context;
+
+ enum {
+diff --git a/libavformat/internal.h b/libavformat/internal.h
+index 647ad65..31214f9 100644
+--- a/libavformat/internal.h
++++ b/libavformat/internal.h
+@@ -626,7 +626,7 @@ int ff_bprint_to_codecpar_extradata(AVCodecParameters *par, struct AVBPrint *buf
+ * The packet is not removed from the interleaving queue, but only
+ * a pointer to it is returned.
+ *
+- * @param ts_offset the ts difference between packet in the que and the muxer.
++ * @param ts_offset the ts difference between packet in the queue and the muxer.
+ *
+ * @return a pointer to the next packet, or NULL if no packet is queued
+ * for this stream.
+diff --git a/libavutil/frame.h b/libavutil/frame.h
+index 2b5c332..ef87806 100644
+--- a/libavutil/frame.h
++++ b/libavutil/frame.h
+@@ -178,7 +178,7 @@ typedef struct AVFrameSideData {
+ * without breaking compatibility with each other.
+ *
+ * Fields can be accessed through AVOptions, the name string used, matches the
+- * C structure field name for fields accessable through AVOptions. The AVClass
++ * C structure field name for fields accessible through AVOptions. The AVClass
+ * for AVFrame can be obtained from avcodec_get_frame_class()
+ */
+ typedef struct AVFrame {
+diff --git a/libavutil/tree.h b/libavutil/tree.h
+index 9a9e11b..d5e0aeb 100644
+--- a/libavutil/tree.h
++++ b/libavutil/tree.h
+@@ -58,7 +58,7 @@ struct AVTreeNode *av_tree_node_alloc(void);
+ * then the corresponding entry in next is unchanged.
+ * @param cmp compare function used to compare elements in the tree,
+ * API identical to that of Standard C's qsort
+- * It is guranteed that the first and only the first argument to cmp()
++ * It is guaranteed that the first and only the first argument to cmp()
+ * will be the key parameter to av_tree_find(), thus it could if the
+ * user wants, be a different type (like an opaque context).
+ * @return An element with cmp(key, elem) == 0 or NULL if no such element
diff --git a/debian/patches/faq-use-relative-links-to-own-documentation.patch b/debian/patches/faq-use-relative-links-to-own-documentation.patch
new file mode 100644
index 0000000..29781d7
--- /dev/null
+++ b/debian/patches/faq-use-relative-links-to-own-documentation.patch
@@ -0,0 +1,71 @@
+From: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Date: Sat, 22 Oct 2016 20:12:30 +0200
+Subject: faq: use relative links to own documentation
+
+This way locally installed documentation refers to itself instead of the
+website.
+
+Bud-Id: https://bugs.debian.org/841501
+Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+---
+ doc/faq.texi | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/doc/faq.texi b/doc/faq.texi
+index ef111c7..ff35c89 100644
+--- a/doc/faq.texi
++++ b/doc/faq.texi
+@@ -311,18 +311,18 @@ invoking ffmpeg with several @option{-i} options.
+ For audio, to put all channels together in a single stream (example: two
+ mono streams into one stereo stream): this is sometimes called to
+ @emph{merge} them, and can be done using the
+- at url{https://ffmpeg.org/ffmpeg-filters.html#amerge, @code{amerge}} filter.
++ at url{ffmpeg-filters.html#amerge, @code{amerge}} filter.
+
+ @item
+ For audio, to play one on top of the other: this is called to @emph{mix}
+ them, and can be done by first merging them into a single stream and then
+-using the @url{https://ffmpeg.org/ffmpeg-filters.html#pan, @code{pan}} filter to mix
++using the @url{ffmpeg-filters.html#pan, @code{pan}} filter to mix
+ the channels at will.
+
+ @item
+ For video, to display both together, side by side or one on top of a part of
+ the other; it can be done using the
+- at url{https://ffmpeg.org/ffmpeg-filters.html#overlay, @code{overlay}} video filter.
++ at url{ffmpeg-filters.html#overlay, @code{overlay}} video filter.
+
+ @end itemize
+
+@@ -333,19 +333,19 @@ There are several solutions, depending on the exact circumstances.
+
+ @subsection Concatenating using the concat @emph{filter}
+
+-FFmpeg has a @url{https://ffmpeg.org/ffmpeg-filters.html#concat,
++FFmpeg has a @url{ffmpeg-filters.html#concat,
+ @code{concat}} filter designed specifically for that, with examples in the
+ documentation. This operation is recommended if you need to re-encode.
+
+ @subsection Concatenating using the concat @emph{demuxer}
+
+-FFmpeg has a @url{https://www.ffmpeg.org/ffmpeg-formats.html#concat,
++FFmpeg has a @url{ffmpeg-formats.html#concat,
+ @code{concat}} demuxer which you can use when you want to avoid a re-encode and
+ your format doesn't support file level concatenation.
+
+ @subsection Concatenating using the concat @emph{protocol} (file level)
+
+-FFmpeg has a @url{https://ffmpeg.org/ffmpeg-protocols.html#concat,
++FFmpeg has a @url{ffmpeg-protocols.html#concat,
+ @code{concat}} protocol designed specifically for that, with examples in the
+ documentation.
+
+@@ -485,7 +485,7 @@ scaling adjusts the SAR to keep the DAR constant.
+
+ If you want to stretch, or “unstretch”, the image, you need to override the
+ information with the
+- at url{https://ffmpeg.org/ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
++ at url{ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
+
+ Do not forget to examine carefully the original video to check whether the
+ stretching comes from the image or from the aspect ratio information.
diff --git a/debian/patches/ffmpeg_opt-Suggest-to-use-file-.-if-a-protocol-was-not-fo.patch b/debian/patches/ffmpeg_opt-Suggest-to-use-file-.-if-a-protocol-was-not-fo.patch
new file mode 100644
index 0000000..2c41f0c
--- /dev/null
+++ b/debian/patches/ffmpeg_opt-Suggest-to-use-file-.-if-a-protocol-was-not-fo.patch
@@ -0,0 +1,22 @@
+From: Carl Eugen Hoyos <cehoyos at ag.or.at>
+Date: Tue, 6 Sep 2016 12:47:34 +0200
+Subject: ffmpeg_opt: Suggest to use "file:..." if a protocol was not found.
+
+Fixes Debian bug 785690.
+---
+ ffmpeg_opt.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
+index 7785a30..f96c655 100644
+--- a/ffmpeg_opt.c
++++ b/ffmpeg_opt.c
+@@ -982,6 +982,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
+ err = avformat_open_input(&ic, filename, file_iformat, &o->g->format_opts);
+ if (err < 0) {
+ print_error(filename, err);
++ if (err == AVERROR_PROTOCOL_NOT_FOUND)
++ av_log(NULL, AV_LOG_ERROR, "Did you mean file:%s?\n", filename);
+ exit_program(1);
+ }
+ if (scan_all_pmts_set)
diff --git a/debian/patches/lavf-mp3enc-write-encoder-delay-padding-upon-closing.patch b/debian/patches/lavf-mp3enc-write-encoder-delay-padding-upon-closing.patch
new file mode 100644
index 0000000..44cc05b
--- /dev/null
+++ b/debian/patches/lavf-mp3enc-write-encoder-delay-padding-upon-closing.patch
@@ -0,0 +1,79 @@
+From: Jon Toohill <jtoohill at google.com>
+Date: Mon, 17 Oct 2016 14:55:04 -0700
+Subject: lavf/mp3enc: write encoder delay/padding upon closing
+
+Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+---
+ libavformat/mp3enc.c | 34 ++++++++++++++++++++++++++++------
+ 1 file changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/libavformat/mp3enc.c b/libavformat/mp3enc.c
+index de63401..4c97fa1 100644
+--- a/libavformat/mp3enc.c
++++ b/libavformat/mp3enc.c
+@@ -111,6 +111,8 @@ typedef struct MP3Context {
+ uint64_t bag[XING_NUM_BAGS];
+ int initial_bitrate;
+ int has_variable_bitrate;
++ int delay;
++ int padding;
+
+ /* index of the audio stream */
+ int audio_stream_idx;
+@@ -247,12 +249,7 @@ static int mp3_write_xing(AVFormatContext *s)
+ ffio_fill(dyn_ctx, 0, 8); // empty replaygain fields
+ avio_w8(dyn_ctx, 0); // unknown encoding flags
+ avio_w8(dyn_ctx, 0); // unknown abr/minimal bitrate
+-
+- // encoder delay
+- if (par->initial_padding - 528 - 1 >= 1 << 12) {
+- av_log(s, AV_LOG_WARNING, "Too many samples of initial padding.\n");
+- }
+- avio_wb24(dyn_ctx, FFMAX(par->initial_padding - 528 - 1, 0)<<12);
++ avio_wb24(dyn_ctx, 0); // empty encoder delay/padding
+
+ avio_w8(dyn_ctx, 0); // misc
+ avio_w8(dyn_ctx, 0); // mp3gain
+@@ -345,10 +342,24 @@ static int mp3_write_audio_packet(AVFormatContext *s, AVPacket *pkt)
+ #endif
+
+ if (mp3->xing_offset) {
++ uint8_t *side_data = NULL;
++ int side_data_size = 0;
++
+ mp3_xing_add_frame(mp3, pkt);
+ mp3->audio_size += pkt->size;
+ mp3->audio_crc = av_crc(av_crc_get_table(AV_CRC_16_ANSI_LE),
+ mp3->audio_crc, pkt->data, pkt->size);
++
++ side_data = av_packet_get_side_data(pkt,
++ AV_PKT_DATA_SKIP_SAMPLES,
++ &side_data_size);
++ if (side_data && side_data_size >= 10) {
++ mp3->padding = FFMAX(AV_RL32(side_data + 4) + 528 + 1, 0);
++ if (!mp3->delay)
++ mp3->delay = FFMAX(AV_RL32(side_data) - 528 - 1, 0);
++ } else {
++ mp3->padding = 0;
++ }
+ }
+ }
+
+@@ -422,6 +433,17 @@ static void mp3_update_xing(AVFormatContext *s)
+ }
+ }
+
++ /* write encoder delay/padding */
++ if (mp3->delay >= 1 << 12) {
++ mp3->delay = (1 << 12) - 1;
++ av_log(s, AV_LOG_WARNING, "Too many samples of initial padding.\n");
++ }
++ if (mp3->padding >= 1 << 12) {
++ mp3->padding = (1 << 12) - 1;
++ av_log(s, AV_LOG_WARNING, "Too many samples of trailing padding.\n");
++ }
++ AV_WB24(mp3->xing_frame + mp3->xing_offset + 141, (mp3->delay << 12) + mp3->padding);
++
+ AV_WB32(mp3->xing_frame + mp3->xing_offset + XING_SIZE - 8, mp3->audio_size);
+ AV_WB16(mp3->xing_frame + mp3->xing_offset + XING_SIZE - 4, mp3->audio_crc);
+
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..138dd61 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+ffmpeg_opt-Suggest-to-use-file-.-if-a-protocol-was-not-fo.patch
+lavf-mp3enc-write-encoder-delay-padding-upon-closing.patch
+doc-fix-spelling-errors.patch
+faq-use-relative-links-to-own-documentation.patch
+tests-checkasm-pixblockdsp-Test-8-byte-aligned-positions.patch
diff --git a/debian/patches/tests-checkasm-pixblockdsp-Test-8-byte-aligned-positions.patch b/debian/patches/tests-checkasm-pixblockdsp-Test-8-byte-aligned-positions.patch
new file mode 100644
index 0000000..b17e135
--- /dev/null
+++ b/debian/patches/tests-checkasm-pixblockdsp-Test-8-byte-aligned-positions.patch
@@ -0,0 +1,42 @@
+From: Michael Niedermayer <michael at niedermayer.cc>
+Date: Mon, 27 Jun 2016 22:03:14 +0200
+Subject: tests/checkasm/pixblockdsp: Test 8 byte aligned positions
+
+The code is documented as to require 8byte alignment
+
+Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
+---
+ tests/checkasm/pixblockdsp.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/checkasm/pixblockdsp.c b/tests/checkasm/pixblockdsp.c
+index 66bfdb7..2b88e7d 100644
+--- a/tests/checkasm/pixblockdsp.c
++++ b/tests/checkasm/pixblockdsp.c
+@@ -26,7 +26,7 @@
+ #include "libavutil/intreadwrite.h"
+
+ #define BUF_UNITS 8
+-#define BUF_SIZE (BUF_UNITS * 128 + BUF_UNITS)
++#define BUF_SIZE (BUF_UNITS * 128 + 8 * BUF_UNITS)
+
+ #define randomize_buffers() \
+ do { \
+@@ -50,7 +50,7 @@
+ declare_func_emms(AV_CPU_FLAG_MMX, void, int16_t *block, const uint8_t *pixels, ptrdiff_t line_size); \
+ \
+ for (i = 0; i < BUF_UNITS; i++) { \
+- int src_offset = i * 64 * sizeof(type) + i; /* Test various alignments */ \
++ int src_offset = i * 64 * sizeof(type) + 8 * i; /* Test various alignments */ \
+ int dst_offset = i * 64; /* dst must be aligned */ \
+ randomize_buffers(); \
+ call_ref(dst0 + dst_offset, src10 + src_offset, 8); \
+@@ -67,7 +67,7 @@
+ declare_func_emms(AV_CPU_FLAG_MMX, void, int16_t *av_restrict block, const uint8_t *s1, const uint8_t *s2, int stride); \
+ \
+ for (i = 0; i < BUF_UNITS; i++) { \
+- int src_offset = i * 64 * sizeof(type) + i; /* Test various alignments */ \
++ int src_offset = i * 64 * sizeof(type) + 8 * i; /* Test various alignments */ \
+ int dst_offset = i * 64; /* dst must be aligned */ \
+ randomize_buffers(); \
+ call_ref(dst0 + dst_offset, src10 + src_offset, src20 + src_offset, 8); \
--
ffmpeg packaging
More information about the pkg-multimedia-commits
mailing list