H.264 Codec for ESP32-S3
Loading...
Searching...
No Matches
esp_h264_enc_single_sw.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#pragma once
8
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16/**
17 * @brief Handle type for software-based H.264 encoder parameters
18 */
20
21/**
22 * @brief Configuration type for software-based H.264 encoder
23 */
24typedef esp_h264_enc_cfg_t esp_h264_enc_cfg_sw_t;
25
26
27/**
28 * @brief This function is used to create a new instance of the `esp_h264_enc_t` data structure,
29 * which represents a single-streams H.264 encoder in software. The encoder is from openh264
30 *
31 * @note The group of picture(GOP) will be updated in intra frame
32 *
33 * @param[in] cfg It is a pointer to the `esp_h264_enc_cfg_sw_t` structure, which contains the configuration settings for the encoder
34 * @param[out] out_enc It is a double pointer to the `esp_h264_enc_t` structure, which will store the created encoder instance
35 *
36 * @return
37 * - ESP_H264_ERR_OK Succeeded
38 * - ESP_H264_ERR_ARG Invalid arguments passed
39 * - ESP_H264_ERR_MEM Insufficient memory, the `*enc` will be set NULL
40 */
41esp_h264_err_t esp_h264_enc_sw_new(const esp_h264_enc_cfg_sw_t *cfg, esp_h264_enc_handle_t *out_enc);
42
43/**
44 * @brief This function returns a pointer to the software-encoded parameter structure associated with the given `esp_h264_enc_t` encoder
45 *
46 * @param[in] enc The encoder instance that is from `esp_h264_enc_hw_new`
47 * @param[out] out_param The parameter set handle
48 *
49 * @return
50 * - ESP_H264_ERR_OK Succeeded
51 * - ESP_H264_ERR_ARG Invalid arguments passed
52 */
54
55#ifdef __cplusplus
56}
57#endif
struct esp_h264_enc_param_if * esp_h264_enc_param_handle_t
It is a pointer to the H.264 encoding parameters structure.
Definition: esp_h264_enc_param.h:18
struct esp_h264_enc_if * esp_h264_enc_handle_t
H.264 single stream encoder handle.
Definition: esp_h264_enc_single.h:19
esp_h264_err_t esp_h264_enc_sw_new(const esp_h264_enc_cfg_sw_t *cfg, esp_h264_enc_handle_t *out_enc)
This function is used to create a new instance of the esp_h264_enc_t data structure,...
Definition: esp_h264_enc_single_sw.c:183
esp_h264_err_t esp_h264_enc_sw_get_param_hd(esp_h264_enc_handle_t enc, esp_h264_enc_param_sw_handle_t *out_param)
This function returns a pointer to the software-encoded parameter structure associated with the given...
Definition: esp_h264_enc_single_sw.c:259
esp_h264_enc_param_handle_t esp_h264_enc_param_sw_handle_t
Handle type for software-based H.264 encoder parameters.
Definition: esp_h264_enc_single_sw.h:19
esp_h264_enc_cfg_t esp_h264_enc_cfg_sw_t
Configuration type for software-based H.264 encoder.
Definition: esp_h264_enc_single_sw.h:24