Commit Graph

1101 Commits

Author SHA1 Message Date
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
Michael Niedermayer
a9a312d299 Merge commit '3832a6590156e6abc575bed51cbffa78617ee5fd'
* commit '3832a6590156e6abc575bed51cbffa78617ee5fd':
  dsputil: Move ff_alternate_*_scan tables to mpegvideo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:30:45 +02:00
Diego Biurrun
368f50359e dsputil: Split off quarterpel bits into their own context 2014-05-29 06:48:31 -07:00
Diego Biurrun
3832a65901 dsputil: Move ff_alternate_*_scan tables to mpegvideo 2014-05-29 06:41:15 -07:00
Michael Niedermayer
fa0f7c024e Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'
* commit 'a871ef0cc936612bdb0e643196be72efcf0c8986':
  hwaccel: Rename priv_data_size to frame_priv_data_size

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:49:13 +02:00
Anton Khirnov
a871ef0cc9 hwaccel: Rename priv_data_size to frame_priv_data_size
This describes more accurately what this field is for.
2014-05-11 14:59:07 +02:00
Michael Niedermayer
41a679000f avcodec/mpegvideo: fix gray*() parameter types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 17:12:42 +02:00
Michael Niedermayer
c60b266eac avcodec/mpegvideo: support disabling motion compensation
This allows analyzing videos without having prior and current frames mixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 16:51:39 +02:00
Michael Niedermayer
b3d48c315d Merge commit 'c1f92d13589d431e576d719dd44427486a5e05cd'
* commit 'c1f92d13589d431e576d719dd44427486a5e05cd':
  mpegvideo: remove unused MpegEncContext.b4_stride

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:28:51 +02:00
Michael Niedermayer
6a0b5e3476 avcodec/mpegvideo: fix null pointer dereference
Fixes: 111342.ogm with ffplay
Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 14:52:12 +02:00
Anton Khirnov
c1f92d1358 mpegvideo: remove unused MpegEncContext.b4_stride 2014-04-29 14:49:42 +02:00
Michael Niedermayer
9341e9497b Fix overriden typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:20:45 +02:00
Carl Eugen Hoyos
941b2240f2 Do not overwrite VDPAU structures in ff_MPV_frame_start().
Fixes crashes with VDR and MPlayer as reported by irc user crow.
2014-04-18 05:08:24 +02:00
Michael Niedermayer
59a53842d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: operate with pointers to AVFrames instead of whole structs

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/intrax8.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/mpegvideo_xvmc.c
	libavcodec/msmpeg4.c
	libavcodec/ratecontrol.c
	libavcodec/vaapi.c
	libavcodec/vc1dec.c
	libavcodec/vdpau_vc1.c

See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +02:00
wm4
f6774f905f mpegvideo: operate with pointers to AVFrames instead of whole structs
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().

ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.

NULL pointer checks are added to ff_thread_release_buffer() stub function.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-09 02:12:19 +02:00
Michael Niedermayer
72bff8da47 avcodec: Make ff_print_debug_info2() independant of Picture struct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:43:05 +01:00
Michael Niedermayer
6ee2911996 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: drop ff_pixfmt_list_420

Conflicts:
	libavcodec/flvdec.c
	libavcodec/msmpeg4dec.c
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:56:43 +01:00
Vittorio Giovara
6f6c029464 lavc: drop ff_pixfmt_list_420 2014-03-23 01:56:58 +01:00
Michael Niedermayer
329a3286d6 Merge commit 'be039278b5ebd8075d90a3508db2aed5adf59e02'
* commit 'be039278b5ebd8075d90a3508db2aed5adf59e02':
  mpegvideo: move ff_draw_horiz_band() to mpegutils.c

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:23:48 +01:00
Michael Niedermayer
9517900bef Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'
* commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b':
  mpegvideo: move mpegvideo formats-related defines to mpegutils.h

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_mvpred.h
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 12:36:48 +01:00
Michael Niedermayer
8ef9dcf1d7 avcodec/mpegvideo: ff_mpeg_set_erpic() clear destination
Fixes crash

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:13:59 +01:00
Michael Niedermayer
533bc4c0a3 Merge commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672'
* commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672':
  er: move relevant fields from Picture to ERPicture

Conflicts:
	libavcodec/error_resilience.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:08:46 +01:00
Michael Niedermayer
3ddf9b5b77 Merge commit '75af13a'
* commit '75af13a':
  mpegvideo: directly use frames in ff_draw_horiz_band()

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 04:35:48 +01:00
Vittorio Giovara
be039278b5 mpegvideo: move ff_draw_horiz_band() to mpegutils.c
Drop the mpegvideo dependency for svq3 in configure.
2014-03-16 23:05:39 +01:00
Vittorio Giovara
e0c16e4e32 mpegvideo: move mpegvideo formats-related defines to mpegutils.h 2014-03-16 23:04:41 +01:00
Vittorio Giovara
d66e305bd1 er: move relevant fields from Picture to ERPicture
This is done to disentangle ER from mpegvideo. In order to use a
classic Picture, callers can use ff_mpeg_set_erpic() or use a custom function
to set the fields. Please note that buffers need to be allocated before
calling ff_er_frame_end().
2014-03-16 23:01:00 +01:00
Vittorio Giovara
75af13a0e4 mpegvideo: directly use frames in ff_draw_horiz_band() 2014-03-16 23:01:00 +01:00