aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/saa7164/saa7164-api.c5
-rw-r--r--drivers/media/video/saa7164/saa7164-encoder.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/media/video/saa7164/saa7164-api.c b/drivers/media/video/saa7164/saa7164-api.c
index 54568cfe933..5f72bb854e6 100644
--- a/drivers/media/video/saa7164/saa7164-api.c
+++ b/drivers/media/video/saa7164/saa7164-api.c
@@ -53,6 +53,11 @@ int saa7164_api_set_encoder(struct saa7164_port *port)
53 dprintk(DBGLVL_ENC, "%s() unitid=0x%x\n", __func__, 53 dprintk(DBGLVL_ENC, "%s() unitid=0x%x\n", __func__,
54 port->hwcfg.sourceid); 54 port->hwcfg.sourceid);
55 55
56 if (port->encoder_params.stream_type == V4L2_MPEG_STREAM_TYPE_MPEG2_PS)
57 port->encoder_profile = EU_PROFILE_PS_DVD;
58 else
59 port->encoder_profile = EU_PROFILE_TS_HQ;
60
56 ret = saa7164_cmd_send(port->dev, port->hwcfg.sourceid, SET_CUR, 61 ret = saa7164_cmd_send(port->dev, port->hwcfg.sourceid, SET_CUR,
57 EU_PROFILE_CONTROL, sizeof(u8), &port->encoder_profile); 62 EU_PROFILE_CONTROL, sizeof(u8), &port->encoder_profile);
58 if (ret != SAA_OK) 63 if (ret != SAA_OK)
diff --git a/drivers/media/video/saa7164/saa7164-encoder.c b/drivers/media/video/saa7164/saa7164-encoder.c
index c1265b821b2..c357e2db1ac 100644
--- a/drivers/media/video/saa7164/saa7164-encoder.c
+++ b/drivers/media/video/saa7164/saa7164-encoder.c
@@ -43,6 +43,7 @@ static const u32 saa7164_v4l2_ctrls[] = {
43 V4L2_CID_AUDIO_VOLUME, 43 V4L2_CID_AUDIO_VOLUME,
44 V4L2_CID_SHARPNESS, 44 V4L2_CID_SHARPNESS,
45 V4L2_CID_MPEG_VIDEO_ASPECT, 45 V4L2_CID_MPEG_VIDEO_ASPECT,
46 V4L2_CID_MPEG_VIDEO_GOP_SIZE,
46 V4L2_CID_MPEG_STREAM_TYPE, 47 V4L2_CID_MPEG_STREAM_TYPE,
47 V4L2_CID_MPEG_AUDIO_MUTE, 48 V4L2_CID_MPEG_AUDIO_MUTE,
48 V4L2_CID_MPEG_VIDEO_BITRATE_MODE, 49 V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
@@ -432,7 +433,8 @@ static int saa7164_try_ctrl(struct v4l2_ext_control *ctrl, int ac3)
432 ret = 0; 433 ret = 0;
433 break; 434 break;
434 case V4L2_CID_MPEG_STREAM_TYPE: 435 case V4L2_CID_MPEG_STREAM_TYPE:
435 if (ctrl->value == V4L2_MPEG_STREAM_TYPE_MPEG2_PS) 436 if ((ctrl->value == V4L2_MPEG_STREAM_TYPE_MPEG2_PS) ||
437 (ctrl->value == V4L2_MPEG_STREAM_TYPE_MPEG2_TS))
436 ret = 0; 438 ret = 0;
437 break; 439 break;
438 case V4L2_CID_MPEG_AUDIO_MUTE: 440 case V4L2_CID_MPEG_AUDIO_MUTE:
@@ -694,8 +696,8 @@ static int fill_queryctrl(struct saa7164_encoder_params *params,
694 case V4L2_CID_MPEG_STREAM_TYPE: 696 case V4L2_CID_MPEG_STREAM_TYPE:
695 return v4l2_ctrl_query_fill(c, 697 return v4l2_ctrl_query_fill(c,
696 V4L2_MPEG_STREAM_TYPE_MPEG2_PS, 698 V4L2_MPEG_STREAM_TYPE_MPEG2_PS,
697 V4L2_MPEG_STREAM_TYPE_MPEG2_PS, 699 V4L2_MPEG_STREAM_TYPE_MPEG2_TS,
698 0, V4L2_MPEG_STREAM_TYPE_MPEG2_PS); 700 1, V4L2_MPEG_STREAM_TYPE_MPEG2_PS);
699 case V4L2_CID_MPEG_VIDEO_ASPECT: 701 case V4L2_CID_MPEG_VIDEO_ASPECT:
700 return v4l2_ctrl_query_fill(c, 702 return v4l2_ctrl_query_fill(c,
701 V4L2_MPEG_VIDEO_ASPECT_1x1, 703 V4L2_MPEG_VIDEO_ASPECT_1x1,
@@ -1324,7 +1326,6 @@ int saa7164_encoder_register(struct saa7164_port *port)
1324 port->encodernorm = saa7164_tvnorms[0]; 1326 port->encodernorm = saa7164_tvnorms[0];
1325 port->width = 720; 1327 port->width = 720;
1326 port->mux_input = 1; /* Composite */ 1328 port->mux_input = 1; /* Composite */
1327 port->encoder_profile = EU_PROFILE_PS_DVD;
1328 port->video_format = EU_VIDEO_FORMAT_MPEG_2; 1329 port->video_format = EU_VIDEO_FORMAT_MPEG_2;
1329 port->audio_format = 0; 1330 port->audio_format = 0;
1330 port->video_resolution = 0; 1331 port->video_resolution = 0;