Added PPP patches

This commit is contained in:
Gerben Jan Dijkman 2023-06-27 13:13:22 +02:00
parent cd56659d02
commit 2140b6c8ce
4 changed files with 113 additions and 109 deletions

View File

@ -1,4 +1,4 @@
From 06230f3a02cffdf8b683f85cb32fc256d73615d9 Mon Sep 17 00:00:00 2001 From 432d3851d49e4f8a9ef196eb0887cef428ba56c6 Mon Sep 17 00:00:00 2001
From: kgmt0 <kritphong@teknik.io> From: kgmt0 <kritphong@teknik.io>
Date: Sat, 2 Jul 2022 12:15:22 +0700 Date: Sat, 2 Jul 2022 12:15:22 +0700
Subject: [PATCH] device: Make mp_device_setup_link() support non-zero pad Subject: [PATCH] device: Make mp_device_setup_link() support non-zero pad

View File

@ -1,26 +1,21 @@
From d8b35bc223989cb165ba1b0716ab9f0ca9c43e53 Mon Sep 17 00:00:00 2001 From 8103e662a484c0887d29f11a1284f85ff34d0248 Mon Sep 17 00:00:00 2001
From: kgmt0 <kritphong@teknik.io> From: kgmt0 <kritphong@teknik.io>
Date: Thu, 1 Dec 2022 00:13:27 -0600 Date: Thu, 1 Dec 2022 00:13:27 -0600
Subject: [PATCH] WIP: Support Pinephone Pro Subject: [PATCH] WIP: Support Pinephone Pro
Both cameras work now but the quality is very poor. Both cameras work now but the quality is very poor.
The config file format is extended to include 2 new options Tested with Linux 6.1.12-1 from Arch Linux ARM (linux-megi).
"media-formats" and "media-crops" that can be used to set formats and
crops on a per-pad basis. These are needed to initialize Pinephone Pro's
media controller.
Tested with Linux 6.0.8-1 from Arch Linux ARM (linux-megi).
--- ---
config/motorola,osprey.ini | 1 + config/motorola,osprey.ini | 1 +
config/pine64,pinephone-pro.ini | 49 +++++++++ config/pine64,pinephone-pro.ini | 49 +++++++++
config/xiaomi,scorpio.ini | 1 + config/xiaomi,scorpio.ini | 1 +
meson.build | 1 + meson.build | 1 +
src/camera.c | 10 +- src/camera.c | 8 +-
src/device.c | 101 ++++++++++++++++++ src/device.c | 118 ++++++++++++++++++++++
src/device.h | 14 +++ src/device.h | 15 +++
src/io_pipeline.c | 184 ++++++++++++++++++++------------ src/io_pipeline.c | 173 +++++++++++++++++++-------------
8 files changed, 288 insertions(+), 73 deletions(-) 8 files changed, 296 insertions(+), 70 deletions(-)
create mode 100644 config/pine64,pinephone-pro.ini create mode 100644 config/pine64,pinephone-pro.ini
diff --git a/config/motorola,osprey.ini b/config/motorola,osprey.ini diff --git a/config/motorola,osprey.ini b/config/motorola,osprey.ini
@ -34,7 +29,7 @@ index ab8990d..5809a8e 100644
+media-formats=msm_csiphy0:1:RGGB10P:4096:2304,msm_csid0:0:RGGB10P:4096:2304,msm_csid0:1:RGGB10P:4096:2304,msm_ispif0:0:RGGB10P:4096:2304,msm_ispif0:1:RGGB10P:4096:2304,msm_vfe0_rdi0:0:RGGB10P:4096:2304 +media-formats=msm_csiphy0:1:RGGB10P:4096:2304,msm_csid0:0:RGGB10P:4096:2304,msm_csid0:1:RGGB10P:4096:2304,msm_ispif0:0:RGGB10P:4096:2304,msm_ispif0:1:RGGB10P:4096:2304,msm_vfe0_rdi0:0:RGGB10P:4096:2304
diff --git a/config/pine64,pinephone-pro.ini b/config/pine64,pinephone-pro.ini diff --git a/config/pine64,pinephone-pro.ini b/config/pine64,pinephone-pro.ini
new file mode 100644 new file mode 100644
index 0000000..bd5cfcd index 0000000..b7a2dcd
--- /dev/null --- /dev/null
+++ b/config/pine64,pinephone-pro.ini +++ b/config/pine64,pinephone-pro.ini
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
@ -68,7 +63,7 @@ index 0000000..bd5cfcd
+media-crops=rkisp1_isp:0:0:0:1048:780,rkisp1_isp:2:0:0:1048:780,rkisp1_resizer_mainpath:0:0:0:1048:768 +media-crops=rkisp1_isp:0:0:0:1048:780,rkisp1_isp:2:0:0:1048:780,rkisp1_resizer_mainpath:0:0:0:1048:768
+ +
+[front] +[front]
+driver=m00_f_ov8858 1-0036 +driver=ov8858
+media-driver=rkisp1 +media-driver=rkisp1
+capture-width=3264 +capture-width=3264
+capture-height=2448 +capture-height=2448
@ -84,8 +79,8 @@ index 0000000..bd5cfcd
+cropfactor=12.7 +cropfactor=12.7
+fnumber=2.4 +fnumber=2.4
+flash-display=true +flash-display=true
+media-links=m00_f_ov8858 1-0036:0->rkisp1_csi:0,rkisp1_csi:1->rkisp1_isp:0,rkisp1_isp:2->rkisp1_resizer_mainpath:0,rkisp1_resizer_mainpath:1->rkisp1_mainpath:0 +media-links=ov8858:0->rkisp1_csi:0,rkisp1_csi:1->rkisp1_isp:0,rkisp1_isp:2->rkisp1_resizer_mainpath:0,rkisp1_resizer_mainpath:1->rkisp1_mainpath:0
+media-formats=m00_f_ov8858 1-0036:0:BGGR10P:3264:2448,rkisp1_csi:0:BGGR10P:3264:2448,rkisp1_isp:0:BGGR10P:3264:2448,rkisp1_isp:2:BGGR8:3264:2448,rkisp1_resizer_mainpath:0:BGGR8:3264:2448,rkisp1_resizer_mainpath:1:BGGR8:3264:2448 +media-formats=ov8858:0:BGGR10P:3264:2448,rkisp1_csi:0:BGGR10P:3264:2448,rkisp1_isp:0:BGGR10P:3264:2448,rkisp1_isp:2:BGGR8:3264:2448,rkisp1_resizer_mainpath:0:BGGR8:3264:2448,rkisp1_resizer_mainpath:1:BGGR8:3264:2448
+media-crops=rkisp1_isp:0:0:0:3264:2448,rkisp1_isp:2:0:0:3264:2448,rkisp1_resizer_mainpath:0:0:0:3264:768 +media-crops=rkisp1_isp:0:0:0:3264:2448,rkisp1_isp:2:0:0:3264:2448,rkisp1_resizer_mainpath:0:0:0:3264:768
diff --git a/config/xiaomi,scorpio.ini b/config/xiaomi,scorpio.ini diff --git a/config/xiaomi,scorpio.ini b/config/xiaomi,scorpio.ini
index cce6d49..14b7f29 100644 index cce6d49..14b7f29 100644
@ -97,7 +92,7 @@ index cce6d49..14b7f29 100644
media-links=imx318 3-001a:0->msm_csiphy0:0,msm_csiphy0:1->msm_csid0:0,msm_csid0:1->msm_ispif0:0,msm_ispif0:1->msm_vfe0_rdi0:0 media-links=imx318 3-001a:0->msm_csiphy0:0,msm_csiphy0:1->msm_csid0:0,msm_csid0:1->msm_ispif0:0,msm_ispif0:1->msm_vfe0_rdi0:0
+media-formats=imx318 3-001a:0:RGGB10P:3840:2160,msm_csiphy0:0:RGGB10P:3840:2160,msm_csiphy0:1:RGGB10P:3840:2160,msm_csid0:0:RGGB10P:3840:2160,msm_csid0:1:RGGB10P:3840:2160,msm_ispif0:0:RGGB10P:3840:2160,msm_ispif0:1:RGGB10P:3840:2160,msm_vfe0_rdi0:0:RGGB10P:3840:2160 +media-formats=imx318 3-001a:0:RGGB10P:3840:2160,msm_csiphy0:0:RGGB10P:3840:2160,msm_csiphy0:1:RGGB10P:3840:2160,msm_csid0:0:RGGB10P:3840:2160,msm_csid0:1:RGGB10P:3840:2160,msm_ispif0:0:RGGB10P:3840:2160,msm_ispif0:1:RGGB10P:3840:2160,msm_vfe0_rdi0:0:RGGB10P:3840:2160
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 3b98f19..d53dec9 100644 index a9b9b4e..adc2359 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -72,6 +72,7 @@ install_data( @@ -72,6 +72,7 @@ install_data(
@ -109,28 +104,26 @@ index 3b98f19..d53dec9 100644
'config/xiaomi,scorpio.ini', 'config/xiaomi,scorpio.ini',
], ],
diff --git a/src/camera.c b/src/camera.c diff --git a/src/camera.c b/src/camera.c
index 9a08f56..7368189 100644 index 5519bbd..588c164 100644
--- a/src/camera.c --- a/src/camera.c
+++ b/src/camera.c +++ b/src/camera.c
@@ -305,11 +305,11 @@ mp_camera_set_mode(MPCamera *camera, MPMode *mode) @@ -327,8 +327,12 @@ mp_camera_set_mode(MPCamera *camera, MPMode *mode)
} }
// Update the mode // Update the mode
- mode->pixel_format = - mode->pixel_format =
- mp_pixel_format_from_v4l_bus_code(fmt.format.code); - mp_pixel_format_from_v4l_bus_code(fmt.format.code);
- mode->frame_interval = interval.interval; +
- mode->width = fmt.format.width; + // TODO: Some how the format gets changed to YUYV if this isn't
- mode->height = fmt.format.height; + // commented out.
+ //mode->pixel_format = + //mode->pixel_format =
+ // mp_pixel_format_from_v4l_bus_code(fmt.format.code); + // mp_pixel_format_from_v4l_bus_code(fmt.format.code);
+ //mode->frame_interval = interval.interval; +
+ //mode->width = fmt.format.width; mode->frame_interval = interval.interval;
+ //mode->height = fmt.format.height; mode->width = fmt.format.width;
} mode->height = fmt.format.height;
// Set the mode for the video device
diff --git a/src/device.c b/src/device.c diff --git a/src/device.c b/src/device.c
index 9e2db00..1161861 100644 index 9e2db00..09e711b 100644
--- a/src/device.c --- a/src/device.c
+++ b/src/device.c +++ b/src/device.c
@@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
@ -142,7 +135,54 @@ index 9e2db00..1161861 100644
bool bool
mp_find_device_path(struct media_v2_intf_devnode devnode, char *path, int length) mp_find_device_path(struct media_v2_intf_devnode devnode, char *path, int length)
@@ -183,6 +185,25 @@ mp_device_setup_entity_link(MPDevice *device, @@ -73,6 +75,46 @@ xioctl(int fd, int request, void *arg)
return r;
}
+static int
+mp_device_get_fd_by_name(const MPDevice *device, const char *driver_name)
+{
+ struct media_entity_desc desc = {};
+
+ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
+
+ while(true) {
+ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
+ if(xioctl(device->fd, MEDIA_IOC_ENUM_ENTITIES, &desc) == -1) {
+ errno_printerr("MEDIA_IOC_ENUM_ENTITIES");
+ return -1;
+ }
+
+ if(strncmp(desc.name, driver_name, 32) == 0) {
+ const uint32_t major = desc.dev.major;
+ const uint32_t minor = desc.dev.minor;
+ char path[256];
+ int rc = snprintf(path, 256, "/dev/char/%u:%u", major, minor);
+
+ return rc > 0 ? open(path, O_RDWR) : -1;
+ }
+ }
+
+ return -1;
+}
+
+static bool
+mp_xioctl(const MPDevice *device, const char *driver_name, unsigned long request, void *argp)
+{
+ int fd = mp_device_get_fd_by_name(device, driver_name);
+
+ if(fd < 0)
+ {
+ printf("ERROR: device with driver name %s not found\n", driver_name);
+ }
+
+ return fd >= 0 && xioctl(fd, request, argp) != -1;
+}
+
MPDevice *
mp_device_find(const char *driver_name, const char *dev_name)
{
@@ -183,6 +225,42 @@ mp_device_setup_entity_link(MPDevice *device,
return true; return true;
} }
@ -164,11 +204,28 @@ index 9e2db00..1161861 100644
+ cfg->target_port, + cfg->target_port,
+ enable); + enable);
+} +}
+
+void
+mp_device_setup_media_link_pad_crop(MPDevice *device,
+ const struct mp_media_crop_config *crop)
+{
+ struct v4l2_subdev_crop v4l2_crop = {};
+ v4l2_crop.pad = crop->pad;
+ v4l2_crop.which = V4L2_SUBDEV_FORMAT_ACTIVE;
+ v4l2_crop.rect.top = crop->top;
+ v4l2_crop.rect.left = crop->left;
+ v4l2_crop.rect.width = crop->width;
+ v4l2_crop.rect.height = crop->height;
+
+ if(!mp_xioctl(device, crop->name, VIDIOC_SUBDEV_S_CROP, &v4l2_crop)) {
+ errno_printerr("VIDIOC_SUBDEV_S_CROP");
+ }
+}
+ +
bool bool
mp_device_setup_link(MPDevice *device, mp_device_setup_link(MPDevice *device,
uint32_t source_pad_id, uint32_t source_pad_id,
@@ -237,6 +258,73 @@ mp_entity_pad_set_format(MPDevice *device, @@ -237,6 +315,46 @@ mp_entity_pad_set_format(MPDevice *device,
return true; return true;
} }
@ -211,59 +268,12 @@ index 9e2db00..1161861 100644
+ +
+ return true; + return true;
+} +}
+
+int
+mp_device_get_fd_by_name(const MPDevice *device, const char *driver_name)
+{
+ struct media_entity_desc desc = {};
+
+ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
+
+ while(true) {
+ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
+ if(xioctl(device->fd, MEDIA_IOC_ENUM_ENTITIES, &desc) == -1) {
+ errno_printerr("MEDIA_IOC_ENUM_ENTITIES");
+ return -1;
+ }
+
+ if(strncmp(desc.name, driver_name, 32) == 0) {
+ const uint32_t major = desc.dev.major;
+ const uint32_t minor = desc.dev.minor;
+ char path[256];
+ int rc = snprintf(path, 256, "/dev/char/%u:%u", major, minor);
+
+ return rc > 0 ? open(path, O_RDWR) : -1;
+ }
+ }
+
+ return -1;
+}
+ +
const struct media_v2_entity * const struct media_v2_entity *
mp_device_find_entity(const MPDevice *device, const char *driver_name) mp_device_find_entity(const MPDevice *device, const char *driver_name)
{ {
@@ -263,6 +351,19 @@ mp_device_find_entity_type(const MPDevice *device, const uint32_t type)
return NULL;
}
+bool
+mp_xioctl(const MPDevice *device, const char *driver_name, unsigned long request, void *argp)
+{
+ int fd = mp_device_get_fd_by_name(device, driver_name);
+
+ if(fd < 0)
+ {
+ printf("ERROR: device with driver name %s not found\n", driver_name);
+ }
+
+ return fd >= 0 && xioctl(fd, request, argp) != -1;
+}
+
const struct media_device_info *
mp_device_get_info(const MPDevice *device)
{
diff --git a/src/device.h b/src/device.h diff --git a/src/device.h b/src/device.h
index 1894c67..b324e1a 100644 index 1894c67..c9b3477 100644
--- a/src/device.h --- a/src/device.h
+++ b/src/device.h +++ b/src/device.h
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@ -285,12 +295,10 @@ index 1894c67..b324e1a 100644
bool mp_device_setup_link(MPDevice *device, bool mp_device_setup_link(MPDevice *device,
uint32_t source_pad_id, uint32_t source_pad_id,
uint32_t sink_pad_id, uint32_t sink_pad_id,
@@ -36,6 +41,15 @@ bool mp_entity_pad_set_format(MPDevice *device, @@ -36,6 +41,13 @@ bool mp_entity_pad_set_format(MPDevice *device,
uint32_t pad, uint32_t pad,
MPMode *mode); MPMode *mode);
+bool mp_xioctl(const MPDevice *device, const char *driver_name, unsigned long request, void *argp);
+
+bool mp_device_setup_link_by_name(MPDevice *device, +bool mp_device_setup_link_by_name(MPDevice *device,
+ const char *source_entity_name, + const char *source_entity_name,
+ uint32_t source_pad_index, + uint32_t source_pad_index,
@ -301,8 +309,15 @@ index 1894c67..b324e1a 100644
const struct media_device_info *mp_device_get_info(const MPDevice *device); const struct media_device_info *mp_device_get_info(const MPDevice *device);
const struct media_v2_entity *mp_device_find_entity(const MPDevice *device, const struct media_v2_entity *mp_device_find_entity(const MPDevice *device,
const char *driver_name); const char *driver_name);
@@ -81,3 +93,6 @@ MPDevice *mp_device_list_remove(MPDeviceList **device_list);
MPDevice *mp_device_list_get(const MPDeviceList *device_list);
const char *mp_device_list_get_path(const MPDeviceList *device_list);
MPDeviceList *mp_device_list_next(const MPDeviceList *device_list);
+
+void mp_device_setup_media_link_pad_crop(MPDevice *device,
+ const struct mp_media_crop_config *crop);
diff --git a/src/io_pipeline.c b/src/io_pipeline.c diff --git a/src/io_pipeline.c b/src/io_pipeline.c
index 8434420..598118f 100644 index e9f80c2..135b344 100644
--- a/src/io_pipeline.c --- a/src/io_pipeline.c
+++ b/src/io_pipeline.c +++ b/src/io_pipeline.c
@@ -47,7 +47,8 @@ struct camera_info { @@ -47,7 +47,8 @@ struct camera_info {
@ -315,11 +330,10 @@ index 8434420..598118f 100644
// int gain_ctrl; // int gain_ctrl;
}; };
@@ -100,30 +101,52 @@ static bool want_focus = false; @@ -100,30 +101,41 @@ static bool want_focus = false;
static MPPipeline *pipeline; static MPPipeline *pipeline;
static GSource *capture_source; static GSource *capture_source;
+// TODO: move to device.c
+static void +static void
+mp_setup_media_link_pad_crops(struct device_info *dev_info, +mp_setup_media_link_pad_crops(struct device_info *dev_info,
+ const struct mp_media_crop_config media_crops[], + const struct mp_media_crop_config media_crops[],
@ -327,17 +341,7 @@ index 8434420..598118f 100644
+{ +{
+ for(int i = 0; i < num_media_crops; i++) { + for(int i = 0; i < num_media_crops; i++) {
+ const struct mp_media_crop_config *crop = media_crops + i; + const struct mp_media_crop_config *crop = media_crops + i;
+ struct v4l2_subdev_crop v4l2_crop = {}; + mp_device_setup_media_link_pad_crop(dev_info->device, crop);
+ v4l2_crop.pad = crop->pad;
+ v4l2_crop.which = V4L2_SUBDEV_FORMAT_ACTIVE;
+ v4l2_crop.rect.top = crop->top;
+ v4l2_crop.rect.left = crop->left;
+ v4l2_crop.rect.width = crop->width;
+ v4l2_crop.rect.height = crop->height;
+
+ if(!mp_xioctl(dev_info->device, crop->name, VIDIOC_SUBDEV_S_CROP, &v4l2_crop)) {
+ //errno_printerr("VIDIOC_SUBDEV_S_CROP");
+ }
+ } + }
+} +}
+ +
@ -389,7 +393,7 @@ index 8434420..598118f 100644
} }
} }
@@ -191,6 +214,9 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config) @@ -224,6 +236,9 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
struct device_info *dev_info = &devices[device_index]; struct device_info *dev_info = &devices[device_index];
info->device_index = device_index; info->device_index = device_index;
@ -399,7 +403,7 @@ index 8434420..598118f 100644
const struct media_v2_entity *entity = const struct media_v2_entity *entity =
mp_device_find_entity(dev_info->device, config->dev_name); mp_device_find_entity(dev_info->device, config->dev_name);
@@ -205,11 +231,33 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config) @@ -238,11 +253,33 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
info->pad_id = pad->id; info->pad_id = pad->id;
@ -438,7 +442,7 @@ index 8434420..598118f 100644
const struct media_v2_interface *interface = const struct media_v2_interface *interface =
mp_device_find_entity_interface(dev_info->device, mp_device_find_entity_interface(dev_info->device,
@@ -234,11 +282,14 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config) @@ -269,11 +306,14 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
// the ov5640 driver where it won't allow setting the preview // the ov5640 driver where it won't allow setting the preview
// format initially. // format initially.
MPMode mode = config->capture_mode; MPMode mode = config->capture_mode;
@ -457,7 +461,7 @@ index 8434420..598118f 100644
mp_camera_set_mode(info->camera, &mode); mp_camera_set_mode(info->camera, &mode);
// Trigger continuous auto focus if the sensor supports it // Trigger continuous auto focus if the sensor supports it
@@ -400,9 +451,12 @@ capture(MPPipeline *pipeline, const void *data) @@ -435,9 +475,12 @@ capture(MPPipeline *pipeline, const void *data)
mode = camera->capture_mode; mode = camera->capture_mode;
if (camera->num_media_links) if (camera->num_media_links)
mp_setup_media_link_pad_formats(dev_info, mp_setup_media_link_pad_formats(dev_info,
@ -473,7 +477,7 @@ index 8434420..598118f 100644
mp_camera_set_mode(info->camera, &mode); mp_camera_set_mode(info->camera, &mode);
just_switched_mode = true; just_switched_mode = true;
@@ -569,9 +623,13 @@ on_frame(MPBuffer buffer, void *_data) @@ -604,9 +647,13 @@ on_frame(MPBuffer buffer, void *_data)
if (camera->num_media_links) if (camera->num_media_links)
mp_setup_media_link_pad_formats( mp_setup_media_link_pad_formats(
dev_info, dev_info,
@ -490,7 +494,7 @@ index 8434420..598118f 100644
mp_camera_set_mode(info->camera, &mode); mp_camera_set_mode(info->camera, &mode);
just_switched_mode = true; just_switched_mode = true;
@@ -587,25 +645,6 @@ on_frame(MPBuffer buffer, void *_data) @@ -622,25 +669,6 @@ on_frame(MPBuffer buffer, void *_data)
} }
} }
@ -516,7 +520,7 @@ index 8434420..598118f 100644
static void static void
update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state) update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
{ {
@@ -629,8 +668,8 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state) @@ -664,8 +692,8 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
// Disable media links // Disable media links
for (int i = 0; i < camera->num_media_links; i++) for (int i = 0; i < camera->num_media_links; i++)
@ -527,7 +531,7 @@ index 8434420..598118f 100644
} }
if (capture_source) { if (capture_source) {
@@ -644,23 +683,32 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state) @@ -679,23 +707,32 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
struct camera_info *info = &cameras[camera->index]; struct camera_info *info = &cameras[camera->index];
struct device_info *dev_info = &devices[info->device_index]; struct device_info *dev_info = &devices[info->device_index];

View File

@ -1,4 +1,4 @@
From 27a1e606d680295e0b4caceadf74ff5857ac16b2 Mon Sep 17 00:00:00 2001 From af01107dd65452db159eb961b7ff27b8424cffc7 Mon Sep 17 00:00:00 2001
From: kgmt0 <kritphong@teknik.io> From: kgmt0 <kritphong@teknik.io>
Date: Thu, 1 Dec 2022 00:09:27 -0600 Date: Thu, 1 Dec 2022 00:09:27 -0600
Subject: [PATCH] Add media-formats and media-crops to the config file format Subject: [PATCH] Add media-formats and media-crops to the config file format

View File

@ -29,9 +29,9 @@ RDEPEND="${DEPEND}"
BDEPEND="" BDEPEND=""
PATCHES=( PATCHES=(
"${FILESDIR}"/06230f3a02cffdf8b683f85cb32fc256d73615d9.patch "${FILESDIR}"/8103e662a484c0887d29f11a1284f85ff34d0248.patch
"${FILESDIR}"/27a1e606d680295e0b4caceadf74ff5857ac16b2.patch "${FILESDIR}"/af01107dd65452db159eb961b7ff27b8424cffc7.patch
"${FILESDIR}"/d8b35bc223989cb165ba1b0716ab9f0ca9c43e53.patch "${FILESDIR}"/432d3851d49e4f8a9ef196eb0887cef428ba56c6.patch
) )
src_configure() { src_configure() {