Commit Graph

463 Commits

Author SHA1 Message Date
Michael Niedermayer
9ecfe0b878 Merge commit 'a72d93daa09ffbad2771f1450820941055eaf210'
* commit 'a72d93daa09ffbad2771f1450820941055eaf210':
  mpegvideo_enc: Check AVCodecContext allocation

Conflicts:
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 21:30:37 +01:00
Vittorio Giovara
a72d93daa0 mpegvideo_enc: Check AVCodecContext allocation 2015-03-12 15:29:59 +00:00
Andreas Cadhalpun
66624ed631 rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Andreas Cadhalpun
2578a54618 avcodec/rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:36:36 +01:00
Michael Niedermayer
9843746570 avcodec/mpegvideo_enc: correctly initialize chroma_intra_matrix for MPEG1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 00:19:22 +01:00
Michael Niedermayer
0bcb040a2e avcodec/mpegvideo_enc: Consider chroma_intra_matrix in dct_quantize_trellis_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 23:58:22 +01:00
Michael Niedermayer
7cac568b39 avcodec/mjpegenc: support trellis quantization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:52:55 +01:00
Michael Niedermayer
7366bb38f1 avcodec/mpegvideo_enc: Add intra_chroma_ac_vlc_length, it will be needed for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:35:53 +01:00
Michael Niedermayer
4531e2c489 avcodec/mpegvideo_enc: Fix number suffixes in rc_buffer_size calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
e18e5ae62c Merge commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a'
* commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a':
  mpegvideo_enc: initialize the encoding context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:36:20 +01:00
Vittorio Giovara
302ca6b20e mpegvideo_enc: initialize the encoding context
This prevents several uninitialized variable uses that take
place towards the end of encoding.

CC: libav-stable@libav.org
Bug-Id: CID 700760
2015-01-29 15:26:33 +00:00
Michael Niedermayer
e40cdf8604 Merge commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf'
* commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf':
  mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions

Conflicts:
	libavcodec/mpegvideo_enc.c

See: 1e78679768
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:03:21 +01:00
Michael Niedermayer
2a06c2a03e mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.

Prior to d2a25c40, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 15:05:49 +02:00
Michael Niedermayer
f96148913b Fix precission typos
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 22:42:42 +01:00
Michael Niedermayer
89388cf60b Merge commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1'
* commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1':
  msmpeg4: check memory allocations and propagate errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:13:24 +01:00
Vittorio Giovara
1c6183233d msmpeg4: check memory allocations and propagate errors
Bug-Id: CID 1257781
2015-01-06 16:43:54 +01:00
Michael Niedermayer
2df5b506ca avcodec/mpegvideo_enc: remove rtp_mode=0 for H261
Suggested-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:50:02 +01:00
Michael Niedermayer
3d8bedef45 Merge commit '91bfac759dfd536e439ad3e35964705012c6a5a7'
* commit '91bfac759dfd536e439ad3e35964705012c6a5a7':
  h261enc: Disallow sliced encoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:10:56 +01:00
Martin Storsjö
91bfac759d h261enc: Disallow sliced encoding
This avoids trying to do sliced encoding, even if a slice/packet
size is requested (via the -ps option or the rtp_payload_size
field), since the encoder currently doesn't support it (or at least
our decoder can't decode it, even if the h261_encode_gob_header
function is hooked up to be called from the slicing part in
mpegvideo_enc.c).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 12:00:01 +02:00
Michael Niedermayer
c96a44d0dd Merge commit '0a6664706168dc1049967bec311970d720581625'
* commit '0a6664706168dc1049967bec311970d720581625':
  mpegvideo_enc: factor out denominator and explicitly cast operands

Conflicts:
	libavcodec/mpegvideo_enc.c

See: c753b56b4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 17:21:36 +01:00
Michael Niedermayer
5241f90058 Merge commit 'e0a1d0a2b04eb5220d00fc7ce46a57cc5e3c7118'
* commit 'e0a1d0a2b04eb5220d00fc7ce46a57cc5e3c7118':
  mpegvideo_enc: rework direct mode check

