c - 寻找有关X265编码和解码的技术细节

标签 c ffmpeg java-native-interface hevc libx265

我正在研究 x265,有没有人可以与我分享我是如何使用 x265 编解码器对 yuv 进行编码的?我需要知道你如何从 picture_out 结构中获得像素编码,你能告诉我这段代码是否好吗?希望得到你的解决方案!我正在使用 x265 api 文档,但它不太容易理解。

ret = x265_encoder_encode(encoder, pp_nal, &pi_nal, pic_in, pic_out);
if(ret < 0){

    printf("encodePictureIn, Error in x265_encoder_encode %d\n",ret);
    return ret; 
}

do{

    ret = x265_encoder_encode(encoder, pp_nal, &pi_nal, NULL, pic_out);
    printf("...\n");

}while(ret > 0);

最佳答案

从评论到答案:

pp_nal[x].payload 是指向编码数据的指针。您可以 memcpy,或将其写入文件,或任何您想要的。 x265 附带一个示例。 github.com/videolan/x265/blob/master/source/x265.cpp。 ffmpeg 也有一个 github.com/FFmpeg/FFmpeg/blob/master/libavcodec/libx265.c。 – szatmary

关于c - 寻找有关X265编码和解码的技术细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205919/

相关文章:

php - 如何在 php shell_exec 中运行多个 ffmpeg 任务

java - JNA结构创建带来麻烦

java - .net 的 GC.KeepAlive 的 Java 等价物是什么?

c - 通过引用传递并将值赋给结构指针的指针

c - 基数排序时如何使字符串粘在一起?

Firefox 说 ffmpeg 中从 mkv 转换为 mp4 的某些文件已损坏

java - Android JNI java.lang.NoSuchMethodError : no non-static method

c - 可变参数函数传递很长但读取为 va_arg(argList, int)

c - 大多数程序都可以运行,但我的数组没有按应有的方式打印

laravel - 磁盘 [视频] 没有配置的驱动程序