Commit Graph

1171 Commits

Author SHA1 Message Date
Michael Niedermayer
3244a17650 Merge commit '9bb11be0e5a75782c3139ad058c2b571499aa37d'
* commit '9bb11be0e5a75782c3139ad058c2b571499aa37d':
  mpegvideo: Split picture allocation for encoding and decoding

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:49:26 +02:00
Michael Niedermayer
e05fda99f7 Merge commit 'f8716a1408f4f4ec63857b7015fbd62f9eac344a'
* commit 'f8716a1408f4f4ec63857b7015fbd62f9eac344a':
  mpegvideo: Rework frame_size_alloc function

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:16:36 +02:00
Michael Niedermayer
db8ae37a78 Merge commit 'da0c8664b4dc906696803685f7e53ade68594ab8'
* commit 'da0c8664b4dc906696803685f7e53ade68594ab8':
  mpegvideo: Move various temporary buffers to a separate context

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/rv34.c
	libavcodec/vc1_mc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 21:05:12 +02:00
Vittorio Giovara
9bb11be0e5 mpegvideo: Split picture allocation for encoding and decoding
The main ff_alloc_picture() function is made more generic with all the
parameters necessary as arguments. This will allows to move most of the
related functions to a separate file later.

Right now wrappers are provided to try and minimize the number of
changes in the code.
2015-06-08 12:39:42 +01:00
Vittorio Giovara
f8716a1408 mpegvideo: Rework frame_size_alloc function
Use more generic arguments and remove its static attribute since it will
be moved to a separate file.
2015-06-08 12:39:42 +01:00
Vittorio Giovara
da0c8664b4 mpegvideo: Move various temporary buffers to a separate context 2015-06-08 12:39:42 +01:00
Michael Niedermayer
46428ea332 avcodec/mpegvideo: Use av_memdup() for allocating thread_context
Also check for allocation failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Michael Niedermayer
7ddedd2362 avcodec/mpegvideo: Clear thread_context array before allocating
This is probably redundant but its safer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Michael Niedermayer
f30a7d9861 avcodec/mpegvideo: Merge thread context initialization loops
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-06 22:47:50 +02:00
Clément Bœsch
622ef80e3f avcodec/mpegvideo: use av_clip() instead of nested min & max
Note: MpegEncContext.mb_{y,height} are int fields, as well as local off
variable.
2015-06-06 13:18:28 +02:00
Michael Niedermayer
fd116b8dfa Merge commit '378a00087fdadcc9b34165c05cd10a1a15f3fe61'
* commit '378a00087fdadcc9b34165c05cd10a1a15f3fe61':
  mpegvideo: Move tables to a separate file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:26:36 +02:00
Michael Niedermayer
f5ee10c16a Merge commit '2f15846ad7ad57beb0bca99c624affa0facf284b'
* commit '2f15846ad7ad57beb0bca99c624affa0facf284b':
  mpegvideo: wmv2: Move function declarations

Conflicts:
	libavcodec/wmv2.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 01:09:38 +02:00
Vittorio Giovara
378a00087f mpegvideo: Move tables to a separate file 2015-05-31 13:06:19 +02:00
Vittorio Giovara
2f15846ad7 mpegvideo: wmv2: Move function declarations 2015-05-31 13:06:19 +02:00
Michael Niedermayer
403940de24 avcodec/mpegvideo: Use FFSWAP to exchange pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 14:03:52 +02:00
Michael Niedermayer
d860084c50 avcodec/mpegvideo: Reset bitstream_buffer_size on allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 00:33:18 +02:00
Roman Savchenko
e5d1152ccc avcodec/mpegvideo: Check pointer when allocation fail
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-29 00:29:58 +02:00
Michael Niedermayer
68cce0101d Merge commit 'fa1923f18205410a3b0aa6c0e77cb31443ef340d'
* commit 'fa1923f18205410a3b0aa6c0e77cb31443ef340d':
  mpegvideo: Move ff_*_rl functions to a separate file

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:36:31 +02:00
Michael Niedermayer
9b736f74fc Merge commit '419e3404d07acaac019e8f363c281e17c3a3d622'
* commit '419e3404d07acaac019e8f363c281e17c3a3d622':
  mpegvideo: Drop exchange_uv() function and use its code directly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-28 21:28:09 +02:00
Anton Khirnov
fa1923f182 mpegvideo: Move ff_*_rl functions to a separate file 2015-05-28 15:38:43 +01:00
Vittorio Giovara
419e3404d0 mpegvideo: Drop exchange_uv() function and use its code directly
Code is small enough that there is no advantage in a separate function.
2015-05-28 15:38:43 +01:00
Michael Niedermayer
f275f9eaee Merge commit '4e17946f10d39eec6cc03fb249ae8147373141b6'
* commit '4e17946f10d39eec6cc03fb249ae8147373141b6':
  mpegvideo: Rework various functions not to use MpegEncContext directly

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 22:39:47 +02:00
Michael Niedermayer
179527f34e Merge commit 'a3f4c930ac3f49f47b6e6ffda925d0dcf80320e2'
* commit 'a3f4c930ac3f49f47b6e6ffda925d0dcf80320e2':
  mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 21:17:34 +02:00
