renamed v4l2 encoder to m2m

This commit is contained in:
Maxim Devaev 2021-11-24 22:44:38 +03:00
parent 630ad66cc8
commit e6584da7c8
6 changed files with 12 additions and 12 deletions

View File

@ -68,7 +68,7 @@ The recommended way of running µStreamer with [Auvidea B101](https://www.raspbe
$ export LD_LIBRARY_PATH=/opt/vc/lib/ # on bullseye
$ ./ustreamer \
--format=uyvy \ # Device input format
--encoder=v4l2 \ # Hardware encoding on V4L2 M2M driver
--encoder=m2m \ # Hardware encoding on V4L2 M2M driver
--workers=3 \ # Workers number
--persistent \ # Don't re-initialize device on timeout (for example when HDMI cable was disconnected)
--dv-timings \ # Use DV-timings

View File

@ -67,7 +67,7 @@ $ ./ustreamer --help
```bash
$ ./ustreamer \
--format=uyvy \ # Настройка входного формата устройства
--encoder=v4l2 \ # Аппаратное кодирование с помощью драйвер V4L2 M2M
--encoder=m2m \ # Аппаратное кодирование с помощью драйвер V4L2 M2M
--workers=3 \ # Максимум воркеров
--persistent \ # Не переинициализировать устройство при таймауте (например, когда был отключен HDMI-кабель)
--dv-timings \ # Включение DV-таймингов

View File

@ -29,7 +29,7 @@ static const struct {
} _ENCODER_TYPES[] = {
{"CPU", ENCODER_TYPE_CPU},
{"HW", ENCODER_TYPE_HW},
{"V4L2", ENCODER_TYPE_V4L2},
{"M2M", ENCODER_TYPE_M2M},
{"NOOP", ENCODER_TYPE_NOOP},
};
@ -73,7 +73,7 @@ void encoder_destroy(encoder_s *enc) {
encoder_type_e encoder_parse_type(const char *str) {
if (!strcasecmp(str, "OMX")) {
return ENCODER_TYPE_V4L2; // Just for compatibility
return ENCODER_TYPE_M2M; // Just for compatibility
}
for (unsigned index = 0; index < ARRAY_LEN(_ENCODER_TYPES); ++index) {
if (!strcasecmp(str, _ENCODER_TYPES[index].name)) {
@ -113,8 +113,8 @@ 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_V4L2) {
LOG_DEBUG("Preparing V4L2 encoder ...");
} else if (type == ENCODER_TYPE_M2M) {
LOG_DEBUG("Preparing M2M encoder ...");
if (ER(m2ms) == NULL) {
A_CALLOC(ER(m2ms), n_workers);
}
@ -220,8 +220,8 @@ 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_V4L2) {
LOG_VERBOSE("Compressing buffer using V4L2");
} else if (ER(type) == ENCODER_TYPE_M2M) {
LOG_VERBOSE("Compressing buffer using M2M");
if (m2m_encoder_ensure_ready(ER(m2ms[wr->number]), src) < 0) {
goto error;
}

View File

@ -43,13 +43,13 @@
#include "encoders/hw/encoder.h"
#define ENCODER_TYPES_STR "CPU, HW, V4L2, NOOP"
#define ENCODER_TYPES_STR "CPU, HW, M2M, NOOP"
typedef enum {
ENCODER_TYPE_UNKNOWN, // Only for encoder_parse_type() and main()
ENCODER_TYPE_CPU,
ENCODER_TYPE_HW,
ENCODER_TYPE_V4L2,
ENCODER_TYPE_M2M,
ENCODER_TYPE_NOOP,
} encoder_type_e;

View File

@ -606,7 +606,7 @@ static void _help(FILE *fp, device_s *dev, encoder_s *enc, stream_s *stream, ser
SAY(" Available:");
SAY(" * CPU ── Software MJPG encoding (default);");
SAY(" * HW ─── Use pre-encoded MJPG frames directly from camera hardware;");
SAY(" * V4L2 ─ GPU-accelerated MJPG encoding using V4L2 M2M interface;");
SAY(" * M2M ── GPU-accelerated MJPG encoding using V4L2 M2M interface;");
SAY(" * NOOP ─ Don't compress MJPG stream (do nothing).\n");
SAY(" -g|--glitched-resolutions <WxH,...> ─ It doesn't do anything. Still here for compatibility.\n");
SAY(" -k|--blank <path> ─────────────────── Path to JPEG file that will be shown when the device is disconnected");

View File

@ -277,7 +277,7 @@ static workers_pool_s *_stream_init_one(stream_s *stream) {
if (device_open(stream->dev) < 0) {
goto error;
}
if (stream->enc->type == ENCODER_TYPE_V4L2 || (RUN(h264) && !is_jpeg(stream->dev->run->format))) {
if (stream->enc->type == ENCODER_TYPE_M2M || (RUN(h264) && !is_jpeg(stream->dev->run->format))) {
device_export_to_dma(stream->dev);
}
if (device_switch_capturing(stream->dev, true) < 0) {