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.

[参考译文] 编译器:如何将 YUV422编码为 H.264格式视频文件

Guru**** 2595770 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/959301/compiler-how-to-encode-yuv422-to-h-264-format-video-file

工具/软件:TI C/C++编译器

您好 TI

 我有4个摄像头、摄像头输出 YUV422格式数据、我希望将 YUV422格式数据编码为 H.264视频文件

 我该怎么做?

我正在处理的当前计划是,4摄像头(YUV422)-->捕捉(UYVY)--> LDC (NV12)--> Mosaic (NV12)-->编码(h264)。

它工作时出错,错误为:

[MCU2_0] 47.9020s:数据将不适合平面(1442880 < 3220288)
[MCU2_0] 47.9080s:vx_zone_error:[TIvxVideoEncoderProcess:303] MM_ENC buf 准备失败
[MCU2_0] 47.909127 s:vx_zone_error:[TIvxTargetKernelExecute:370]针对[com.ti.hw.VIDEO_ENCODER]的内核处理函数返回错误代码:-1

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

    让任何人重放?

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

    您好、李宏治、

    根据错误日志、我假设您使用的是 TDA4 RTOS SDK。

    错误指向您为图形创建和处理提供不同图像分辨率的情形。

    因此、请与您共享用于创建和处理图形的应用代码以及分辨率

    此外、请分享您正在使用的 SDK 版本。

    谢谢、此致、

    Sunita。

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

    您好 Sunita,ä n
      我使用 TDA4 RTOS SDK,版本为7.0

       附件是我的源代码

    谢谢!e2e.ti.com/.../app_5F00_video.rar

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

    您好、李宏治、

    感谢您分享更多详细信息。 您似乎创建了分辨率为1280x720的图形、但不清楚哪些图像用于处理编码图形。

    请打印以下突出显示的参数、并检查发送到图形处理的缓冲区分辨率。

    文件:tiovx/tiovx_dev/kernels_j7/ha/venc/vx_video_encoder_target.c

    函数: tivxVideoEncoderProcess{

    三、会议的报告

    三、会议的报告


    encoder_obj->in_buff.chId = encoder_obj->channel_id;
    Encoder_obj->in_buff.type = MM_BUF_TY_VIDEO 输入;
    Encoder_obj->in_buff.num_planes = input_image_desc->planes;
    Encoder_obj->in_buff.size[0]= input_image_desc->mem_size[0];
    Encoder_obj->in_buff.size[1]= input_image_desc->mem_size[1];
    Encoder_obj->in_buf_addr[0]= input_image_target_ptr_y;
    Encoder_obj->in_buf_addr[1]= input_image_target_ptr_UV;

    encoder_obj->out_buff.chId = encoder_obj->channel_id;
    Encoder_obj->out_buff.type = MM_BUF_TY_VIDEO;
    Encoder_obj->out_buffer.num_planes = 1;
    Encoder_obj->out_buffer.size[0]= output_bitstream_desc->mem_size;
    Encoder_obj->out_buf_addr[0]=位流;

    MM_STATUS = MM_ENC_BufPrepare (&encoder_obj->in_buff、Encoder_obj->channel_id);
    MM_STATUS |= MM_ENC_BufPrepare (&encoder_obj->out_buff、Encoder_obj->channel_id);

    …………

    ………….

    谢谢、此致、

    Sunita。