Michael Niedermayer
a25ee5f922 Merge commit 'd528045558825f01472e9bee873f60c98d661e53'
* commit 'd528045558825f01472e9bee873f60c98d661e53':
  mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly

Conflicts:
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c

The memset is left in place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 21:15:32 +02:00
Michael Niedermayer
d5227ceff1 Merge commit '9c1db92ad372d4cd69e0490e691c56e4097cb193'
* commit '9c1db92ad372d4cd69e0490e691c56e4097cb193':
  mpegvideo: Drop err_recognition

Conflicts:
	libavcodec/h263dec.c
	libavcodec/ituh263dec.c
	libavcodec/mpeg4video.h
	libavcodec/mpeg4videodec.c
	libavcodec/msmpeg4dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 20:38:42 +02:00
Michael Niedermayer
d9b264bc73 Merge commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42'
* commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42':
  mpegvideo: Drop flags and flags2

Conflicts:
	libavcodec/mpeg12dec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/ratecontrol.c
	libavcodec/vc1_block.c
	libavcodec/vc1_loopfilter.c
	libavcodec/vc1_mc.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22 20:24:41 +02:00
Vittorio Giovara
4e17946f10 mpegvideo: Rework various functions not to use MpegEncContext directly 2015-05-22 15:34:39 +01:00
Vittorio Giovara
a3f4c930ac mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly 2015-05-22 15:34:39 +01:00
Vittorio Giovara
d528045558 mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly
This skips setting the memory to 0 but allows for reuse on different
contextes. Oracle did not report any unsual activity because of it.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
9c1db92ad3 mpegvideo: Drop err_recognition
It is just a duplicate of an AVCodecContext member so use it instead.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
848e86f74d mpegvideo: Drop flags and flags2
They are just duplicates of AVCodecContext members so use those instead.
2015-05-22 15:34:39 +01:00
Michael Niedermayer
cf31e2df08 avcodec/mpegvideo: Fix null pointer dereference with grayscale decoding with mpeg2_field_encoding.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 17:10:26 +02:00
Michael Niedermayer
9ba5dd37a9 avcodec/mpegvideo: Fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 12:03:36 +02:00
Michael Niedermayer
82a6e18bbb avcodec/mpegvideo: Fix -flags +gray with xvid_vlc_trac7411.h263
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 01:36:53 +02:00
Michael Niedermayer
8f7b022c8c Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25':
  lavc: Replace av_dlog and tprintf with internal macros

Conflicts:
	libavcodec/aacdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/bitstream.c
	libavcodec/dcadec.c
	libavcodec/dnxhddec.c
	libavcodec/dvbsubdec.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/get_bits.h
	libavcodec/gifdec.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c
	libavcodec/imc.c
	libavcodec/interplayvideo.c
	libavcodec/jpeglsdec.c
	libavcodec/libopencore-amr.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_parser.c
	libavcodec/pngdec.c
	libavcodec/ratecontrol.c
	libavcodec/rv10.c
	libavcodec/svq1dec.c
	libavcodec/vqavideo.c
	libavcodec/wmadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 04:10:10 +02:00
Vittorio Giovara
6a85dfc830 lavc: Replace av_dlog and tprintf with internal macros 2015-04-19 12:41:59 +01:00
Michael Niedermayer
44309dd294 avcodec/mpegvideo: support mbskip_table==NULL in ff_print_debug_info2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:28:56 +01:00
Michael Niedermayer
2391e46430 avcodec/mpegvideo: Fix undefined shift in ff_mpv_lowest_referenced_row()
Also moves the shift out of the inner loop

Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-11 17:59:59 +01:00
Michael Niedermayer
111456682f avcodec/mpegvideo: Fix undefined shifts in ff_init_block_index()
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 21:25:33 +01:00
Michael Niedermayer
a6baef6517 avcodec/mpegvideo: Fix memleak of mvs
Fixes CID1271053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:18:26 +01:00
Michael Niedermayer
3c831fba08 Merge commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9'
* commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9':
  lavc: deprecate unused AVCodecContext.stream_codec_tag

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:08:40 +01:00
Michael Niedermayer
3d04117078 Merge commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094'
* commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094':
  error_resilience: move the MECmpContext initialization into ER code

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:56:52 +01:00
Anton Khirnov
e44b58924f lavc: deprecate unused AVCodecContext.stream_codec_tag 2015-01-27 09:14:39 +01:00
Anton Khirnov
cf1e0786ed error_resilience: move the MECmpContext initialization into ER code
Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.
2015-01-27 09:07:59 +01:00
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