亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 C.AVFrame* 轉換為圖像。圖像?

如何將 C.AVFrame* 轉換為圖像。圖像?

Go
HUH函數 2022-08-01 15:26:53
我有 C.AVFrame* 原始圖像。從C.AVFrame*轉換為jpg后,我正在處理jpg解碼后的Go圖像。有沒有辦法直接從C.AVFrame*創建Go圖像?
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

這是一個很好的起點:https://github.com/nareix/joy4/blob/05a4ffbb53695aaacf9a2e2624472686280ab6dc/cgo/ffmpeg/video.go#L64-L88


一旦你擁有了你所能做到的:*C.AVFrameframe


func fromCPtr(buf unsafe.Pointer, size int) (ret []uint8) {

    hdr := (*reflect.SliceHeader)((unsafe.Pointer(&ret)))

    hdr.Cap = size

    hdr.Len = size

    hdr.Data = uintptr(buf)

    return

}



w := int(frame.width)

h := int(frame.height)

ys := int(frame.linesize[0])

cs := int(frame.linesize[1])


img = image.YCbCr{

    Y: fromCPtr(unsafe.Pointer(frame.data[0]), ys*h),

    Cb: fromCPtr(unsafe.Pointer(frame.data[1]), cs*h/2),

    Cr: fromCPtr(unsafe.Pointer(frame.data[2]), cs*h/2),

    YStride: ys,

    CStride: cs,

    SubsampleRatio: image.YCbCrSubsampleRatio420,

    Rect: image.Rect(0, 0, w, h),

}

在 哪個實現中填充映像image.YCbCrimage.Image


查看完整回答
反對 回復 2022-08-01
  • 1 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號