Michael Niedermayer
3e1507a954
avcodec/mjpegenc: Bypass the 2 pass encoding when optimal tables are not requested
...
This limits the bugs, speedloss and extra memory allocation to the case when
optimal tables are needed.
Fixes regressions with slice multi-threading
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-10 00:12:01 +01:00
Michael Niedermayer
f57665b318
avcodec/mjpegenc: Revert some differences in ff_mjpeg_encode_mb() relative to pre optimal huffman
...
The changes are not needed anymore and the return code was never used
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-10 00:12:01 +01:00
Michael Niedermayer
daccbe81a2
avcodec/mjpegenc: Drop i_tex misuse, set itex/header bits correctly, fix 2pass encoding
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-10 00:12:01 +01:00
Michael Niedermayer
e10bd12c25
avcodec/mjpegenc: Remove non functional huffman reallocation and error handling
...
If this is wanted iam not against it but it must be designed to work with all cases
like slice threads, and a single growing buffer does not work very well with slices.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-10 00:12:01 +01:00
Rostislav Pehlivanov
a70f0927ea
mjpegenc: use s->avctx as a context for av_log rather than NULL
...
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-09 03:01:58 +00:00
Rostislav Pehlivanov
d164ef6589
mjpegenc_common: add missing ff_ prefix to init_uni_ac_vlc
...
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-09 02:56:13 +00:00
Jerry Jiang
884506dfe2
Implement optimal huffman encoding for (M)JPEG.
...
> seems to break
> make fate-vsynth1-mjpeg-444
Fixed.
2017-02-08 13:59:53 +00:00
Derek Buitenhuis
c4ef6c883b
mjpegenc: Remove duplicate initializer
...
This was causing c99conv to crash.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 22:14:27 +00:00
Derek Buitenhuis
f3af379b5c
Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'
...
* commit '2862b63783b5556f7f3fb2d097629bc6879f833a':
lavc: Move prediction_method to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 16:49:19 +00:00
Vittorio Giovara
2862b63783
lavc: Move prediction_method to codec private options
...
This options is only used by huffyuv, ffvhuv, jpegls, mjpeg,
mpegvideoenc, png, utvideo.
It is a very codec-specific options, so deprecate the global variant.
Set proper limits to the maximum allowed values, and update utvideoenc
tests to use the new option name.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Ronald S. Bultje
2fb593dcb9
Put remaining pieces of CODEC_FLAG_EMU_EDGE under FF_API_EMU_EDGE.
...
The amv one probably looks suspicious, but since it's an intra-only
codec, I couldn't possibly imagine what it would use the edge for,
and the vsynth fate result doesn't change, so it's probably OK.
2015-08-28 14:40:59 -04: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
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
a105931d3e
Merge commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8'
...
* commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8':
build: Split JPEG-related tables off into a separate component
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:11:02 +02:00
Diego Biurrun
4978850ca2
build: Split JPEG-related tables off into a separate component
2015-03-30 17:51:21 +02:00
Michael Niedermayer
f8b743b9e6
avcodec/mjpegenc: Mark ff_mjpeg_encode_close() as av_cold
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:25 +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
Vittorio Giovara
db71c4926d
mjpegenc: fix argument size in encode_mb
...
CC: libav-stable@libav.org
Bug-Id: CID 1047235
2014-11-11 11:41:49 +01:00
Michael Niedermayer
0c6c5d7bcb
avcodec/mjpegenc: use av_freep(), avoid leaving stale pointers in memory
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 13:36:19 +01:00
Michael Niedermayer
ae6ba2db8f
avcodec/mjpegenc: add priv_class to encoders
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:13:20 +02:00
Michael Niedermayer
b227be34db
avcodec/mjpegenc: the AMV encoder doesnt support yuv422
...
Fixes Ticket3883
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 17:09:38 +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
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
2014-08-15 01:26:33 -07:00
Nidhi Makhijani
c3ec963d0d
mjpeg: return proper error code
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 01:25:33 -07:00
Michael Niedermayer
909f53f2b2
Merge commit 'adcb8392c9b185fd8a91a95fa256d15ab1432a30'
...
* commit 'adcb8392c9b185fd8a91a95fa256d15ab1432a30':
mjpeg: Split off bits shared by MJPEG and LJPEG encoders
Conflicts:
libavcodec/mjpegenc.c
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 13:33:11 +02:00
Diego Biurrun
adcb8392c9
mjpeg: Split off bits shared by MJPEG and LJPEG encoders
...
This obviates a dependency of the LJPEG encoder on mpegvideo.
2014-06-30 07:53:40 -07:00
Michael Niedermayer
d41a4a765b
avcodec/mjpegenc: allow encoding amv with height % 16 != 0 when strict -1 is set
...
This should make it simpler for users to test if such videos work
Suggested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:04:54 +02:00
Reimar Döffinger
6d695d7acc
Fix nonsense non-mod16 AMV flipping code.
...
It is obviously nonsense since it produces wrong results
or even crashes (crashes should be encode-only though).
Fixes trac issue #1092 .
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:47:07 +02:00
Michael Niedermayer
181b2c3724
avcodec/mjpegenc: disallow encoding amv with height%16!=0
...
I do not know on which side to place the padding to encode with 16x16 MBs
If someone knows or has a known to be correct sample, please contact me
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 04:00:47 +02:00
Michael Niedermayer
256f530603
avcodec/mjpegen: Fix declared argument size
...
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:14:14 +02:00
Michael Niedermayer
a26e9c1040
avcodec/mjpegenc: Use av_frame_clone() instead of av_frame_ref()
...
This avoids the need for double error checking
Fixes CID1163843
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-24 03:24:55 +01:00
Michael Niedermayer
7dc0aba3fb
avcodec/mjpegenc: use a seperate chroma matrix when luma and chroma differ
...
drop hardcoded TWOMATRIX code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 21:45:41 +01:00
Michael Niedermayer
859d74040e
avcodec/mjpegenc: pass chroma quantization matrix through as well, not just luma
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 21:26:51 +01:00
Nicolas George
2ebaadf35c
lavc/mjpegenc: use proper error codes.
2013-12-30 10:58:02 +01:00
Nicolas George
19a2d101ac
lavc/mjpegenc: check av_frame_alloc() failure.
2013-12-30 10:58:02 +01:00
Michael Niedermayer
5b3f4b3ef5
avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 16:32:09 +01:00
Michael Niedermayer
2b215f3939
mjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out
...
This reduces the amount of duplicated code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:31:23 +01:00
Michael Niedermayer
9a0d719b10
avcodec/mjpegenc/ff_mjpeg_escape_FF: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:19:11 +01:00
Michael Niedermayer
fb98ca575d
Merge commit 'daffed3b173c59d64907747bf3309e98a8974f4e'
...
* commit 'daffed3b173c59d64907747bf3309e98a8974f4e':
ljpegenc: accept bgr24 instead of bgra
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c
Only whitespace merged, we continue to support both formats
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:48:20 +01:00
Michael Niedermayer
0ebdf8d9ec
avcodec/mjpegenc: fix and use lossless flag in ff_mjpeg_encode_picture_header()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:31:14 +01:00
Michael Niedermayer
93947d88f2
Merge commit '24abd806ea0cfb0d988d2f0044eac79cff12918c'
...
* commit '24abd806ea0cfb0d988d2f0044eac79cff12918c':
ljpegenc: deMpegEncContextize
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
tests/ref/vsynth/vsynth1-ljpeg
tests/ref/vsynth/vsynth2-ljpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:30:23 +01:00
Michael Niedermayer
978ae13f23
avcodec/mjpegenc: move end padding/alignment to ff_mjpeg_escape_FF()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 12:01:28 +01:00
Michael Niedermayer
9fcd58ab26
avcodec/mjpegenc: make escape_FF() non static
...
This will be used by ljpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:49:53 +01:00
Michael Niedermayer
0f057ea3c5
Merge commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d'
...
* commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
Conflicts:
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:40:30 +01:00
Michael Niedermayer
b342ea603f
Merge commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed'
...
* commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:33:07 +01:00
Michael Niedermayer
d8fb209a7f
Merge commit '058d5f2feb730846f22c1812e433f92f670ad751'
...
* commit '058d5f2feb730846f22c1812e433f92f670ad751':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
Conflicts:
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:16:05 +01:00
Michael Niedermayer
5cda499d66
Merge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'
...
* commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7':
mjpegenc: do not pass MpegEncContext to jpeg_table_header()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 10:28:20 +01:00
Michael Niedermayer
4a0d8277d5
Merge commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9'
...
* commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9':
mjpegenc: do not pass MpegEncContext to put_huffman_table()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 05:01:07 +01:00
Michael Niedermayer
b22c16daaf
Merge commit 'a1ba1f20b350cb89e645f17bdb237d027170db33'
...
* commit 'a1ba1f20b350cb89e645f17bdb237d027170db33':
mjpegenc: cosmetics, reformat jpeg_put_comments()
Conflicts:
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 04:25:56 +01:00
Michael Niedermayer
fb06b8ba93
Merge commit '0812f5a40a0a190172b6de6e91755b882472ddc5'
...
* commit '0812f5a40a0a190172b6de6e91755b882472ddc5':
mjpegenc: write the JFIF header if the sample aspect ratio is set
Conflicts:
libavcodec/mjpegenc.c
See: f3ce748d34
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 04:19:26 +01:00