Michael Niedermayer
27eeee76b2
mpegvideo_enc: Merge ifs with identical conditions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-25 22:24:13 +01:00
Michael Niedermayer
f0a88d4d2a
mpegvideo_enc: Factor new_picture unref out
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-25 22:23:51 +01:00
Alexis Ballier
6e8d856ad6
libavcodec/mpegvideo_enc.c: Fix encoding videos with less frames than the delay of the encoder.
...
When the encoder is fed with less frames than its delay, the picture list looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the encoder (input frame == NULL), we need to ensure the picture list is shifted enough so that we do not return an empty packet, which would mean the encoder has finished, while it has not encoded any frame.
Before the patch, the command:
'./ffmpeg_g -loglevel debug -f lavfi -i "testsrc=d=0.01" -bf 2 -vcodec mpeg2video out.mxf' prints:
Output stream #0:0 (video): 1 frames encoded; 0 packets muxed (0 bytes);
After:
Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (8058 bytes);
Relates to ticket #4817 .
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:55:40 +02:00
Michael Niedermayer
fd46d6deac
avcodec/mpegvideo_enc: Merge ifs with identical conditions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:44:42 +02:00
Michael Niedermayer
b379e1d6df
avcodec/mpegvideo_enc: Factor new_picture unref out
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-18 11:42:32 +02:00
Christophe Gisquet
9f3bfe30dd
mpegvideo: dnxhdenc: permute 10bits content
...
Dequant or encoding were trying to reverse a scan that hadn't been
applied...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-13 00:01:39 +02:00
Ganesh Ajjanagadde
3be27e07d3
avcodec/mpegvideoenc: fix undefined negative left shift
...
This should fix the first undefined behavior reported in:
https://trac.ffmpeg.org/ticket/4727 .
I can't reproduce the runtime behavior reported in the ticket, hence I
can't confirm that this actually fixes the exact issue reported in the
ticket.
Regardless, I can confirm that this is a genuine issue, and that
negative shifts can (and do) occur, fixed by this.
Tested with FATE.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-09 23:01:55 +02:00
Hendrik Leppkes
5fa5e73e81
Merge commit '1aa24df74c052a73175c43e57d35b4835e537ec8'
...
* commit '1aa24df74c052a73175c43e57d35b4835e537ec8':
lavu: Deprecate AVFrame.error[]
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-03 09:52:39 +02:00
Vittorio Giovara
1aa24df74c
lavu: Deprecate AVFrame.error[]
...
These field are difficult to interpret, and are provided by a single
encoder (mpegvideoenc). In general they do not belong to a structure
containing raw data only, so remove them from AVFrame.
Mpegvideoenc now uses a private field in Picture for its internal
computations.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-30 16:44:33 +02:00
Hendrik Leppkes
773570a9dc
Merge commit 'cf7d2f2d2134c0854edf2db91e7436ac2bc9874f'
...
* commit 'cf7d2f2d2134c0854edf2db91e7436ac2bc9874f':
lavc: Simplify checking quant bias option
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-29 15:27:59 +02:00
Vittorio Giovara
cf7d2f2d21
lavc: Simplify checking quant bias option
2015-09-29 14:33:01 +02:00
Michael Niedermayer
31623e9d1e
avcodec/mpegvideo_enc: Avoid fine lambda steps in VBV retry code when RD is not in use
...
Reduces the number of times the vbv retry code is used and should have no
effect on quality
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-22 21:02:50 +02:00
Michael Niedermayer
58fe57d5a0
avcodec/mpeg12enc: Basic support for encoding non even QPs for -non_linear_quant 1
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-18 02:52:57 +02:00
Michael Niedermayer
90d239a441
avcodec/mpegvideo_enc: Add missing entry to non_linear_qscale table
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-18 02:39:17 +02:00
Michael Niedermayer
7404f3bdb9
lavc: Switch bitrate to 64bit unless compatibility with avconv was requested.
2015-09-15 18:02:43 +02:00
Michael Niedermayer
2c1ec57596
avformat/mpegvideo_enc: Move sponsorship notice to its own comment block
...
Suggested-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-09 02:50:20 +02:00
Michael Niedermayer
124b7cd485
Add NOA credits
2015-09-08 01:04:19 +02:00
Michael Niedermayer
f977e69dac
avcodec/mpegvideo_enc: Ignore QMAX if VBV constraints are exceeded
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-30 05:00:54 +02:00
Michael Niedermayer
bf2474c74f
avcodec/mpeg12enc: extend QP range to 28 for non linear quantizers
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-30 05:00:54 +02:00
Michael Niedermayer
27294bc203
avcodec/mpegvideo_enc: export per frame PSNR through side data
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-28 02:22:22 +02:00
Michael Niedermayer
360cebc9c8
avcodec/mpegvideo_enc: move ff_side_data_set_encoder_stats() call to after the vbv retry code
...
This ensures the data matches the final values
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-28 01:14:02 +02:00
Michael Niedermayer
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 23:15:19 +02:00
Michael Niedermayer
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
lavc: AV-prefix all codec capabilities
Conflicts:
cmdutils.c
ffmpeg.c
ffplay.c
libavcodec/8svx.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/adpcm.c
libavcodec/alac.c
libavcodec/atrac3plusdec.c
libavcodec/bink.c
libavcodec/dnxhddec.c
libavcodec/dvdec.c
libavcodec/dvenc.c
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
libavcodec/fic.c
libavcodec/flacdec.c
libavcodec/flacenc.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/hevc.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopenjpegdec.c
libavcodec/libvo-aacenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec_float.c
libavcodec/msmpeg4dec.c
libavcodec/mxpegdec.c
libavcodec/nvenc_h264.c
libavcodec/nvenc_hevc.c
libavcodec/pngdec.c
libavcodec/qpeg.c
libavcodec/ra288.c
libavcodec/rv10.c
libavcodec/s302m.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tiff.c
libavcodec/tta.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/vp9.c
libavcodec/wavpack.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:50:18 +02:00
Michael Niedermayer
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:10:35 +02:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
4b6b1082a7
lavc: Deprecate avctx.me_method
...
This option is extremely codec specific and only a few codecs employ it.
Move it to codec private options instead: mpegenc family supports only 3
values, xavs and x264 use 5, and xvid has a different metric entirely.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:56 +01:00
Michael Niedermayer
0b6f092ed3
Merge commit '4b6b1082a73907c7c3de2646c6398bc61320f2c6'
...
* commit '4b6b1082a73907c7c3de2646c6398bc61320f2c6':
lavc: Deprecate avctx.me_method
Conflicts:
doc/encoders.texi
libavcodec/avcodec.h
libavcodec/libx264.c
libavcodec/motion_est.c
libavcodec/options_table.h
libavcodec/version.h
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 21:03:20 +02:00
Michael Niedermayer
e36db49b7b
avcodec: Add a min size parameter to ff_alloc_packet2()
...
This parameter can be used to inform the allocation code about how much
downsizing might occur, and can be used to optimize how to allocate the
packet
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 19:57:52 +02:00
Michael Niedermayer
5362df2ee3
avcodec: remove unused sd variables
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 21:04:17 +02:00
Michael Niedermayer
c40ecffd31
Replace AV_PKT_DATA_QUALITY_FACTOR by AV_PKT_DATA_QUALITY_STATS
...
The stats are a superset of the quality factor, also allowing the picture type and encoder "PSNR" stats to be exported
This also replaces the native by fixed little endian order for the affected side data
AV_PKT_DATA_QUALITY_FACTOR is left as a synonym of AV_PKT_DATA_QUALITY_STATS
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 19:31:52 +02:00
Michael Niedermayer
495eee0123
Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'
...
* commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370':
Deprecate avctx.coded_frame
Conflicts:
ffmpeg.c
libavcodec/a64multienc.c
libavcodec/asvenc.c
libavcodec/cljrenc.c
libavcodec/dpxenc.c
libavcodec/gif.c
libavcodec/mpegvideo_enc.c
libavcodec/nvenc.c
libavcodec/proresenc_kostya.c
libavcodec/pthread_frame.c
libavcodec/rawenc.c
libavcodec/sunrastenc.c
libavcodec/tiffenc.c
libavcodec/version.h
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavdevice/v4l2.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 01:17:15 +02:00
Michael Niedermayer
e5bae39f46
Merge commit '5d3addb937946eca5391e40b5e6308e74ac6f77b'
...
* commit '5d3addb937946eca5391e40b5e6308e74ac6f77b':
Add a quality factor packet side data
Conflicts:
doc/APIchanges
ffmpeg.c
libavcodec/avcodec.h
libavcodec/mpegvideo_enc.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 00:54:42 +02:00
Michael Niedermayer
b1fad7ac20
Merge commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534'
...
* commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534':
Gather all coded_frame allocations and free functions to a single place
Conflicts:
libavcodec/a64multienc.c
libavcodec/asvenc.c
libavcodec/cljrenc.c
libavcodec/dpxenc.c
libavcodec/dvenc.c
libavcodec/gif.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libopenjpegenc.c
libavcodec/libtheoraenc.c
libavcodec/libvpxenc.c
libavcodec/mpegvideo_enc.c
libavcodec/nvenc.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/sunrastenc.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/v210enc.c
libavcodec/v410enc.c
libavcodec/xbmenc.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 23:43:05 +02:00
Michael Niedermayer
16b68bd2ee
Merge commit '1f171de8cae9d0c527c5f0bae2a597dbd65fd3a4'
...
* commit '1f171de8cae9d0c527c5f0bae2a597dbd65fd3a4':
mpegvideo_enc: Drop unnneded initialization
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 21:20:51 +02:00
Vittorio Giovara
40cf1bbacc
Deprecate avctx.coded_frame
...
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.
There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.
The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:50 +01:00
Vittorio Giovara
5d3addb937
Add a quality factor packet side data
...
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:47 +01:00
Vittorio Giovara
d6604b29ef
Gather all coded_frame allocations and free functions to a single place
...
Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().
This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:16:15 +01:00
Vittorio Giovara
1f171de8ca
mpegvideo_enc: Drop unnneded initialization
...
coded_frame is already initialized where needed.
2015-07-20 13:57:18 +01:00
Michael Niedermayer
a8ab64d2f7
Merge commit '910247f1720c6aae422723c05dac6d0b19f20bec'
...
* commit '910247f1720c6aae422723c05dac6d0b19f20bec':
lavc: Deprecate avctx.{inter,intra}_quant_bias
Conflicts:
libavcodec/mpegvideo_enc.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 03:40:22 +02:00
Vittorio Giovara
910247f172
lavc: Deprecate avctx.{inter,intra}_quant_bias
...
They are used by dnxhd and mpegvideo_enc exclusively, move them to codec
private options instead.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-02 22:37:59 +01:00
Michael Niedermayer
0ea099ad3e
avcodec/mpegvideo_enc: fix undefined shifts in ff_dct_quantize_c()
...
Fixes: signal_sigsegv_35eac16_2762_cov_2704249783_missing_frames.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 13:40:36 +02:00
Michael Niedermayer
dbf172e6f4
Merge commit 'f1fa1eed2abdc8dfb0af318a43f5d293b81141bd'
...
* commit 'f1fa1eed2abdc8dfb0af318a43f5d293b81141bd':
mpegvideo: Expand macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 21:25:21 +02:00
Michael Niedermayer
b5c71fba59
Merge commit 'e7af52a68dde9144b273a9598b60bf0f56e1323b'
...
* commit 'e7af52a68dde9144b273a9598b60bf0f56e1323b':
mpegvideo: rv10: Move function declaration to a separate header
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 21:05:57 +02:00
Michael Niedermayer
218f58a16a
Merge commit 'e3d0f49abb20a551bf6d885f75c354d6d0bbeb9d'
...
* commit 'e3d0f49abb20a551bf6d885f75c354d6d0bbeb9d':
mpegvideo: h263: Move all tables to a single file
Conflicts:
libavcodec/h263.h
libavcodec/h263data.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 20:57:37 +02:00
Vittorio Giovara
f1fa1eed2a
mpegvideo: Expand macro
...
Having this macro in an header only facilitates the use of such header.
The code increase is minimal and files have one less dependency
on mpegvideo.h.
2015-06-12 12:29:46 +01:00
Vittorio Giovara
e7af52a68d
mpegvideo: rv10: Move function declaration to a separate header
2015-06-12 12:26:54 +01:00
Vittorio Giovara
e3d0f49abb
mpegvideo: h263: Move all tables to a single file
2015-06-12 12:26:04 +01:00
Michael Niedermayer
21d8e2c0b5
Merge commit 'd1dd0d404c085f4fce7b8358b4aea677761c5d88'
...
* commit 'd1dd0d404c085f4fce7b8358b4aea677761c5d88':
mpegvideo: Move block permutation function where is used
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 20:58:32 +02:00
Vittorio Giovara
d1dd0d404c
mpegvideo: Move block permutation function where is used
...
Mark it as static.
2015-06-10 14:06:23 +01:00
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
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
da0c8664b4
mpegvideo: Move various temporary buffers to a separate context
2015-06-08 12:39:42 +01: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
00f3bb2ef2
avcodec/mpegvideo: Factor ff_mpv_reallocate_putbitbuffer() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 14:33:38 +02:00
Michael Niedermayer
561d3a57aa
avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-25 05:14:02 +02: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
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
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
f6c524a939
Merge commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845'
...
* commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845':
h263: Convert function to macro
Conflicts:
libavcodec/h263.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:11:21 +02:00
Vittorio Giovara
0c69164f45
h263: Convert function to macro
2015-04-28 16:33:09 +01:00
Michael Niedermayer
fc83ff80b4
Merge commit '3d71b1f8f09fccea7158e868fb9bd81b81205449'
...
* commit '3d71b1f8f09fccea7158e868fb9bd81b81205449':
mpegvideo_enc: Simplify picture allocation
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 11:29:43 +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
3d71b1f8f0
mpegvideo_enc: Simplify picture allocation
2015-04-19 23:17:56 +01:00
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
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