mirror of
https://github.com/pikvm/ustreamer.git
synced 2026-03-12 18:43:42 +00:00
refactoring
This commit is contained in:
@@ -207,7 +207,7 @@ void encoder_get_runtime_params(encoder_s *encoder, encoder_type_e *type, unsign
|
|||||||
|
|
||||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
int encoder_compress_buffer(encoder_s *encoder, unsigned worker_number, frame_s *raw, frame_s *frame) {
|
int encoder_compress(encoder_s *encoder, unsigned worker_number, frame_s *raw, frame_s *frame) {
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
assert(ER(type) != ENCODER_TYPE_UNKNOWN);
|
assert(ER(type) != ENCODER_TYPE_UNKNOWN);
|
||||||
@@ -218,15 +218,15 @@ int encoder_compress_buffer(encoder_s *encoder, unsigned worker_number, frame_s
|
|||||||
|
|
||||||
if (ER(type) == ENCODER_TYPE_CPU) {
|
if (ER(type) == ENCODER_TYPE_CPU) {
|
||||||
LOG_VERBOSE("Compressing buffer using CPU");
|
LOG_VERBOSE("Compressing buffer using CPU");
|
||||||
cpu_encoder_compress_buffer(raw, frame, ER(quality));
|
cpu_encoder_compress(raw, frame, ER(quality));
|
||||||
} else if (ER(type) == ENCODER_TYPE_HW) {
|
} else if (ER(type) == ENCODER_TYPE_HW) {
|
||||||
LOG_VERBOSE("Compressing buffer using HW (just copying)");
|
LOG_VERBOSE("Compressing buffer using HW (just copying)");
|
||||||
hw_encoder_compress_buffer(raw, frame);
|
hw_encoder_compress(raw, frame);
|
||||||
}
|
}
|
||||||
# ifdef WITH_OMX
|
# ifdef WITH_OMX
|
||||||
else if (ER(type) == ENCODER_TYPE_OMX) {
|
else if (ER(type) == ENCODER_TYPE_OMX) {
|
||||||
LOG_VERBOSE("Compressing buffer using OMX");
|
LOG_VERBOSE("Compressing buffer using OMX");
|
||||||
if (omx_encoder_compress_buffer(ER(omxs[worker_number]), raw, frame) < 0) {
|
if (omx_encoder_compress(ER(omxs[worker_number]), raw, frame) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,4 +111,4 @@ const char *encoder_type_to_string(encoder_type_e type);
|
|||||||
void encoder_prepare(encoder_s *encoder, device_s *dev);
|
void encoder_prepare(encoder_s *encoder, device_s *dev);
|
||||||
void encoder_get_runtime_params(encoder_s *encoder, encoder_type_e *type, unsigned *quality);
|
void encoder_get_runtime_params(encoder_s *encoder, encoder_type_e *type, unsigned *quality);
|
||||||
|
|
||||||
int encoder_compress_buffer(encoder_s *encoder, unsigned worker_number, frame_s *raw, frame_s *frame);
|
int encoder_compress(encoder_s *encoder, unsigned worker_number, frame_s *raw, frame_s *frame);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ static boolean _jpeg_empty_output_buffer(j_compress_ptr jpeg);
|
|||||||
static void _jpeg_term_destination(j_compress_ptr jpeg);
|
static void _jpeg_term_destination(j_compress_ptr jpeg);
|
||||||
|
|
||||||
|
|
||||||
void cpu_encoder_compress_buffer(frame_s *raw, frame_s *frame, unsigned quality) {
|
void cpu_encoder_compress(frame_s *raw, frame_s *frame, unsigned quality) {
|
||||||
// This function based on compress_image_to_jpeg() from mjpg-streamer
|
// This function based on compress_image_to_jpeg() from mjpg-streamer
|
||||||
|
|
||||||
struct jpeg_compress_struct jpeg;
|
struct jpeg_compress_struct jpeg;
|
||||||
|
|||||||
@@ -35,4 +35,4 @@
|
|||||||
#include "../../../common/frame.h"
|
#include "../../../common/frame.h"
|
||||||
|
|
||||||
|
|
||||||
void cpu_encoder_compress_buffer(frame_s *raw, frame_s *frame, unsigned quality);
|
void cpu_encoder_compress(frame_s *raw, frame_s *frame, unsigned quality);
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ int hw_encoder_prepare(device_s *dev, unsigned quality) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hw_encoder_compress_buffer(frame_s *raw, frame_s *frame) {
|
void hw_encoder_compress(frame_s *raw, frame_s *frame) {
|
||||||
if (raw->format != V4L2_PIX_FMT_MJPEG && raw->format != V4L2_PIX_FMT_JPEG) {
|
if (raw->format != V4L2_PIX_FMT_MJPEG && raw->format != V4L2_PIX_FMT_JPEG) {
|
||||||
assert(0 && "Unsupported input format for HW encoder");
|
assert(0 && "Unsupported input format for HW encoder");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,4 +39,4 @@
|
|||||||
|
|
||||||
|
|
||||||
int hw_encoder_prepare(device_s *dev, unsigned quality);
|
int hw_encoder_prepare(device_s *dev, unsigned quality);
|
||||||
void hw_encoder_compress_buffer(frame_s *raw, frame_s *frame);
|
void hw_encoder_compress(frame_s *raw, frame_s *frame);
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ int omx_encoder_prepare(omx_encoder_s *omx, device_s *dev, unsigned quality) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int omx_encoder_compress_buffer(omx_encoder_s *omx, frame_s *raw, frame_s *frame) {
|
int omx_encoder_compress(omx_encoder_s *omx, frame_s *raw, frame_s *frame) {
|
||||||
# define IN(_next) omx->input_buffer->_next
|
# define IN(_next) omx->input_buffer->_next
|
||||||
# define OUT(_next) omx->output_buffer->_next
|
# define OUT(_next) omx->output_buffer->_next
|
||||||
|
|
||||||
|
|||||||
@@ -71,4 +71,4 @@ omx_encoder_s *omx_encoder_init(void);
|
|||||||
void omx_encoder_destroy(omx_encoder_s *omx);
|
void omx_encoder_destroy(omx_encoder_s *omx);
|
||||||
|
|
||||||
int omx_encoder_prepare(omx_encoder_s *omx, device_s *dev, unsigned quality);
|
int omx_encoder_prepare(omx_encoder_s *omx, device_s *dev, unsigned quality);
|
||||||
int omx_encoder_compress_buffer(omx_encoder_s *omx, frame_s *raw, frame_s *frame);
|
int omx_encoder_compress(omx_encoder_s *omx, frame_s *raw, frame_s *frame);
|
||||||
|
|||||||
@@ -471,7 +471,7 @@ static void *_worker_thread(void *v_worker) {
|
|||||||
|
|
||||||
LOG_DEBUG("Worker %u compressing JPEG from buffer %u ...", wr->number, wr->buf_index);
|
LOG_DEBUG("Worker %u compressing JPEG from buffer %u ...", wr->number, wr->buf_index);
|
||||||
|
|
||||||
wr->job_failed = (bool)encoder_compress_buffer(
|
wr->job_failed = (bool)encoder_compress(
|
||||||
wr->stream->encoder,
|
wr->stream->encoder,
|
||||||
wr->number,
|
wr->number,
|
||||||
&wr->stream->dev->run->hw_buffers[wr->buf_index].raw,
|
&wr->stream->dev->run->hw_buffers[wr->buf_index].raw,
|
||||||
|
|||||||
Reference in New Issue
Block a user