Commit Graph

1127 Commits

Author SHA1 Message Date
Michael Niedermayer
146a2c4e7f avcodec/mpegvideo: also export 0,0 motion vectors
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 12:36:45 +01:00
Michael Niedermayer
38c3ffbd55 Merge commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1'
* commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1':
  mpegvideo: move REBASE_PICTURE where it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:27:10 +01:00
Vittorio Giovara
d75190aa93 mpegvideo: move REBASE_PICTURE where it is used
Drop an unused #undef from h264 decoder.
2014-12-15 15:46:34 +01:00
Michael Niedermayer
9222a176e1 Merge commit 'c45eeb2dbf42382d335da8068231a8026c08843b'
* commit 'c45eeb2dbf42382d335da8068231a8026c08843b':
  mpegvideo: replace assert about interlaced EC with debug av_log()

Conflicts:
	libavcodec/mpegvideo.c

See: c88bbc01eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:48:47 +01:00
Michael Niedermayer
894545cb71 mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:52:53 +00:00
Michael Niedermayer
7a38987f24 mpegvideo: free_context_frame() cannot fail, make it return void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:52:04 +00:00
Michael Niedermayer
c45eeb2dbf mpegvideo: replace assert about interlaced EC with debug av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:51:43 +00:00
Michael Niedermayer
9311026ec7 Merge commit '898e9a24ef13d8c56b4abf4ee0af09cdb0343e2d'
* commit '898e9a24ef13d8c56b4abf4ee0af09cdb0343e2d':
  mpegvideo: check mpv return value

Conflicts:
	libavcodec/mpegvideo.c

See: f4d73f0fb5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:22:09 +01:00
Vittorio Giovara
898e9a24ef mpegvideo: check mpv return value
CC: libav-stable@libav.org
Bug-Id: CID 1238786
2014-11-11 11:26:02 +01:00
Michael Niedermayer
743d489c9a avcodec/mpegvideo: Use FF_ALLOCZ_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 20:50:32 +02:00
Michael Niedermayer
cfce6f7efd avcodec/mpegvideo: Set err on failure in ff_mpv_common_frame_size_change()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 14:26:19 +02:00
Michael Niedermayer
0d0f7f0ba4 avcodec/mpegvideo: check that the context is initialized in ff_mpv_common_frame_size_change()
The function otherwise would initialize the context without setting context_initialized
alternatively we could set context_initialized

Fixes valgrind anomalies related to ticket 3928

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Michael Niedermayer
2762323c37 avcodec/mpegvideo: Use "goto fail" for all error paths in ff_mpv_common_frame_size_change()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Michael Niedermayer
94c61cd9ae avcodec/mpegvideo: free_context_frame() cannot fail, make it return void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Michael Niedermayer
dcb29d37d4 avcodec/mpegvideo: set codec tags in ff_mpv_decode_init()
Fixes Ticket3912

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:48:23 +02:00
Michael Niedermayer
4dee4a4470 avcodec/mpegvideo: Factor ff_mpv_decode_init() out
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:48:06 +02:00
Reimar Döffinger
e48cd2de98 rl.h: Use on-stack temporary VLC tables instead of having them static.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:28 +02:00
Reimar Döffinger
2ca78936c7 rl.h: remove deprecated and now unused vlc member.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:27 +02:00
Clément Bœsch
f888331769 avfilter: add codecview filter 2014-08-24 14:35:11 +02:00
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
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
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
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
835f798c7d mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes 2014-08-15 01:26:33 -07: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
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
c933f2c4cc Merge commit '16e6652286213014c28a9c3af70435e767d28638'
* commit '16e6652286213014c28a9c3af70435e767d28638':
  aarch64: NEON intrinsics dct_unquantize_h263.

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 03:35:29 +02:00
James Yu
16e6652286 aarch64: NEON intrinsics dct_unquantize_h263.
Intrinsics only used on aarch64 since the existing ARMv7 NEON asm
is slightly faster (Cortex-A9, gcc-4.8, micro-benchmarks and full
decoding time).

Signed-off-by: James Yu <james.yu@linaro.org>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-07-21 23:18:29 +02:00
Michael Niedermayer
3a2d1465c8 Merge commit '2d60444331fca1910510038dd3817bea885c2367'
* commit '2d60444331fca1910510038dd3817bea885c2367':
  dsputil: Split motion estimation compare bits off into their own context

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/arm/Makefile
	libavcodec/dvenc.c
	libavcodec/error_resilience.c
	libavcodec/h264.h
	libavcodec/h264_slice.c
	libavcodec/me_cmp.c
	libavcodec/me_cmp.h
	libavcodec/motion_est.c
	libavcodec/motion_est_template.c
	libavcodec/mpeg4videoenc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/me_cmp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Diego Biurrun
