Skip to content

Commit 4ccc715

Browse files
committed
Fix dependent module version
1. Fix depedent module version 2. Remove duplicated code for dvp_src 3. Update esp_audio_codec to v2.3.x and fix G711A/U not work on new version
1 parent ef12edb commit 4ccc715

File tree

22 files changed

+25
-201
lines changed

22 files changed

+25
-201
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_audio_codec: "*"
4-
espressif/esp_video_codec: "*"
5-
espressif/esp_audio_effects: "*"
3+
espressif/esp_audio_codec: "~2.3.0"
4+
espressif/esp_video_codec: "~0.5.2"
5+
espressif/esp_audio_effects: "~1.1.0"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_codec_dev: "*"
4-
espressif/esp_audio_effects: "*"
3+
espressif/esp_codec_dev: "~1.3.4"
4+
espressif/esp_audio_effects: "~1.1.0"
55
av_render:
66
path: ../
77

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_codec_dev: "*"
3+
espressif/esp_codec_dev: "~1.3.4"
44
esp_lcd_ek79007:
5+
version: "~1.0.2"
56
rules:
67
- if: "target in [esp32p4]"
78
espressif/esp_lcd_ili9881c:
8-
version: "*"
9+
version: "~1.0.1"
910
rules:
1011
- if: "target in [esp32p4]"

components/esp_capture/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ version: "0.0.1"
22
description: Espressif Capture Library
33
dependencies:
44
idf : ">=4.4"
5-
espressif/esp_muxer: "*"
5+
espressif/esp_muxer: "~1.1.0"

components/esp_capture/include/esp_capture_defaults.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ typedef struct {
4545
int16_t href_pin; /*!< HREF pin */
4646
int16_t pclk_pin; /*!< PCLK pin */
4747
uint32_t xclk_freq; /*!< XCLK frequency */
48-
void *i2c_master; /*!< I2C master handle*/
48+
uint8_t i2c_port; /*!< I2C port for the initialized bus */
4949
} esp_capture_video_dvp_src_cfg_t;
5050

