WebRTC源码分析3_jpeg编解码

所属模块:webrtc_jpeg
1、接口路径:webrtc\trunk\src\common_video\jpeg\main\interface\jpeg.h
2、特点
  底层调用三方库:jpeglib
 支持的未压缩图像格式:I420
3、使用方法:
将jpeglib封装成 JpegDecoder和JpegEncoder 两个类使用
JpegEncoder目前只支持输出到文件(SetFileName(const WebRtc_Word8* fileName))
4、该模块接口支持的功能有限,可根据需求重新封装jpeglib

[cpp]  view plain copy
  1. class JpegEncoder  
  2. {  
  3. public:  
  4.     JpegEncoder();  
  5.     ~JpegEncoder();  
  6.   
  7. // SetFileName  
  8. // Input:  
  9. //  - fileName - Pointer to input vector (should be less than 256) to which the  
  10. //               compressed  file will be written to  
  11. //    Output:  
  12. //    - 0             : OK  
  13. //    - (-1)          : Error  
  14.     WebRtc_Word32 SetFileName(const WebRtc_Word8* fileName);  
  15.   
  16. // Encode an I420 image. The encoded image is saved to a file  
  17. //  
  18. // Input:  
  19. //          - inputImage        : Image to be encoded  
  20. //  
  21. //    Output:  
  22. //    - 0             : OK  
  23. //    - (-1)          : Error  
  24.     WebRtc_Word32 Encode(const RawImage& inputImage);  
  25.   
  26. private:  
  27.   
  28.     jpeg_compress_struct*   _cinfo;  
  29.     WebRtc_Word8            _fileName[256];  
  30. };  
  31.   
  32. class JpegDecoder  
  33. {  
  34.  public:  
  35.     JpegDecoder();  
  36.     ~JpegDecoder();  
  37.   
  38. // Decodes a JPEG-stream  
  39. // Supports 1 image component. 3 interleaved image components,  
  40. // YCbCr sub-sampling  4:4:4, 4:2:2, 4:2:0.  
  41. //  
  42. // Input:  
  43. //    - inputImage        : encoded image to be decoded.  
  44. //    - outputImage       : RawImage to store decoded output  
  45. //  
  46. //    Output:  
  47. //    - 0             : OK  
  48. //    - (-1)          : Error  
  49.     WebRtc_Word32 Decode(const EncodedImage& inputImage,  
  50.                          RawImage& outputImage);  
  51.  private:  
  52.     jpeg_decompress_struct*    _cinfo;  
  53. };  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值