.long_name = NULL_IF_CONFIG_SMALL("Motion JPEG"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
.mime_types= MT("image/jpeg"),
+ .profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
},
{
.id = AV_CODEC_ID_MJPEGB,
#include "mjpeg.h"
#include "mjpegdec.h"
#include "jpeglsdec.h"
+#include "profiles.h"
#include "put_bits.h"
#include "tiff.h"
#include "exif.h"
.capabilities = AV_CODEC_CAP_DR1,
.max_lowres = 3,
.priv_class = &mjpegdec_class,
+ .profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
.hw_configs = (const AVCodecHWConfigInternal*[]) {
#include "mpegvideo.h"
#include "mjpeg.h"
#include "mjpegenc.h"
+#include "profiles.h"
static int alloc_huffman(MpegEncContext *s)
{
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE
},
.priv_class = &mjpeg_class,
+ .profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
};
#endif
{ FF_PROFILE_UNKNOWN }
};
+const AVProfile ff_mjpeg_profiles[] = {
+ { FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT, "Baseline" },
+ { FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT, "Sequential" },
+ { FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT, "Progressive" },
+ { FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS, "Lossless" },
+ { FF_PROFILE_MJPEG_JPEG_LS, "JPEG LS" },
+ { FF_PROFILE_UNKNOWN }
+};
+
#endif /* !CONFIG_SMALL */
extern const AVProfile ff_av1_profiles[];
extern const AVProfile ff_sbc_profiles[];
extern const AVProfile ff_prores_profiles[];
+extern const AVProfile ff_mjpeg_profiles[];
#endif /* AVCODEC_PROFILES_H */
#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 38
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MICRO 102
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \