diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2012-06-06 09:56:14 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2012-06-06 09:56:14 +0000 |
commit | a971e71cca70d743d6a9268e6fed82179bae1ed6 (patch) | |
tree | 34eac29a7c0854bc617c42b993565e9ba4a1e995 /pjmedia/src | |
parent | 3377b974f347ef86dfcba3dd299f3751c9a88c69 (diff) |
Fix #1528:
- fixed video format YV12 (was YUV planar 16bpp, should be YVU planar 12bpp)
- added I422 (YUV planar 16bpp, was defined as YV12)
- updated colorbar video device to support YV12.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4158 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src')
-rw-r--r-- | pjmedia/src/pjmedia-videodev/colorbar_dev.c | 9 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/ffmpeg_util.c | 3 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/format.c | 3 |
3 files changed, 11 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-videodev/colorbar_dev.c b/pjmedia/src/pjmedia-videodev/colorbar_dev.c index 11acf6cb..699c8d11 100644 --- a/pjmedia/src/pjmedia-videodev/colorbar_dev.c +++ b/pjmedia/src/pjmedia-videodev/colorbar_dev.c @@ -76,6 +76,7 @@ static struct cbar_fmt_info cbar_fmts[] = /* Planar formats */ { PJMEDIA_FORMAT_YV12 }, { PJMEDIA_FORMAT_I420 }, + { PJMEDIA_FORMAT_I422 }, { PJMEDIA_FORMAT_I420JPEG }, { PJMEDIA_FORMAT_I422JPEG }, }; @@ -354,8 +355,12 @@ static void fill_first_line(pj_uint8_t *first_lines[], if (vfi->color_model == PJMEDIA_COLOR_MODEL_RGB) c = rgb_colors[i][j]; - else - c = yuv_colors[i][j]; + else { + if (vfi->id == PJMEDIA_FORMAT_YV12 && j > 0) + c = yuv_colors[i][3-j]; + else + c = yuv_colors[i][j]; + } bar_width = vafp->strides[j]/8; p = first_lines[j] + bar_width*i; diff --git a/pjmedia/src/pjmedia/ffmpeg_util.c b/pjmedia/src/pjmedia/ffmpeg_util.c index 43d67c31..fa65b7b4 100644 --- a/pjmedia/src/pjmedia/ffmpeg_util.c +++ b/pjmedia/src/pjmedia/ffmpeg_util.c @@ -52,7 +52,8 @@ static const struct ffmpeg_fmt_table_t { PJMEDIA_FORMAT_YUY2, PIX_FMT_YUYV422}, { PJMEDIA_FORMAT_UYVY, PIX_FMT_UYVY422}, { PJMEDIA_FORMAT_I420, PIX_FMT_YUV420P}, - { PJMEDIA_FORMAT_YV12, PIX_FMT_YUV422P}, + //{ PJMEDIA_FORMAT_YV12, PIX_FMT_YUV420P}, + { PJMEDIA_FORMAT_I422, PIX_FMT_YUV422P}, { PJMEDIA_FORMAT_I420JPEG, PIX_FMT_YUVJ420P}, { PJMEDIA_FORMAT_I422JPEG, PIX_FMT_YUVJ422P}, }; diff --git a/pjmedia/src/pjmedia/format.c b/pjmedia/src/pjmedia/format.c index 49369c0b..7c2bb310 100644 --- a/pjmedia/src/pjmedia/format.c +++ b/pjmedia/src/pjmedia/format.c @@ -105,7 +105,8 @@ static pjmedia_video_format_info built_in_vid_fmt_info[] = {PJMEDIA_FORMAT_UYVY, "UYVY", PJMEDIA_COLOR_MODEL_YUV, 16, 1, &apply_packed_fmt}, {PJMEDIA_FORMAT_YVYU, "YVYU", PJMEDIA_COLOR_MODEL_YUV, 16, 1, &apply_packed_fmt}, {PJMEDIA_FORMAT_I420, "I420", PJMEDIA_COLOR_MODEL_YUV, 12, 3, &apply_planar_420}, - {PJMEDIA_FORMAT_YV12, "YV12", PJMEDIA_COLOR_MODEL_YUV, 16, 3, &apply_planar_422}, + {PJMEDIA_FORMAT_YV12, "YV12", PJMEDIA_COLOR_MODEL_YUV, 12, 3, &apply_planar_420}, + {PJMEDIA_FORMAT_I422, "I422", PJMEDIA_COLOR_MODEL_YUV, 16, 3, &apply_planar_422}, {PJMEDIA_FORMAT_I420JPEG, "I420JPG", PJMEDIA_COLOR_MODEL_YUV, 12, 3, &apply_planar_420}, {PJMEDIA_FORMAT_I422JPEG, "I422JPG", PJMEDIA_COLOR_MODEL_YUV, 16, 3, &apply_planar_422}, }; |