From: Rodeo Date: Wed, 21 Aug 2013 19:15:37 +0000 (+0000) Subject: QSV: add support for qsv_h264 to the new avformat-based muxers. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=57bbea1ce19ca2048bbcef2335d7c84742422efa;p=handbrake QSV: add support for qsv_h264 to the new avformat-based muxers. git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/qsv@5730 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- diff --git a/libhb/common.c b/libhb/common.c index 7a675e27d..61375a3b2 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -194,7 +194,7 @@ hb_encoder_internal_t hb_video_encoders[] = { { "VP3 (Theora)", "libtheora", HB_VCODEC_THEORA, HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_VCODEC_THEORA, }, // actual encoders { { "H.264 (x264)", "x264", HB_VCODEC_X264, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_VCODEC_H264, }, - { { "H.264 (Intel QSV)", "qsv_h264", HB_VCODEC_QSV_H264, HB_MUX_MP4V2 | HB_MUX_LIBMKV, }, NULL, 1, HB_GID_VCODEC_H264, }, + { { "H.264 (Intel QSV)", "qsv_h264", HB_VCODEC_QSV_H264, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_VCODEC_H264, }, { { "MPEG-4", "mpeg4", HB_VCODEC_FFMPEG_MPEG4, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_VCODEC_MPEG4, }, { { "MPEG-2", "mpeg2", HB_VCODEC_FFMPEG_MPEG2, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_VCODEC_MPEG2, }, { { "Theora", "theora", HB_VCODEC_THEORA, HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_VCODEC_THEORA, }, diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c index 767e8d314..ff53ebbe9 100644 --- a/libhb/muxavformat.c +++ b/libhb/muxavformat.c @@ -207,6 +207,7 @@ static int avformatInit( hb_mux_object_t * m ) switch (job->vcodec) { case HB_VCODEC_X264: + case HB_VCODEC_QSV_H264: track->st->codec->codec_id = AV_CODEC_ID_H264; /* Taken from x264 muxers.c */ @@ -1015,8 +1016,8 @@ static int avformatMux(hb_mux_object_t *m, hb_mux_data_t *track, hb_buffer_t *bu pkt.pts = pts; pkt.duration = duration; - if (track->type == MUX_TYPE_VIDEO && - (job->vcodec == HB_VCODEC_X264 || job->vcodec & HB_VCODEC_FFMPEG_MASK)) + if (track->type == MUX_TYPE_VIDEO && ((job->vcodec & HB_VCODEC_H264_MASK) || + (job->vcodec & HB_VCODEC_FFMPEG_MASK))) { if (buf->s.frametype == HB_FRAME_IDR) pkt.flags |= AV_PKT_FLAG_KEY;