Changeset 5198


Ignore:
Timestamp:
Nov 10, 2015 5:28:47 AM (4 years ago)
Author:
riza
Message:

Re #1897: Implement support to Ffmpeg 2.8.

Location:
pjproject/trunk/pjmedia/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c

    r4987 r5198  
    195195     * may be needed for post-decoding. 
    196196     */ 
    197     enum PixelFormat                 expected_dec_fmt; 
     197    enum AVPixelFormat               expected_dec_fmt; 
    198198                                                /**< Expected output format of  
    199199                                                     ffmpeg decoder         */ 
     
    674674            unsigned raw_fmt_cnt = 0; 
    675675            unsigned raw_fmt_cnt_should_be = 0; 
    676             const enum PixelFormat *p = c->pix_fmts; 
     676            const enum AVPixelFormat *p = c->pix_fmts; 
    677677 
    678678            for(;(p && *p != -1) && 
     
    10971097                                     pj_mutex_t *ff_mutex) 
    10981098{ 
    1099     enum PixelFormat pix_fmt; 
     1099    enum AVPixelFormat pix_fmt; 
    11001100    pjmedia_video_format_detail *vfd; 
    11011101    pj_bool_t enc_opened = PJ_FALSE, dec_opened = PJ_FALSE; 
     
    14301430    PJ_ASSERT_RETURN(ff->enc_ctx, PJ_EINVALIDOP); 
    14311431 
    1432     avcodec_get_frame_defaults(&avframe); 
     1432    pj_bzero(&avframe, sizeof(avframe)); 
     1433    av_frame_unref(&avframe); 
    14331434 
    14341435    // Let ffmpeg manage the timestamps 
     
    16801681     * closed). 
    16811682     */ 
    1682     avcodec_get_frame_defaults(&avframe); 
     1683    pj_bzero(&avframe, sizeof(avframe)); 
     1684    av_frame_unref(&avframe); 
    16831685 
    16841686    /* Init packet, the container of the encoded data */ 
  • pjproject/trunk/pjmedia/src/pjmedia/converter_libswscale.c

    r4076 r5198  
    6767                                            pjmedia_converter **p_cv) 
    6868{ 
    69     enum PixelFormat srcFormat, dstFormat; 
     69    enum AVPixelFormat srcFormat, dstFormat; 
    7070    const pjmedia_video_format_detail *src_detail, *dst_detail; 
    7171    const pjmedia_video_format_info *src_fmt_info, *dst_fmt_info; 
  • pjproject/trunk/pjmedia/src/pjmedia/ffmpeg_util.c

    r4808 r5198  
    2727#include <libavformat/avformat.h> 
    2828 
    29 /* PIX_FMT_GBR24P hassle: 
    30  * - PIX_FMT_GBR24P is introduced (perhaps in avutil 51.20.1) 
    31  * - suddenly PIX_FMT_GBR24P is replaced by PIX_FMT_GBRP, no alias defined, 
    32  *   so PIX_FMT_GBR24P is just gone! (perhaps in avutil 51.42.0) 
    33  * - then lately PIX_FMT_GBR24P is defined as PIX_FMT_GBRP 
    34  */ 
    35 #if !defined(PIX_FMT_GBR24P) && \ 
    36     LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,42,0) 
    37 #  define PIX_FMT_GBR24P PIX_FMT_GBRP 
    38 #endif 
    39  
    40 /* Conversion table between pjmedia_format_id and PixelFormat */ 
     29/* Conversion table between pjmedia_format_id and AVPixelFormat */ 
    4130static const struct ffmpeg_fmt_table_t 
    4231{ 
    4332    pjmedia_format_id   id; 
    44     enum PixelFormat    pf; 
     33    enum AVPixelFormat  pf; 
    4534} ffmpeg_fmt_table[] = 
    4635{ 
    47     { PJMEDIA_FORMAT_RGBA, PIX_FMT_RGBA}, 
    48     { PJMEDIA_FORMAT_RGB24,PIX_FMT_BGR24}, 
    49     { PJMEDIA_FORMAT_BGRA, PIX_FMT_BGRA}, 
    50 #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51, 20, 1) 
    51     { PJMEDIA_FORMAT_GBRP, PIX_FMT_GBR24P}, 
    52 #endif 
     36    { PJMEDIA_FORMAT_RGBA, AV_PIX_FMT_RGBA}, 
     37    { PJMEDIA_FORMAT_RGB24,AV_PIX_FMT_BGR24}, 
     38    { PJMEDIA_FORMAT_BGRA, AV_PIX_FMT_BGRA}, 
     39    { PJMEDIA_FORMAT_GBRP, AV_PIX_FMT_GBRP}, 
    5340 
    54     { PJMEDIA_FORMAT_AYUV, PIX_FMT_NONE}, 
    55     { PJMEDIA_FORMAT_YUY2, PIX_FMT_YUYV422}, 
    56     { PJMEDIA_FORMAT_UYVY, PIX_FMT_UYVY422}, 
    57     { PJMEDIA_FORMAT_I420, PIX_FMT_YUV420P}, 
    58     //{ PJMEDIA_FORMAT_YV12, PIX_FMT_YUV420P}, 
    59     { PJMEDIA_FORMAT_I422, PIX_FMT_YUV422P}, 
    60     { PJMEDIA_FORMAT_I420JPEG, PIX_FMT_YUVJ420P}, 
    61     { PJMEDIA_FORMAT_I422JPEG, PIX_FMT_YUVJ422P}, 
     41    { PJMEDIA_FORMAT_AYUV, AV_PIX_FMT_NONE}, 
     42    { PJMEDIA_FORMAT_YUY2, AV_PIX_FMT_YUYV422}, 
     43    { PJMEDIA_FORMAT_UYVY, AV_PIX_FMT_UYVY422}, 
     44    { PJMEDIA_FORMAT_I420, AV_PIX_FMT_YUV420P}, 
     45    //{ PJMEDIA_FORMAT_YV12, AV_PIX_FMT_YUV420P}, 
     46    { PJMEDIA_FORMAT_I422, AV_PIX_FMT_YUV422P}, 
     47    { PJMEDIA_FORMAT_I420JPEG, AV_PIX_FMT_YUVJ420P}, 
     48    { PJMEDIA_FORMAT_I422JPEG, AV_PIX_FMT_YUVJ422P}, 
    6249}; 
    6350 
     
    6956} ffmpeg_codec_table[] = 
    7057{ 
    71     {PJMEDIA_FORMAT_H261,       CODEC_ID_H261}, 
    72     {PJMEDIA_FORMAT_H263,       CODEC_ID_H263}, 
    73     {PJMEDIA_FORMAT_H263P,      CODEC_ID_H263P}, 
    74     {PJMEDIA_FORMAT_H264,       CODEC_ID_H264}, 
    75     {PJMEDIA_FORMAT_MPEG1VIDEO, CODEC_ID_MPEG1VIDEO}, 
    76     {PJMEDIA_FORMAT_MPEG2VIDEO, CODEC_ID_MPEG2VIDEO}, 
    77     {PJMEDIA_FORMAT_MPEG4,      CODEC_ID_MPEG4}, 
    78     {PJMEDIA_FORMAT_MJPEG,      CODEC_ID_MJPEG} 
     58    {PJMEDIA_FORMAT_H261,       AV_CODEC_ID_H261}, 
     59    {PJMEDIA_FORMAT_H263,       AV_CODEC_ID_H263}, 
     60    {PJMEDIA_FORMAT_H263P,      AV_CODEC_ID_H263P}, 
     61    {PJMEDIA_FORMAT_H264,       AV_CODEC_ID_H264}, 
     62    {PJMEDIA_FORMAT_MPEG1VIDEO, AV_CODEC_ID_MPEG1VIDEO}, 
     63    {PJMEDIA_FORMAT_MPEG2VIDEO, AV_CODEC_ID_MPEG2VIDEO}, 
     64    {PJMEDIA_FORMAT_MPEG4,      AV_CODEC_ID_MPEG4}, 
     65    {PJMEDIA_FORMAT_MJPEG,      AV_CODEC_ID_MJPEG} 
    7966}; 
    8067 
     
    140127 
    141128pj_status_t pjmedia_format_id_to_PixelFormat(pjmedia_format_id fmt_id, 
    142                                              enum PixelFormat *pixel_format) 
     129                                             enum AVPixelFormat *pixel_format) 
    143130{ 
    144131    unsigned i; 
    145132    for (i=0; i<PJ_ARRAY_SIZE(ffmpeg_fmt_table); ++i) { 
    146133        const struct ffmpeg_fmt_table_t *t = &ffmpeg_fmt_table[i]; 
    147         if (t->id==fmt_id && t->pf != PIX_FMT_NONE) { 
     134        if (t->id==fmt_id && t->pf != AV_PIX_FMT_NONE) { 
    148135            *pixel_format = t->pf; 
    149136            return PJ_SUCCESS; 
     
    151138    } 
    152139 
    153     *pixel_format = PIX_FMT_NONE; 
     140    *pixel_format = AV_PIX_FMT_NONE; 
    154141    return PJ_ENOTFOUND; 
    155142} 
    156143 
    157 pj_status_t PixelFormat_to_pjmedia_format_id(enum PixelFormat pf, 
     144pj_status_t PixelFormat_to_pjmedia_format_id(enum AVPixelFormat pf, 
    158145                                             pjmedia_format_id *fmt_id) 
    159146{ 
     
    176163    for (i=0; i<PJ_ARRAY_SIZE(ffmpeg_codec_table); ++i) { 
    177164        const struct ffmpeg_codec_table_t *t = &ffmpeg_codec_table[i]; 
    178         if (t->id==fmt_id && t->codec_id != PIX_FMT_NONE) { 
     165        if (t->id==fmt_id && t->codec_id != AV_PIX_FMT_NONE) { 
    179166            *codec_id = t->codec_id; 
    180167            return PJ_SUCCESS; 
     
    182169    } 
    183170 
    184     *codec_id = (unsigned)PIX_FMT_NONE; 
     171    *codec_id = (unsigned)AV_PIX_FMT_NONE; 
    185172    return PJ_ENOTFOUND; 
    186173} 
  • pjproject/trunk/pjmedia/src/pjmedia/ffmpeg_util.h

    r4808 r5198  
    4242 
    4343pj_status_t pjmedia_format_id_to_PixelFormat(pjmedia_format_id fmt_id, 
    44                                              enum PixelFormat *pixel_format); 
     44                                             enum AVPixelFormat *pixel_format); 
    4545 
    46 pj_status_t PixelFormat_to_pjmedia_format_id(enum PixelFormat pf, 
     46pj_status_t PixelFormat_to_pjmedia_format_id(enum AVPixelFormat pf, 
    4747                                             pjmedia_format_id *fmt_id); 
    4848 
Note: See TracChangeset for help on using the changeset viewer.