Commit graph

1274 commits

Author SHA1 Message Date
Vittorio Giovara
d1dd0d404c mpegvideo: Move block permutation function where is used
Mark it as static.
2015-06-10 14:06:23 +01:00
Vittorio Giovara
c6aa0554b0 mpegvideo: Drop release_unused_pictures() function
It is only used in one place, and it is small enough that it might be
called directly.
2015-06-10 14:05:53 +01:00
Vittorio Giovara
7061bf0925 mpegvideo: Move Picture-related functions to a separate file 2015-06-10 14:05:32 +01:00
Michael Niedermayer
3244a17650 Merge commit '9bb11be0e5'
* commit '9bb11be0e5':
  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 'f8716a1408'
* commit 'f8716a1408':
  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 'da0c8664b4'
* commit 'da0c8664b4':
  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 '378a00087f'
* commit '378a00087f':
  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 '2f15846ad7'
* commit '2f15846ad7':
  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 'fa1923f182'
* commit 'fa1923f182':
  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 '419e3404d0'
* commit '419e3404d0':
  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 '4e17946f10'
* commit '4e17946f10':
  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 'a3f4c930ac'
* commit 'a3f4c930ac':
  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 'd528045558'
* commit 'd528045558':
  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 '9c1db92ad3'
* commit '9c1db92ad3':
  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 '848e86f74d'
* commit '848e86f74d':
  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 '6a85dfc830'
* commit '6a85dfc830':
  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 'e44b58924f'
* commit 'e44b58924f':
  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 'cf1e0786ed'
* commit 'cf1e0786ed':
  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 'd75190aa93'
* commit 'd75190aa93':
  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