| @@ -29,7 +29,7 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) | |||||
| RTPMuxContext *s = s1->priv_data; | RTPMuxContext *s = s1->priv_data; | ||||
| const uint8_t *qtables = NULL; | const uint8_t *qtables = NULL; | ||||
| int nb_qtables = 0; | int nb_qtables = 0; | ||||
| uint8_t type = 1; /* default pixel format is AV_PIX_FMT_YUVJ420P */ | |||||
| uint8_t type; | |||||
| uint8_t w, h; | uint8_t w, h; | ||||
| uint8_t *p; | uint8_t *p; | ||||
| int off = 0; /* fragment offset of the current JPEG frame */ | int off = 0; /* fragment offset of the current JPEG frame */ | ||||
| @@ -43,10 +43,14 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) | |||||
| w = s1->streams[0]->codec->width >> 3; | w = s1->streams[0]->codec->width >> 3; | ||||
| h = s1->streams[0]->codec->height >> 3; | h = s1->streams[0]->codec->height >> 3; | ||||
| /* check if pixel format is not the normal 420 case */ | |||||
| if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P) { | |||||
| /* get the pixel format type or fail */ | |||||
| if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P || | |||||
| (s1->streams[0]->codec->color_range == AVCOL_RANGE_JPEG && | |||||
| s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUV422P)) { | |||||
| type = 0; | type = 0; | ||||
| } else if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ420P) { | |||||
| } else if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ420P || | |||||
| (s1->streams[0]->codec->color_range == AVCOL_RANGE_JPEG && | |||||
| s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUV420P)) { | |||||
| type = 1; | type = 1; | ||||
| } else { | } else { | ||||
| av_log(s1, AV_LOG_ERROR, "Unsupported pixel format\n"); | av_log(s1, AV_LOG_ERROR, "Unsupported pixel format\n"); | ||||