Module: libav
Branch: master
Commit: 39975acc699c83af0a87a7318c0f41e189142938

Author:    Vittorio Giovara <[email protected]>
Committer: Vittorio Giovara <[email protected]>
Date:      Thu Jun 26 15:29:52 2014 -0400

rtpenc_jpeg: check for color_range too

---

 libavformat/rtpenc_jpeg.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavformat/rtpenc_jpeg.c b/libavformat/rtpenc_jpeg.c
index 04df658..9d0915b 100644
--- a/libavformat/rtpenc_jpeg.c
+++ b/libavformat/rtpenc_jpeg.c
@@ -29,7 +29,7 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t 
*buf, int size)
     RTPMuxContext *s = s1->priv_data;
     const uint8_t *qtables = NULL;
     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 *p;
     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;
     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;
-    } 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;
     } else {
         av_log(s1, AV_LOG_ERROR, "Unsupported pixel format\n");

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to