aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-03-15 11:53:59 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-25 07:49:34 -0400
commit9a8bfe9fe958beef9cfb9a6f7b0922cc51deb65c (patch)
treefd1d7a88f2a8132178cc7cd50b84ee12e12f095d
parent225642853a1f2536757b775f76d925b78622ae28 (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.c18
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;