diff --git a/man/ustreamer.1 b/man/ustreamer.1 index a2c8d17..ffba925 100644 --- a/man/ustreamer.1 +++ b/man/ustreamer.1 @@ -23,7 +23,7 @@ For example, the recommended way of running µStreamer with Auvidea B101 on a Ra .RS \fB\-\-format=uyvy \e\fR # Device input format .nf -\fB\-\-encoder=m2m-jpeg \e\fR # Hardware encoding with V4L2 M2M intraface +\fB\-\-encoder=m2m-image \e\fR # Hardware encoding with V4L2 M2M intraface .nf \fB\-\-workers=3 \e\fR # Maximum workers for V4L2 encoder .nf @@ -93,9 +93,9 @@ CPU ─ Software MJPEG encoding (default). HW ─ Use pre-encoded MJPEG frames directly from camera hardware. -M2M-MJPEG ─ GPU-accelerated MJPEG encoding. +M2M-VIDEO ─ GPU-accelerated MJPEG encoding. -M2M-JPEG ─ GPU-accelerated JPEG encoding. +M2M-IMAGE ─ GPU-accelerated JPEG encoding. NOOP ─ Don't compress MJPEG stream (do nothing). .TP diff --git a/src/ustreamer/encoder.c b/src/ustreamer/encoder.c index 1288d40..f838638 100644 --- a/src/ustreamer/encoder.c +++ b/src/ustreamer/encoder.c @@ -29,8 +29,11 @@ static const struct { } _ENCODER_TYPES[] = { {"CPU", ENCODER_TYPE_CPU}, {"HW", ENCODER_TYPE_HW}, - {"M2M-MJPEG", ENCODER_TYPE_M2M_MJPEG}, - {"M2M-JPEG", ENCODER_TYPE_M2M_JPEG}, + {"M2M-VIDEO", ENCODER_TYPE_M2M_VIDEO}, + {"M2M-IMAGE", ENCODER_TYPE_M2M_IMAGE}, + {"M2M-MJPEG", ENCODER_TYPE_M2M_VIDEO}, + {"M2M-JPEG", ENCODER_TYPE_M2M_IMAGE}, + {"OMX", ENCODER_TYPE_M2M_IMAGE}, {"NOOP", ENCODER_TYPE_NOOP}, }; @@ -73,9 +76,6 @@ void encoder_destroy(encoder_s *enc) { } encoder_type_e encoder_parse_type(const char *str) { - if (!strcasecmp(str, "OMX")) { - return ENCODER_TYPE_M2M_JPEG; // Just for compatibility - } for (unsigned index = 0; index < ARRAY_LEN(_ENCODER_TYPES); ++index) { if (!strcasecmp(str, _ENCODER_TYPES[index].name)) { return _ENCODER_TYPES[index].type; @@ -114,7 +114,7 @@ workers_pool_s *encoder_workers_pool_init(encoder_s *enc, device_s *dev) { quality = DR(jpeg_quality); n_workers = 1; - } else if (type == ENCODER_TYPE_M2M_MJPEG || type == ENCODER_TYPE_M2M_JPEG) { + } else if (type == ENCODER_TYPE_M2M_VIDEO || type == ENCODER_TYPE_M2M_IMAGE) { LOG_DEBUG("Preparing M2M encoder ..."); if (ER(m2ms) == NULL) { A_CALLOC(ER(m2ms), n_workers); @@ -122,7 +122,7 @@ workers_pool_s *encoder_workers_pool_init(encoder_s *enc, device_s *dev) { // Начинаем с нуля и доинициализируем на следующих заходах при необходимости if (ER(n_m2ms) < n_workers) { - if (type == ENCODER_TYPE_M2M_MJPEG) { + if (type == ENCODER_TYPE_M2M_VIDEO) { double b_min = ENCODER_M2M_BITRATE_MIN; double b_max = ENCODER_M2M_BITRATE_MAX; double step = ENCODER_M2M_BITRATE_STEP; @@ -237,7 +237,7 @@ static bool _worker_run_job(worker_s *wr) { LOG_VERBOSE("Compressing buffer using HW (just copying)"); hw_encoder_compress(src, dest); - } else if (ER(type) == ENCODER_TYPE_M2M_MJPEG || ER(type) == ENCODER_TYPE_M2M_JPEG) { + } else if (ER(type) == ENCODER_TYPE_M2M_VIDEO || ER(type) == ENCODER_TYPE_M2M_IMAGE) { LOG_VERBOSE("Compressing buffer using M2M"); if (m2m_encoder_ensure_ready(ER(m2ms[wr->number]), src) < 0) { goto error; diff --git a/src/ustreamer/encoder.h b/src/ustreamer/encoder.h index 9968349..38e6bce 100644 --- a/src/ustreamer/encoder.h +++ b/src/ustreamer/encoder.h @@ -60,14 +60,14 @@ #define ENCODER_M2M_BITRATE_STEP ((unsigned)CFG_ENCODER_M2M_BITRATE_STEP) -#define ENCODER_TYPES_STR "CPU, HW, M2M-MJPEG, M2M-JPEG, NOOP" +#define ENCODER_TYPES_STR "CPU, HW, M2M-VIDEO, M2M-IMAGE, NOOP" typedef enum { ENCODER_TYPE_UNKNOWN, // Only for encoder_parse_type() and main() ENCODER_TYPE_CPU, ENCODER_TYPE_HW, - ENCODER_TYPE_M2M_MJPEG, - ENCODER_TYPE_M2M_JPEG, + ENCODER_TYPE_M2M_VIDEO, + ENCODER_TYPE_M2M_IMAGE, ENCODER_TYPE_NOOP, } encoder_type_e; diff --git a/src/ustreamer/stream.c b/src/ustreamer/stream.c index 92ad420..3265d4d 100644 --- a/src/ustreamer/stream.c +++ b/src/ustreamer/stream.c @@ -277,8 +277,8 @@ static workers_pool_s *_stream_init_one(stream_s *stream) { goto error; } if ( - stream->enc->type == ENCODER_TYPE_M2M_MJPEG - || stream->enc->type == ENCODER_TYPE_M2M_JPEG + stream->enc->type == ENCODER_TYPE_M2M_VIDEO + || stream->enc->type == ENCODER_TYPE_M2M_IMAGE || (RUN(h264) && !is_jpeg(stream->dev->run->format)) ) { device_export_to_dma(stream->dev);