Commit Graph

29605 Commits

Author SHA1 Message Date
Clément Bœsch
b0352b1997 avcodec: export motion vectors in frame side data on demand
The reasoning behind this addition is that various third party
applications are interested in getting some motion information out of a
video "for free" when it is available.

It was considered to export other information as well (such as the intra
information about the block, or the quantization) but the structure
might have ended up into a half full-generic, half full of codec
specific cruft. If more information is necessary, it should either be
added in the "flags" field of the AVMotionVector structure, or in
another side-data.

This commit also includes an example exporting them in a CSV stream.
2014-08-18 14:13:57 +02:00
Christophe Gisquet
4ddb3a6df0 gifdec: use truncated width for image manipulation
Some files seem to have an off-by-one error. In most cases, it appears to
be on the image width. Therefore, if the decoded image doesn't fit in the
screen:
- If it is wider than the screen (and the lzw decoding buffer), reject it;
- Otherwise, decode the indicated amount, but only write a truncated amount
  to the screen.

Fixes ticket #3538.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 09:49:01 +02:00
Christophe Gisquet
96d2178325 alacenc: fix extra bits extraction
The raw coded bits are extracted prior to decorrelation, as is correctly
performed by the decoder, and not after.

Fixes ticket #2768.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 02:51:34 +02:00
Christophe Gisquet
c0d18cc085 alacenc: increase predictor buffer
This change is almost cosmetical only, and reduces the changes needed to
fix the 24bps case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 02:50:20 +02:00
Piotr Bandurski
a3329a09f9 avcodec/lcldec: fix decoding of YUV444 sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 18:53:06 +02:00
Michael Niedermayer
94f60b6544 avcodec/h264_mb: fix grayscale only decoding with weighted prediction
Fixes Ticket3412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 15:00:16 +02:00
Michael Niedermayer
b6c9266722 avcodec/rpza: fix +- error
Fixes Ticket3471

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 14:39:43 +02:00
Michael Niedermayer
afe23e430e vcodec/rpza: print mismatching size in case of error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 14:30:06 +02:00
Michael Niedermayer
e7f3b507a3 avcodec/mips/compute_antialias_float: remove unused variable
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:41 +02:00
Michael Niedermayer
97bb456b6b avcodec/hevc_mvs: dont redundantly initialize ref_idx_curr
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
0014541e9a avcodec/dvbsubdec: dont mix integers with pointers
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
2d7cec14be avcodec/dvdsubdec: Dont mix integers with pointers
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer
60dbed6067 Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
  cosmetics: Write NULL pointer inequality checks more compactly

Conflicts:
	libavcodec/dvdsubdec.c
	libavcodec/h263dec.c
	libavcodec/libxvid.c
	libavcodec/rv10.c
	libavcodec/utils.c
	libavformat/format.c
	libavformat/matroskadec.c
	libavformat/segment.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Michael Niedermayer
fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer
3bb2297351 Merge commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6'
* commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6':
  build: Add explanatory comments to (optimization) blocks in the Makefiles

Conflicts:
	libavcodec/ppc/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:25:12 +02:00
Michael Niedermayer
c1df467d73 Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b'
* commit '835f798c7d20bca89eb4f3593846251ad0d84e4b':
  mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes

Conflicts:
	libavcodec/h261dec.c
	libavcodec/intrax8.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videoenc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/x86/mpegvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:11:56 +02:00
Gabriel Dume
4b1f5e5090 cosmetics: Write NULL pointer inequality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Gabriel Dume
f929ab0569 cosmetics: Write NULL pointer equality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Diego Biurrun
efd26bedec build: Add explanatory comments to (optimization) blocks in the Makefiles 2014-08-15 02:55:21 -07:00
Diego Biurrun
835f798c7d mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes 2014-08-15 01:26:33 -07:00
Michael Niedermayer
6c1ee1a114 avcodec/h261dec: Fix context initialization sequence
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:53:48 +02:00
Michael Niedermayer
595c63357c Merge commit '552bc42df48784ae3ce0d499ece5b33f3cc7576a'
* commit '552bc42df48784ae3ce0d499ece5b33f3cc7576a':
  h261dec: Fix order of initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:41:47 +02:00
Michael Niedermayer
012062cfd5 Merge commit 'b869eea7ea8f5d8331fcd6355f848bb6a6e06b14'
* commit 'b869eea7ea8f5d8331fcd6355f848bb6a6e06b14':
  h263dec: Fix order of initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:28:49 +02:00
Michael Niedermayer
2fd87a3d78 Merge commit '998c9f15d1ca8c7489775ebcca51623b915988f1'
* commit '998c9f15d1ca8c7489775ebcca51623b915988f1':
  idct: remove call to ff_idctdsp_init from ff_MPV_common_init

