[Bug 763321] Failed to play VAAPI HW JPEG decode for video clip with codec ID: MJPG

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Mar 9 09:37:10 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=763321

--- Comment #4 from Lim Siew Hoon <siew.hoon.lim at intel.com> ---
using ffmpeg to generate the mjpeg video clip.

command:
ffmpeg.exe -i h264_800x600_Main_at_L3.mp4  -c:v mjpeg -q:v 3 -an -pix_fmt
yuvj444p output_444.avi

Trace until in ffmpeg: libavcodec/mjpegenc_common.c 
(gst-libav: gst-libs/ext/libav/libavcodec/mjpegenc_common.c) , the
ff_mjpeg_init_hvsample function is the one set the vertical sampling factor to
2 if it is pix_fmt yuvj444p.

Or can suggest any tools will be help to create jpeg video clip for YUV444 for
vertical sampling factor=1? 

void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int
vsample[4])
{
    int chroma_h_shift, chroma_v_shift;

    av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift,
                                     &chroma_v_shift);
    if (avctx->codec->id == AV_CODEC_ID_LJPEG &&
        (   avctx->pix_fmt == AV_PIX_FMT_BGR0
         || avctx->pix_fmt == AV_PIX_FMT_BGRA
         || avctx->pix_fmt == AV_PIX_FMT_BGR24)) {
        vsample[0] = hsample[0] =
        vsample[1] = hsample[1] =
        vsample[2] = hsample[2] =
        vsample[3] = hsample[3] = 1;
    } else if (avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt ==
AV_PIX_FMT_YUVJ444P) {
        vsample[0] = vsample[1] = vsample[2] = 2;
        hsample[0] = hsample[1] = hsample[2] = 1;
hsample=1\n");
    } else {
        vsample[0] = 2;
        vsample[1] = 2 >> chroma_v_shift;
        vsample[2] = 2 >> chroma_v_shift;
        hsample[0] = 2;
        hsample[1] = 2 >> chroma_h_shift;
        hsample[2] = 2 >> chroma_h_shift;
    }
}

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list