static inline bool scale_video_output(struct video_input *input, struct video_data *data) { bool success = true; if (input->scaler) { struct video_frame *frame; if (++input->cur_frame == MAX_CONVERT_BUFFERS) input->cur_frame = 0; frame = &input->frame[input->cur_frame]; success = video_scaler_scale(input->scaler, frame->data, frame->linesize, data->data, data->linesize); if (success) { for (size_t i = 0; i < MAX_AV_PLANES; i++) { data->data[i] = frame->data[i]; data->linesize[i] = frame->linesize[i]; } } } return success; }
static inline bool scale_video_output(struct video_input *input, struct video_data *data) { bool success = true; if (input->scaler) { struct video_frame *frame; if (++input->cur_frame == MAX_CONVERT_BUFFERS) input->cur_frame = 0; frame = &input->frame[input->cur_frame]; success = video_scaler_scale(input->scaler, frame->data, frame->linesize, (const uint8_t * const*)data->data, data->linesize); if (success) { for (size_t i = 0; i < MAX_AV_PLANES; i++) { data->data[i] = frame->data[i]; data->linesize[i] = frame->linesize[i]; } } else { blog(LOG_WARNING, "video-io: Could not scale frame!"); } } return success; }