2d60444331 dsputil: Split motion estimation compare bits off into their own context 2014-07-17 09:07:10 -07:00
Michael Niedermayer
f32c5d1a8d avcodec/mpegvideo: clip mv visualization arrows so that their direction is maintained
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 16:04:32 +02:00
Michael Niedermayer
c8b2cf4996 avcodec/mpegvideo: flip motion vector visualization for backward motion vectors
Also support changing arrow head/tail shape

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 03:07:25 +02:00
Clément Bœsch
7ac7e8793d avcodec/mpegvideo: small indent fix in vismv code 2014-07-07 11:26:26 +02:00
Michael Niedermayer
581b5f0b9b Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
  dsputil: Split off IDCT bits into their own context

Conflicts:
	configure
	libavcodec/aic.c
	libavcodec/arm/Makefile
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/asvdec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.c
	libavcodec/dvdec.c
	libavcodec/dxva2_mpeg2.c
	libavcodec/intrax8.c
	libavcodec/mdec.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc_common.h
	libavcodec/mpegvideo.c
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/idctdsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:22:11 +02:00
Diego Biurrun
e3fcb14347 dsputil: Split off IDCT bits into their own context 2014-06-30 07:58:46 -07:00
Michael Niedermayer
504475f38e avcodec/mpegvideo: dont overwrite emu_edge buffer
Fixes vsynth3 fate failures on mips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 06:28:21 +02:00
Michael Niedermayer
d7463c6813 Merge commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf'
* commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf':
  dsputil: Split off global motion compensation bits into a separate context

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 21:10:10 +02:00
Diego Biurrun
fab9df63a3 dsputil: Split off global motion compensation bits into a separate context 2014-06-23 09:58:17 -07:00
Michael Niedermayer
56afbe8dbc Merge commit '7b9ef8d701c319c26f7d0664fe977e176764c74e'
* commit '7b9ef8d701c319c26f7d0664fe977e176764c74e':
  mpeg: Split error resilience bits off into a separate file

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 03:48:30 +02:00
Diego Biurrun
7b9ef8d701 mpeg: Split error resilience bits off into a separate file 2014-06-22 17:36:37 -07:00
Michael Niedermayer
412015694c Merge commit '8d695dc411c1ae28477f107d6f7bf2db59af95df'
* commit '8d695dc411c1ae28477f107d6f7bf2db59af95df':
  mpeg: Mark ff_mpeg_set_erpic() static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:57:47 +02:00
Diego Biurrun
8d695dc411 mpeg: Mark ff_mpeg_set_erpic() static
It is not used outside of the file.
2014-06-22 06:28:46 -07:00
Michael Niedermayer
2b05db4f81 Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'
* commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9':
  dsputil: Split clear_block*/fill_block* off into a separate context

Conflicts:
	configure
	libavcodec/asvdec.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.h
	libavcodec/eamad.c
	libavcodec/intrax8.c
	libavcodec/mjpegdec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/vc1dec.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 04:54:38 +02:00
Diego Biurrun
e74433a8e6 dsputil: Split clear_block*/fill_block* off into a separate context 2014-06-18 14:07:23 -07:00
Carl Eugen Hoyos
076ab9f7e3 Fix all VDPAU decoders.
Fixes ticket #3726.
2014-06-18 13:55:26 +02:00
Michael Niedermayer
dffb85a982 avcodec/mpegvideo: check that linesize is not too small
Note linesize is rounded up to at least a multiple of 8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 18:40:21 +02:00
Michael Niedermayer
c5fc8ae126 avcodec/mpegvideo: fix edge emulation with uvlinesize below 25
Fixes fate-vsynth3-wmv2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 01:56:01 +02:00
Michael Niedermayer
67911cc57b Merge commit '0ddc53dabbc6f636d062b187ea27934610aaad30'
* commit '0ddc53dabbc6f636d062b187ea27934610aaad30':
  mpegvideo: synchronize AVFrame pointers in ERContext fully

Conflicts:
	libavcodec/mpegvideo.c

See: 8ef9dcf1d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:30:49 +02:00
Janne Grunau
0ddc53dabb mpegvideo: synchronize AVFrame pointers in ERContext fully
Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <magsoft@videolan.org>.
2014-06-11 21:28:27 +02:00
Michael Niedermayer
98a6806fdd Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a'
* commit '368f50359eb328b0b9d67451f56fda20b3255f9a':
  dsputil: Split off quarterpel bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/vc1dec.c
	libavcodec/vc1dsp.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/qpeldsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 02:43:34 +02:00