This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TMS320DM8168:关于使用 V4L2捕获 API 进行裁剪和缩放

Guru**** 2527480 points
Other Parts Discussed in Thread: TVP5150, TVP7002

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649006/linux-tms320dm8168-about-cropping-and-scaling-using-v4l2-capture-api

器件型号:TMS320DM8168
Thread 中讨论的其他器件:TVP5150TVP7002

工具/软件:Linux

您好!

有人能不能确认我 V4L2捕捉驱动器的裁剪能力。

我从/dev/video0捕获帧(720x576)并希望裁剪640x480区域。

struct v4l2_cROP;
cROP.type = V4L2_BUF_TYPE_ VIDEO _CAPTURE;
cROP.c.left = 0;
cROP.c.top = 0;
cROP.c.width = 640;
CROP.c.height = 480;

ret = ioctl (FD、VIDIOC_S_CROP、&CROP); 

VIDIOC_S_CROP 返回-1。 在 ti81xxvin_main.c 中、函数 vidioc_s_cROP 失败、因为不支持隔行格式。

static int vidioc_s_cROP (struct file *文件、void * priv,
struct v4l2_cROP *裁剪)
{
//.................
if (params->interladed){
mutex_unlock (&buf_obj->buf_lock);
return -EINVAL;//函数在此处返回

我认为 EZSDK 中的 V4L2捕捉驱动程序不支持裁剪和缩放。

我想裁剪帧并执行一些图像处理。 有人能给我一些建议吗!

非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看本指南:
    processors.wiki.ti.com/.../TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide

    您也可以查看 saLoopBackScale 演示。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我已使用我的解码器修改了 saLoopbackScale (tvp5150、720x576和 YUYV)。 此演示也在 ioctl VIDIOC_S_CROP 上失败
    if (ioctl (capt.fd、VIDIOC_S_CROP、&capt.CROP){
    printf ("设置格式失败\n");
    退出(2);


    我已仔细阅读"TI81XX PSP 视频捕捉驱动程序用户指南"。 我还在 ti81xxvin_main.c 中检查函数 vidioc_s_cROP 的源代码、因为它仅支持渐进格式、因此失败。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您可以在视频捕获用户指南中查看、因此支持逐行输入进行裁剪和缩放。
    请查看功能章节:
    *支持 YUV 格式的缩放和裁剪(仅限下缩放和渐进输入)


    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢!
    我对隔行和逐行格式不了解太多。我仅了解如下3种常见像素格式:
    + V4L2_PI_FMT_YUV:YUV422交错
    + V4L2_PI_FMT_RGB24:24位 RGB 交错
    + V4L2_PI_FMT_NV12:YUV420半平面(我使用此格式传递到 OMX H264编码器)
    我尝试过上述格式、但函数 ioctl VIDIOC_S_CROP 仍然返回失败。
    您能为我提供有关设置格式的更多详细信息吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请检查这些线程、它们可能会有所帮助:
    e2e.ti.com/.../868884
    e2e.ti.com/.../613773

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢!

    我可以使用 tvp7002 (720p 和1080p)裁剪和缩放图像。 对于 PAL 输入,我使用 tvp5150,它可能不支持 渐进格式。