Browse Source

Merge commit '39975acc699c83af0a87a7318c0f41e189142938'

* commit '39975acc699c83af0a87a7318c0f41e189142938':
  rtpenc_jpeg: check for color_range too

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Michael Niedermayer 11 years ago
parent
commit
823ea19a74
1 changed files with 8 additions and 4 deletions
  1. +8
    -4
      libavformat/rtpenc_jpeg.c

+ 8
- 4
libavformat/rtpenc_jpeg.c View File

@@ -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");


Loading…
Cancel
Save