Limin Wang
467d9e27e0
avcodec: Add FF_CODEC_CAP_INIT_CLEANUP
...
then ff_mpv_encode_end() will be unnecessary in ff_mpv_encode_init()
if it's failed.
The FF_CODEC_CAP_INIT_CLEANUP flag is need for single thread, For multithread,
it'll be cleanup still by AV_CODEC_CAP_FRAME_THREADS flag if have.
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-27 21:59:51 +08:00
James Almer
13b1bbff0b
avcodec: deprecate Lossless and Intra Only encoder capabilites
...
Both are codec properties and not encoder capabilities. The relevant
AVCodecDescriptor.props flags exist for this purpose.
Signed-off-by: James Almer <jamrial@gmail.com>
2020-05-21 12:32:15 -03:00
Vittorio Giovara
d37faad0cd
mjpeg: Use profile names in the encoder and decoder
2018-11-05 12:39:23 -05:00
James Almer
7b550c5f84
Merge commit 'b3739599bda740ac12d3dde31a331b744df99123'
...
* commit 'b3739599bda740ac12d3dde31a331b744df99123':
lavc: Drop deprecated emu edge functionality
Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 16:04:31 -03:00
Davinder Singh
4116b2b136
avcodec/mjpegenc: cosmetic changes
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-11 04:28:52 +02:00
Davinder Singh
1939b90306
avcodec/mjpegenc: disable unused code with AMV
...
disable unused amv_encode_picture() when AMV encoder is not configured.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-11 04:28:52 +02:00
James Almer
2cb656ad11
avcodec/mjpegenc: move ff_mjpeg_encode_picture_frame to mjpegenc_common
...
Fixes compilation of ljpeg encoder if mjpeg and amv encoders are disabled
2017-05-08 11:33:57 -03:00
Rostislav Pehlivanov
45eeb1f785
mjpegenc: enable optimal huffman coding by default
...
As it gives excellent encoding gains at an insignificant speed increase
and passes fate without problems, it should now be safe to enable by
default.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-09 00:00:39 +01:00
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
Diego Biurrun
0f40c90984
Drop pointless assert.h #includes
2016-05-03 15:45:10 +02: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