小编HMD*_*HMD的帖子

如何将像素格式为AV_PIX_FMT_CUDA的FFmpeg AVFrame转换为像素格式为AV_PIX_FMT_RGB的新AVFrame

我有一个使用FFmpeg 3.2接收H264 RTP流的简单C ++应用程序。为了节省CPU,我正在使用编解码器h264_cuvid进行解码。我的FFmpeg 3.2是在启用硬件加速的情况下编译的。实际上,如果我执行以下命令:

ffmpeg -hwaccels
Run Code Online (Sandbox Code Playgroud)

我懂了

cuvid
Run Code Online (Sandbox Code Playgroud)

这意味着我的FFmpeg设置可以与NVIDIA卡“通话”。该功能avcodec_decode_video2提供给我的帧具有像素格式AV_PIX_FMT_CUDA。我需要使用将这些框架转换为新的框架AV_PIX_FMT_RGB。不幸的是,我可以用很好knwon功能不进行转换sws_getContext,并sws_scale因为像素格式AV_PIX_FMT_CUDA不被支持。如果我尝试使用swscale,则会收到错误消息:

“不支持cuda作为输入像素格式”

您知道如何将FFmpeg AVFrame从转换AV_PIX_FMT_CUDAAV_PIX_FMT_RGB吗?(代码片段将不胜感激)

c++ ffmpeg h.264 cuvid

8
推荐指数
2
解决办法
4136
查看次数

以Qt为单位获得毫秒精度当前时间

Qt文档QTime::currentTime()说:

请注意,准确性取决于底层操作系统的准确性; 并非所有系统都能提供1毫秒的精度.

但是有没有办法在Windows 7中以毫秒精度获得这个时间?

c++ qt qtime

5
推荐指数
1
解决办法
4168
查看次数

std :: lock_guard有什么问题

我有简单的代码:第一线推std::stringsstd::list,及第二线程弹出std::stringsstd::list.所有std::list的操作都受到保护std::mutex m.此代码将错误永久打印到控制台:"Error: lst.begin() == lst.end()".

如果我替换std::lock_guard为构造m.lock(),m.unlock()代码开始正常工作.有什么问题std::lock_guard

#include <iostream>
#include <thread>
#include <mutex>
#include <list>
#include <string>

std::mutex m;
std::list<std::string> lst;

void f2()
{
    for (int i = 0; i < 5000; ++i)
    {
        std::lock_guard<std::mutex> { m };
        lst.push_back(std::to_string(i));
    }

    m.lock();
    lst.push_back("-1"); // last list's element
    m.unlock();
}

void f1()
{
    std::string str;

    while (true)
    {
        m.lock();
        if (!lst.empty()) …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading c++11

5
推荐指数
1
解决办法
686
查看次数

任何人都知道为什么LDR r0,[r1,r2]!工作不正常?(用拇指2)

例如,LDR r0,[r1, #4]!,r1值将变为r1+4然后负载值r0,但是,当我试图用LDR r0,[r1, r2]!,r1并没有改变.

我正在使用TM4C123GH6PGE和CCS 5.4

assembly arm texas-instruments cortex-m

2
推荐指数
2
解决办法
473
查看次数

如何在Win32下初始化Pango?

已经从GTK +项目的Win32的下载下载攀高和GLib的页面和已经创建并配置Visual Studio的下一个Win32项目2005年使其指向正确的lib包括目录,你如何初始化攀高呈现为Win32窗口?

第一次调用应该是pango_win32_get_context()吗?调用该函数会导致应用程序挂起该调用,因为该函数永远不会返回.

第一次打电话应该是什么?还需要什么其他调用来初始化Pango for Win32并呈现一个简单的文本字符串?在Win32下使用Pango进行渲染是否有在线可用的示例?

c++ graphics winapi fonts pango

1
推荐指数
1
解决办法
983
查看次数

不使用循环,将ISBN-10的前9位数字作为字符串读取并计算第10位数

我遗漏了章节中的一些内容; 我前后都看过它们,但我想我需要某种一般的指导.

不允许使用loops,我已经阅读了JAVAPython示例.

我应该修改我的第一个(顶部)代码以使用字符串输入,getline然后计算ISBN-10的最后一个数字.

有了输入013601267,我不知道为什么我的输出是5在修改后的代码中第10位的校验和之后.价值应该是1.

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  cout
  << "Enter the first nine digits as integerss of an ISBN.."
  <<endl;
  int d1, d2, d3, d4, d5, d6, d7, d8, d9;
  int d10;
  cin
  >> d1
  >> d2
  >> d3
  >> d4
  >> d5
  >> d6
  >> d7
  >> d8
  >> d9;
  d10 = ( d1 * 1 + …
Run Code Online (Sandbox Code Playgroud)

c++ string

1
推荐指数
1
解决办法
209
查看次数

解析jpeg二进制文件

我在互联网上探索了两天,仍然无法找到一个良好的开端.我想用c#编写代码来获取.jpeg二进制文件并对其进行解码并显示图像.我看到的每个地方都有很多关于jpeg算法的解释,但我仍然找不到关于如何解析和解码这个文件的好解释.我的意思是,例如,我如何知道霍夫曼DC表以什么数字开头,并以什么数字结束?我很感激,如果有人可以链接我,我可以找到有关解析二进制jpeg文件的解释.谢谢你,对不起我的英语.

c# jpeg decode

0
推荐指数
1
解决办法
1139
查看次数

如何设置QSpinbox增量大于+1?

在程序的不同区域,我需要在某处设置不同的增量+1,而在某些地方设置+2或更多.这该怎么做?

c++ user-interface qt qt-creator qspinbox

-3
推荐指数
1
解决办法
1332
查看次数