diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-03-15 11:53:59 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-25 07:49:34 -0400 |
commit | 9a8bfe9fe958beef9cfb9a6f7b0922cc51deb65c (patch) | |
tree | fd1d7a88f2a8132178cc7cd50b84ee12e12f095d | |
parent | 225642853a1f2536757b775f76d925b78622ae28 (diff) |
[media] solo6x10: use V4L2_PIX_FMT_MPEG4, not _FMT_MPEG
FMT_MPEG is for multiplexed streams, not elementary streams. The same is
true for the V4L2_CID_MPEG_VIDEO_ENCODING control.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/staging/media/solo6x10/v4l2-enc.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/staging/media/solo6x10/v4l2-enc.c b/drivers/staging/media/solo6x10/v4l2-enc.c index 225b634d241b..f804c936471c 100644 --- a/drivers/staging/media/solo6x10/v4l2-enc.c +++ b/drivers/staging/media/solo6x10/v4l2-enc.c | |||
@@ -516,7 +516,7 @@ static int solo_enc_fillbuf(struct solo_enc_dev *solo_enc, | |||
516 | vb->v4l2_buf.flags |= V4L2_BUF_FLAG_MOTION_DETECTED; | 516 | vb->v4l2_buf.flags |= V4L2_BUF_FLAG_MOTION_DETECTED; |
517 | } | 517 | } |
518 | 518 | ||
519 | if (solo_enc->fmt == V4L2_PIX_FMT_MPEG) | 519 | if (solo_enc->fmt == V4L2_PIX_FMT_MPEG4) |
520 | ret = solo_fill_mpeg(solo_enc, vb, vh); | 520 | ret = solo_fill_mpeg(solo_enc, vb, vh); |
521 | else | 521 | else |
522 | ret = solo_fill_jpeg(solo_enc, vb, vh); | 522 | ret = solo_fill_jpeg(solo_enc, vb, vh); |
@@ -779,7 +779,7 @@ static int solo_enc_enum_fmt_cap(struct file *file, void *priv, | |||
779 | { | 779 | { |
780 | switch (f->index) { | 780 | switch (f->index) { |
781 | case 0: | 781 | case 0: |
782 | f->pixelformat = V4L2_PIX_FMT_MPEG; | 782 | f->pixelformat = V4L2_PIX_FMT_MPEG4; |
783 | strcpy(f->description, "MPEG-4 AVC"); | 783 | strcpy(f->description, "MPEG-4 AVC"); |
784 | break; | 784 | break; |
785 | case 1: | 785 | case 1: |
@@ -802,7 +802,7 @@ static int solo_enc_try_fmt_cap(struct file *file, void *priv, | |||
802 | struct solo_dev *solo_dev = solo_enc->solo_dev; | 802 | struct solo_dev *solo_dev = solo_enc->solo_dev; |
803 | struct v4l2_pix_format *pix = &f->fmt.pix; | 803 | struct v4l2_pix_format *pix = &f->fmt.pix; |
804 | 804 | ||
805 | if (pix->pixelformat != V4L2_PIX_FMT_MPEG && | 805 | if (pix->pixelformat != V4L2_PIX_FMT_MPEG4 && |
806 | pix->pixelformat != V4L2_PIX_FMT_MJPEG) | 806 | pix->pixelformat != V4L2_PIX_FMT_MJPEG) |
807 | return -EINVAL; | 807 | return -EINVAL; |
808 | 808 | ||
@@ -907,7 +907,7 @@ static int solo_enum_framesizes(struct file *file, void *priv, | |||
907 | struct solo_enc_dev *solo_enc = video_drvdata(file); | 907 | struct solo_enc_dev *solo_enc = video_drvdata(file); |
908 | struct solo_dev *solo_dev = solo_enc->solo_dev; | 908 | struct solo_dev *solo_dev = solo_enc->solo_dev; |
909 | 909 | ||
910 | if (fsize->pixel_format != V4L2_PIX_FMT_MPEG && | 910 | if (fsize->pixel_format != V4L2_PIX_FMT_MPEG4 && |
911 | fsize->pixel_format != V4L2_PIX_FMT_MJPEG) | 911 | fsize->pixel_format != V4L2_PIX_FMT_MJPEG) |
912 | return -EINVAL; | 912 | return -EINVAL; |
913 | 913 | ||
@@ -935,7 +935,7 @@ static int solo_enum_frameintervals(struct file *file, void *priv, | |||
935 | struct solo_enc_dev *solo_enc = video_drvdata(file); | 935 | struct solo_enc_dev *solo_enc = video_drvdata(file); |
936 | struct solo_dev *solo_dev = solo_enc->solo_dev; | 936 | struct solo_dev *solo_dev = solo_enc->solo_dev; |
937 | 937 | ||
938 | if (fintv->pixel_format != V4L2_PIX_FMT_MPEG && | 938 | if (fintv->pixel_format != V4L2_PIX_FMT_MPEG4 && |
939 | fintv->pixel_format != V4L2_PIX_FMT_MJPEG) | 939 | fintv->pixel_format != V4L2_PIX_FMT_MJPEG) |
940 | return -EINVAL; | 940 | return -EINVAL; |
941 | if (fintv->index) | 941 | if (fintv->index) |
@@ -1024,8 +1024,6 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl) | |||
1024 | case V4L2_CID_SHARPNESS: | 1024 | case V4L2_CID_SHARPNESS: |
1025 | return tw28_set_ctrl_val(solo_dev, ctrl->id, solo_enc->ch, | 1025 | return tw28_set_ctrl_val(solo_dev, ctrl->id, solo_enc->ch, |
1026 | ctrl->val); | 1026 | ctrl->val); |
1027 | case V4L2_CID_MPEG_VIDEO_ENCODING: | ||
1028 | return 0; | ||
1029 | case V4L2_CID_MPEG_VIDEO_GOP_SIZE: | 1027 | case V4L2_CID_MPEG_VIDEO_GOP_SIZE: |
1030 | solo_enc->gop = ctrl->val; | 1028 | solo_enc->gop = ctrl->val; |
1031 | return 0; | 1029 | return 0; |
@@ -1172,10 +1170,6 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, | |||
1172 | if (tw28_has_sharpness(solo_dev, ch)) | 1170 | if (tw28_has_sharpness(solo_dev, ch)) |
1173 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, | 1171 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, |
1174 | V4L2_CID_SHARPNESS, 0, 15, 1, 0); | 1172 | V4L2_CID_SHARPNESS, 0, 15, 1, 0); |
1175 | v4l2_ctrl_new_std_menu(hdl, &solo_ctrl_ops, | ||
1176 | V4L2_CID_MPEG_VIDEO_ENCODING, | ||
1177 | V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC, 3, | ||
1178 | V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC); | ||
1179 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, | 1173 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, |
1180 | V4L2_CID_MPEG_VIDEO_GOP_SIZE, 1, 255, 1, solo_dev->fps); | 1174 | V4L2_CID_MPEG_VIDEO_GOP_SIZE, 1, 255, 1, solo_dev->fps); |
1181 | v4l2_ctrl_new_custom(hdl, &solo_motion_threshold_ctrl, NULL); | 1175 | v4l2_ctrl_new_custom(hdl, &solo_motion_threshold_ctrl, NULL); |
@@ -1191,7 +1185,7 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, | |||
1191 | mutex_init(&solo_enc->lock); | 1185 | mutex_init(&solo_enc->lock); |
1192 | spin_lock_init(&solo_enc->av_lock); | 1186 | spin_lock_init(&solo_enc->av_lock); |
1193 | INIT_LIST_HEAD(&solo_enc->vidq_active); | 1187 | INIT_LIST_HEAD(&solo_enc->vidq_active); |
1194 | solo_enc->fmt = V4L2_PIX_FMT_MPEG; | 1188 | solo_enc->fmt = V4L2_PIX_FMT_MPEG4; |
1195 | solo_enc->type = SOLO_ENC_TYPE_STD; | 1189 | solo_enc->type = SOLO_ENC_TYPE_STD; |
1196 | 1190 | ||
1197 | solo_enc->qp = SOLO_DEFAULT_QP; | 1191 | solo_enc->qp = SOLO_DEFAULT_QP; |