5151
/**

components/esp_capture/src/impl/capture_audio_enc/capture_audio_enc.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
#include "esp_capture_aenc_if.h"
2929
#include "esp_log.h"
3030

31-
#define TAG "CAPTURE_AENC"
31+
#define TAG "CAPTURE_AENC"
32+
#define CAPTURE_AENC_DEF_FRAME_DURATION (20) // Default audio frame duration
3233

3334
typedef struct {
3435
esp_capture_aenc_if_t base;
@@ -73,6 +74,7 @@ static int get_encoder_config(esp_audio_enc_config_t *enc_cfg, esp_capture_audio
7374
case ESP_CAPTURE_CODEC_TYPE_G711U: {
7475
esp_g711_enc_config_t *cfg = &all_cfg->g711_cfg;
7576
enc_cfg->cfg_sz = sizeof(esp_g711_enc_config_t);
77+
cfg->frame_duration = CAPTURE_AENC_DEF_FRAME_DURATION; // Use default frame duration
7678
ASSIGN_BASIC_CFG(cfg);
7779
break;
7880
}
@@ -145,12 +147,7 @@ static int general_aenc_get_frame_size(esp_capture_aenc_if_t *h, int *in_frame_s
145147
}
146148
switch (aenc->info.codec) {
147149
case ESP_CAPTURE_CODEC_TYPE_G711A:
148-
case ESP_CAPTURE_CODEC_TYPE_G711U: {
149-
int samples = 20 * aenc->info.sample_rate / 1000;
150-
*in_frame_size = samples * (aenc->info.channel * aenc->info.bits_per_sample >> 3);
151-
*out_frame_size = *in_frame_size;
152-
break;
153-
}
150+
case ESP_CAPTURE_CODEC_TYPE_G711U:
154151
case ESP_CAPTURE_CODEC_TYPE_AAC:
155152
case ESP_CAPTURE_CODEC_TYPE_OPUS:
156153
esp_audio_enc_get_frame_size(aenc->aenc_handle, in_frame_size, out_frame_size);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
dependencies:
2-
espressif/esp_audio_codec: "*"
2+
espressif/esp_audio_codec: "~2.3.0"
33
esp_capture:
44
path: ../../../../esp_capture
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dependencies:
2-
espressif/esp_codec_dev: "*"
2+
espressif/esp_codec_dev: "~1.3.4"
33
espressif/esp-sr: "1.9.5"
44
esp_capture:
55
path: ../../../../esp_capture
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
dependencies:
2-
espressif/esp_video_codec: "*"
2+
espressif/esp_video_codec: "~0.5.2"
33
esp_capture:
44
path: ../../../../esp_capture

components/esp_capture/src/impl/capture_video_src/capture_video_dvp_src.c

Lines changed: 1 addition & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ typedef struct {
4343
uint8_t cur_pic;
4444
} dvp_src_t;
4545

46-
// Workaround for esp_camera
47-
static void *i2c_master;
48-
4946
static int dvp_src_open(esp_capture_video_src_if_t *src)
5047
{
5148
return 0;
@@ -137,6 +134,7 @@ static int dvp_src_negotiate_caps(esp_capture_video_src_if_t *src, esp_capture_v
137134
.jpeg_quality = 12, // 0-63 lower number means higher quality
138135
.fb_count = dvp_src->cfg.buf_count,
139136
.grab_mode = CAMERA_GRAB_WHEN_EMPTY,
137+
.sccb_i2c_port = dvp_src->cfg.i2c_port,
140138
};
141139
dvp_src->need_convert_420 = false;
142140
if (camera_config.xclk_freq_hz == 0) {
@@ -308,160 +306,11 @@ esp_capture_video_src_if_t *esp_capture_new_video_dvp_src(esp_capture_video_dvp_
308306
dvp->base.release_frame = dvp_src_release_frame;
309307
dvp->base.stop = dvp_src_stop;
310308
dvp->base.close = dvp_src_close;
311-
i2c_master = cfg->i2c_master;
312309
dvp->cfg = *cfg;
313310
if (cfg->buf_count == 0) {
314311
dvp->cfg.buf_count = 1;
315312
}
316313
return &dvp->base;
317314
}
318315

319-
// TODO hacking for IDFv5.3 for esp_camera not support i2c_master yet
320-
#if 1
321-
#include "sensor.h"
322-
#include "driver/i2c_master.h"
323-
324-
static i2c_master_dev_handle_t dev_handle;
325-
static uint8_t i2c_addr;
326-
327-
static int add_dev(uint8_t addr)
328-
{
329-
if (addr == i2c_addr) {
330-
return 0;
331-
}
332-
i2c_device_config_t dev_cfg = {
333-
.dev_addr_length = I2C_ADDR_BIT_LEN_7,
334-
.device_address = addr,
335-
.scl_speed_hz = 100000,
336-
};
337-
int ret = i2c_master_bus_add_device(i2c_master, &dev_cfg, &dev_handle);
338-
printf("Init for addr %x ret %d\n", addr, ret);
339-
if (ret == 0) {
340-
i2c_addr = addr;
341-
}
342-
return ret;
343-
}
344-
345-
int SCCB_Init(int pin_sda, int pin_scl)
346-
{
347-
ESP_LOGI(TAG, "pin_sda %d pin_scl %d", pin_sda, pin_scl);
348-
return 0;
349-
}
350-
351-
int SCCB_Use_Port(int i2c_num)
352-
{ // sccb use an already initialized I2C port
353-
return 0;
354-
}
355-
356-
int SCCB_Deinit(void)
357-
{
358-
if (dev_handle) {
359-
i2c_master_bus_rm_device(dev_handle);
360-
i2c_addr = 0;
361-
dev_handle = NULL;
362-
}
363-
return 0;
364-
}
365-
366-
uint8_t SCCB_Probe(void)
367-
{
368-
uint8_t slave_addr = 0x0;
369-
for (size_t i = 0; i < CAMERA_MODEL_MAX; i++) {
370-
if (slave_addr == camera_sensor[i].sccb_addr) {
371-
continue;
372-
}
373-
slave_addr = camera_sensor[i].sccb_addr;
374-
esp_err_t ret = i2c_master_probe(i2c_master, slave_addr, 100);
375-
printf("Probe for %02x ret %d\n", slave_addr, ret);
376-
if (ret == ESP_OK) {
377-
return slave_addr;
378-
}
379-
}
380-
return 0;
381-
}
382-
383-
uint8_t SCCB_Read(uint8_t slv_addr, uint8_t reg)
384-
{
385-
add_dev(slv_addr);
386-
uint8_t addr_data[2] = { 0 };
387-
addr_data[0] = (reg)&0xff;
388-
uint8_t data = 0;
389-
int ret = i2c_master_transmit_receive(dev_handle, addr_data, 1, &data, 1, 100);
390-
if (ret != ESP_OK) {
391-
ESP_LOGE(TAG, "SCCB_Read Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
392-
}
393-
return data;
394-
}
395-
396-
int SCCB_Write(uint8_t slv_addr, uint8_t reg, uint8_t data)
397-
{
398-
add_dev(slv_addr);
399-
uint8_t write_data[2] = { 0 };
400-
write_data[0] = reg & 0xff;
401-
write_data[1] = data;
402-
esp_err_t ret = i2c_master_transmit(dev_handle, write_data, 2, 100);
403-
if (ret != ESP_OK) {
404-
ESP_LOGE(TAG, "SCCB_Write Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
405-
}
406-
return ret == ESP_OK ? 0 : -1;
407-
}
408-
409-
uint8_t SCCB_Read16(uint8_t slv_addr, uint16_t reg)
410-
{
411-
add_dev(slv_addr);
412-
uint8_t write_data[2] = { 0 };
413-
write_data[0] = (reg & 0xff00) >> 8;
414-
write_data[1] = reg & 0xff;
415-
uint8_t data = 0;
416-
int ret = i2c_master_transmit_receive(dev_handle, write_data, 2, &data, 1, 100);
417-
if (ret != ESP_OK) {
418-
ESP_LOGE(TAG, "SCCB_Read Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
419-
}
420-
return data;
421-
}
422-
423-
int SCCB_Write16(uint8_t slv_addr, uint16_t reg, uint8_t data)
424-
{
425-
add_dev(slv_addr);
426-
uint8_t write_data[3] = { 0 };
427-
write_data[0] = (reg & 0xff00) >> 8;
428-
write_data[1] = reg & 0xff;
429-
write_data[2] = data;
430-
esp_err_t ret = i2c_master_transmit(dev_handle, write_data, 3, 100);
431-
if (ret != ESP_OK) {
432-
ESP_LOGE(TAG, "SCCB_Write Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
433-
}
434-
return ret == ESP_OK ? 0 : -1;
435-
}
436-
437-
uint16_t SCCB_Read_Addr16_Val16(uint8_t slv_addr, uint16_t reg)
438-
{
439-
uint16_t data = 0;
440-
add_dev(slv_addr);
441-
uint8_t addr_data[2] = { 0 };
442-
addr_data[0] = (reg & 0xff00) >> 8;
443-
addr_data[1] = reg & 0xff;
444-
int ret = i2c_master_transmit_receive(dev_handle, addr_data, 2, (uint8_t *)&data, 2, 100);
445-
if (ret != ESP_OK) {
446-
ESP_LOGE(TAG, "SCCB_Read Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
447-
}
448-
return ((data & 0xF) << 8 | (data & 0xFF));
449-
}
450-
451-
int SCCB_Write_Addr16_Val16(uint8_t slv_addr, uint16_t reg, uint16_t data)
452-
{
453-
add_dev(slv_addr);
454-
uint8_t trans_data[4] = { 0 };
455-
trans_data[0] = (reg & 0xff00) >> 8;
456-
trans_data[1] = reg & 0xff;
457-
trans_data[2] = (data & 0xff00) >> 8;
458-
trans_data[3] = data & 0xff;
459-
esp_err_t ret = i2c_master_transmit(dev_handle, trans_data, 4, 100);
460-
if (ret != ESP_OK) {
461-
ESP_LOGE(TAG, "SCCB_Write Failed addr:0x%02x, reg:0x%02x, data:0x%02x, ret:%d", slv_addr, reg, data, ret);
462-
}
463-
return ret == ESP_OK ? 0 : -1;
464-
}
465-
#endif
466-
467316
#endif

0 commit comments

Comments
 (0)