Conflicts:
	libavcodec/dnxhdenc.c
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:25:14 +02:00
James Darnley
7ce6c021dc lavc/flacdsp: change lpc_encoder function pointer prototype
This should help to clarify the API.

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 20:11:35 +02:00
John Stebbins
552bc42df4 h261dec: Fix order of initialization
ff_MPV_common_init requires the frame dimensions which get parsed in
h261_decode_picture_header.
2014-08-14 07:58:50 -07:00
John Stebbins
b869eea7ea h263dec: Fix order of initialization
ff_MPV_common_init requires the frame dimensions which get parsed in
*_decode_picture_header.
2014-08-14 07:58:50 -07:00
John Stebbins
998c9f15d1 idct: remove call to ff_idctdsp_init from ff_MPV_common_init
One step in untangling the mpegvideo code and fixing some problems in
the order that initialization is being done in h263dec and h261dec.
2014-08-14 07:58:49 -07:00
Michael Niedermayer
5c7899a483 avcodec/mjpegdec: Support AV_PIX_FMT_YUV420P16 with upscale_h
Fixes assertion failure
Fixes: test42f.jpg
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 16:20:55 +02:00
Christophe Gisquet
58d380f9a7 libavcodec: bump micro to reflect dpx changes
The encoder produces files that are no longer compatible with previous
versions of the decoder, and may actually cause decoding issues for other
software, so indicate that change to allow decoder quirks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 16:05:10 +02:00
Michael Niedermayer
6c36b3afe7 avcodec/lcldec: initialize encoded correctly
Fixes out of array read
Fixes: yuv111_no_compr_crash.avi

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 15:19:47 +02:00
Christophe Gisquet
117bc8e6ff proresenc_kostya: properly account for alpha
The packet buffer allocation considered as dct-coded, while it is
actually run-coded and thus requires a larger buffer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 14:28:58 +02:00
Christophe Gisquet
4ba45c189c dpx: use aligned line starts
SMPTE 268M-2003 specifies that each line starts at a 4-bytes boundary.
Therefore, modify correspondingly the input buffer strides and size.

Partially fixes ticket #3692: DLAD_8b_3c_big.dpx still has inverted
colors, which might be related to endianness.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 13:35:24 +02:00
Michael Niedermayer
b634c12cb9 Merge commit '93f29948e4b06acfb96e7f82d373ef86d6dc55f7'
* commit '93f29948e4b06acfb96e7f82d373ef86d6dc55f7':
  mpeg4video: Fix doxygen comment syntax to document correct struct member

Conflicts:
	libavcodec/mpeg4video.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 12:50:40 +02:00
Nidhi Makhijani
93f29948e4 mpeg4video: Fix doxygen comment syntax to document correct struct member
Also fix some comment typos.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-14 11:59:59 +02:00
Edgar Hucek
ab059f0aa8 vaapi: set the scaling list correctly.
Fixes VAAPI decoding artefacts.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-14 05:50:08 +00:00
Christophe Gisquet
7cdef77b50 dpx: warn if encrypted
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 04:31:07 +02:00
Christophe Gisquet
69849a2d6e dpxenc: enforce alignment requirement
S268M-2003 specifies that each line start is aligned on a 4-byte boundary.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 04:24:14 +02:00
Michael Niedermayer
7b59217b60 Move WMA case from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:03:56 +02:00
Michael Niedermayer
ed488d1535 Move frame_size fallback from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:00:39 +02:00
Ronald S. Bultje
14e3025518 vp9: ignore reference segmentation map if error_resilience flag is set.
Fixes ffvp9_fails_where_libvpx.succeeds.webm from ticket 3849.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 20:46:00 +02:00
James Almer
9f61d6d8fb lavc/dnxhd: ff_dnxhd_cid_table is not exported
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 13:12:52 +02:00
James Darnley
0a52bbdc31 cvcodec/flacdsp_lpc_template: osmetic fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 05:01:35 +02:00
James Darnley
54a51d3840 lavc/flacenc: partially unroll loop in flac_enc_lpc_16
It now does 12 samples per iteration, up from 4.

From 1.8 to 3.2 times faster again.  3.6 to 5.7 times faster overall.
Runtime is reduced by a further 2 to 18%.  Overall runtime reduced by
4 to 50%.

Same conditions as before apply.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 03:09:26 +02:00
James Almer
a8592db9bb avcodec/idctdsp: make add/put_pixels_clamped_c internal functions
This reduces code duplication and differences with the fork.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:44:41 +02:00
James Darnley
0081a14e7d lavc/flacenc: add sse4 version of the 16-bit lpc encoder
From 1.8 to 2.4 times faster.  Runtime is reduced by 2 to 39%.  The
speed-up generally increases with compression_level.

This lpc encoder is not used with levels < 3 so it provides no speed-up
in these cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:14:47 +02:00
Pascal Massimino
298b3b6c1f avcodec: add C xvid IDCT support
Thanks to Pascal Massimino and Michael Militzer for permission to use under LGPL

The xvid idct code is from xvid, and nearly unchanged to make future syncing easy
the integration into ffmpeg is done by the commiter
the commit message is written by the commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 21:58:45 +02:00
Michael Niedermayer
113229922a Merge commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8'
* commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8':
  ffv1dec: check that global parameters do not change in version 0/1

Conflicts:
	libavcodec/ffv1dec.c

See: b05cd1ea7e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 17:09:39 +02:00
Michael Niedermayer
17cbc6457b Merge commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c'
* commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c':
  hevc: use intreadwrite

Conflicts:
	libavcodec/hevc_mvs.c

See: 7a4a5515b0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:39:58 +02:00