Conflicts:
	libavcodec/mpegvideo_enc.c

See: ad98567198
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 17:14:38 +01:00
Vittorio Giovara
0a66647061 mpegvideo_enc: factor out denominator and explicitly cast operands
CC: libav-stable@libav.org
Bug-Id: CID 608053
2014-11-06 10:44:46 -05:00
Vittorio Giovara
e0a1d0a2b0 mpegvideo_enc: rework direct mode check
Remove stray semicolon and share codepaths.

CC: libav-stable@libav.org
Bug-Id: CID 991857
2014-11-06 10:44:46 -05:00
Michael Niedermayer
25f4e9387d Merge commit '530c1441fd1426b6a4bb33485ff3226e1ae0ad45'
* commit '530c1441fd1426b6a4bb33485ff3226e1ae0ad45':
  lavc: make lmax/lmin into private options of mpegvideo encoders

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:23:00 +02:00
Michael Niedermayer
709ab39cb9 Merge commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40'
* commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40':
  lavc: make border_masking into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:58:55 +02:00
Michael Niedermayer
1a5871d1be Merge commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866'
* commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866':
  lavc: deprecate unused mb_threshold field

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:42:29 +02:00
Michael Niedermayer
fc67d937cc Merge commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6'
* commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6':
  lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:18:41 +02:00
Michael Niedermayer
ec8f56efad Merge commit 'a75c2eb25a62105c09b48521aef429dc8a231637'
* commit 'a75c2eb25a62105c09b48521aef429dc8a231637':
  lavc: make rc_eq into private options of mpegvideo encoders

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:06:15 +02:00
Michael Niedermayer
17a065cf20 Merge commit '946f95354ba76ef73c9b66889d86ab5fba4fb486'
* commit '946f95354ba76ef73c9b66889d86ab5fba4fb486':
  lavc: make rc_qmod_* into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:52:06 +02:00
Michael Niedermayer
7412835204 Merge commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf'
* commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf':
  lavc: make rc_qsquish a private option of mpegvideo encoders

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:30:38 +02:00
Anton Khirnov
530c1441fd lavc: make lmax/lmin into private options of mpegvideo encoders 2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c lavc: make border_masking into private options of mpegvideo encoders 2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087 lavc: deprecate unused mb_threshold field 2014-10-18 05:28:29 +02:00
Anton Khirnov
66a68ddd1a lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders 2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a lavc: make rc_eq into private options of mpegvideo encoders 2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b lavc: make rc_qmod_* into private options of mpegvideo encoders 2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5 lavc: make rc_qsquish a private option of mpegvideo encoders 2014-10-18 05:21:50 +02:00
Michael Niedermayer
61c0683080 avcodec/mpegvideo_enc: Fix leak on bitstream buffer reallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 05:19:20 +02:00
Michael Niedermayer
1441641d78 avcodec/mpegvideo_enc: Allocate only a small buffer and reallocate as needed
This should reduce the memory requirement

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:50:53 +02:00
Michael Niedermayer
755f7929c6 avcodec/mpegvideo_enc: Only enforce rc_max_available_vbv_use on first encoding attempt
This reduces repeatly re-encoding to achieve VBV compliance

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 23:59:44 +02:00
Michael Niedermayer
303fc9b368 avcodec/mpegvideo_enc: write a log message at verbose level if frame re-encoding occurs due to VBV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 05:28:32 +02:00
Michael Niedermayer
f044fc0372 Merge commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d'
* commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d':
  Split off floating point AAN (I)DCT into separate components

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/dct-test.c
	libavcodec/idctdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 00:54:55 +02:00
Diego Biurrun
1274ea8dba Split off floating point AAN (I)DCT into separate components 2014-09-07 13:36:26 -07:00
ThomasVolkert
50a4d5cfc6 Add support for H.261 RTP payload format (RFC 4587) 2014-08-24 03:53:30 +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