Lines Matching refs:params

274 static int cx2341x_get_ctrl(const struct cx2341x_mpeg_params *params,  in cx2341x_get_ctrl()  argument
279 ctrl->value = params->audio_sampling_freq; in cx2341x_get_ctrl()
282 ctrl->value = params->audio_encoding; in cx2341x_get_ctrl()
285 ctrl->value = params->audio_l2_bitrate; in cx2341x_get_ctrl()
288 ctrl->value = params->audio_ac3_bitrate; in cx2341x_get_ctrl()
291 ctrl->value = params->audio_mode; in cx2341x_get_ctrl()
294 ctrl->value = params->audio_mode_extension; in cx2341x_get_ctrl()
297 ctrl->value = params->audio_emphasis; in cx2341x_get_ctrl()
300 ctrl->value = params->audio_crc; in cx2341x_get_ctrl()
303 ctrl->value = params->audio_mute; in cx2341x_get_ctrl()
306 ctrl->value = params->video_encoding; in cx2341x_get_ctrl()
309 ctrl->value = params->video_aspect; in cx2341x_get_ctrl()
312 ctrl->value = params->video_b_frames; in cx2341x_get_ctrl()
315 ctrl->value = params->video_gop_size; in cx2341x_get_ctrl()
318 ctrl->value = params->video_gop_closure; in cx2341x_get_ctrl()
321 ctrl->value = params->video_bitrate_mode; in cx2341x_get_ctrl()
324 ctrl->value = params->video_bitrate; in cx2341x_get_ctrl()
327 ctrl->value = params->video_bitrate_peak; in cx2341x_get_ctrl()
330 ctrl->value = params->video_temporal_decimation; in cx2341x_get_ctrl()
333 ctrl->value = params->video_mute; in cx2341x_get_ctrl()
336 ctrl->value = params->video_mute_yuv; in cx2341x_get_ctrl()
339 ctrl->value = params->stream_type; in cx2341x_get_ctrl()
342 ctrl->value = params->stream_vbi_fmt; in cx2341x_get_ctrl()
345 ctrl->value = params->video_spatial_filter_mode; in cx2341x_get_ctrl()
348 ctrl->value = params->video_spatial_filter; in cx2341x_get_ctrl()
351 ctrl->value = params->video_luma_spatial_filter_type; in cx2341x_get_ctrl()
354 ctrl->value = params->video_chroma_spatial_filter_type; in cx2341x_get_ctrl()
357 ctrl->value = params->video_temporal_filter_mode; in cx2341x_get_ctrl()
360 ctrl->value = params->video_temporal_filter; in cx2341x_get_ctrl()
363 ctrl->value = params->video_median_filter_type; in cx2341x_get_ctrl()
366 ctrl->value = params->video_luma_median_filter_top; in cx2341x_get_ctrl()
369 ctrl->value = params->video_luma_median_filter_bottom; in cx2341x_get_ctrl()
372 ctrl->value = params->video_chroma_median_filter_top; in cx2341x_get_ctrl()
375 ctrl->value = params->video_chroma_median_filter_bottom; in cx2341x_get_ctrl()
378 ctrl->value = params->stream_insert_nav_packets; in cx2341x_get_ctrl()
388 static int cx2341x_set_ctrl(struct cx2341x_mpeg_params *params, int busy, in cx2341x_set_ctrl() argument
395 params->audio_sampling_freq = ctrl->value; in cx2341x_set_ctrl()
400 if (params->capabilities & CX2341X_CAP_HAS_AC3) in cx2341x_set_ctrl()
404 params->audio_encoding = ctrl->value; in cx2341x_set_ctrl()
409 params->audio_l2_bitrate = ctrl->value; in cx2341x_set_ctrl()
414 if (!(params->capabilities & CX2341X_CAP_HAS_AC3)) in cx2341x_set_ctrl()
416 params->audio_ac3_bitrate = ctrl->value; in cx2341x_set_ctrl()
419 params->audio_mode = ctrl->value; in cx2341x_set_ctrl()
422 params->audio_mode_extension = ctrl->value; in cx2341x_set_ctrl()
425 params->audio_emphasis = ctrl->value; in cx2341x_set_ctrl()
428 params->audio_crc = ctrl->value; in cx2341x_set_ctrl()
431 params->audio_mute = ctrl->value; in cx2341x_set_ctrl()
434 params->video_aspect = ctrl->value; in cx2341x_set_ctrl()
438 int gop = params->video_gop_size; in cx2341x_set_ctrl()
439 params->video_b_frames = ctrl->value; in cx2341x_set_ctrl()
440 params->video_gop_size = b * ((gop + b - 1) / b); in cx2341x_set_ctrl()
442 while (params->video_gop_size > 34) in cx2341x_set_ctrl()
443 params->video_gop_size -= b; in cx2341x_set_ctrl()
447 int b = params->video_b_frames + 1; in cx2341x_set_ctrl()
449 params->video_gop_size = b * ((gop + b - 1) / b); in cx2341x_set_ctrl()
451 while (params->video_gop_size > 34) in cx2341x_set_ctrl()
452 params->video_gop_size -= b; in cx2341x_set_ctrl()
453 ctrl->value = params->video_gop_size; in cx2341x_set_ctrl()
457 params->video_gop_closure = ctrl->value; in cx2341x_set_ctrl()
463 if (params->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1 && in cx2341x_set_ctrl()
466 params->video_bitrate_mode = ctrl->value; in cx2341x_set_ctrl()
471 params->video_bitrate = ctrl->value; in cx2341x_set_ctrl()
476 params->video_bitrate_peak = ctrl->value; in cx2341x_set_ctrl()
479 params->video_temporal_decimation = ctrl->value; in cx2341x_set_ctrl()
482 params->video_mute = (ctrl->value != 0); in cx2341x_set_ctrl()
485 params->video_mute_yuv = ctrl->value; in cx2341x_set_ctrl()
490 params->stream_type = ctrl->value; in cx2341x_set_ctrl()
491 params->video_encoding = in cx2341x_set_ctrl()
492 (params->stream_type == V4L2_MPEG_STREAM_TYPE_MPEG1_SS || in cx2341x_set_ctrl()
493 params->stream_type == V4L2_MPEG_STREAM_TYPE_MPEG1_VCD) ? in cx2341x_set_ctrl()
496 if (params->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1) in cx2341x_set_ctrl()
498 params->video_bitrate_mode = in cx2341x_set_ctrl()
502 params->stream_vbi_fmt = ctrl->value; in cx2341x_set_ctrl()
505 params->video_spatial_filter_mode = ctrl->value; in cx2341x_set_ctrl()
508 params->video_spatial_filter = ctrl->value; in cx2341x_set_ctrl()
511 params->video_luma_spatial_filter_type = ctrl->value; in cx2341x_set_ctrl()
514 params->video_chroma_spatial_filter_type = ctrl->value; in cx2341x_set_ctrl()
517 params->video_temporal_filter_mode = ctrl->value; in cx2341x_set_ctrl()
520 params->video_temporal_filter = ctrl->value; in cx2341x_set_ctrl()
523 params->video_median_filter_type = ctrl->value; in cx2341x_set_ctrl()
526 params->video_luma_median_filter_top = ctrl->value; in cx2341x_set_ctrl()
529 params->video_luma_median_filter_bottom = ctrl->value; in cx2341x_set_ctrl()
532 params->video_chroma_median_filter_top = ctrl->value; in cx2341x_set_ctrl()
535 params->video_chroma_median_filter_bottom = ctrl->value; in cx2341x_set_ctrl()
538 params->stream_insert_nav_packets = ctrl->value; in cx2341x_set_ctrl()
580 int cx2341x_ctrl_query(const struct cx2341x_mpeg_params *params, in cx2341x_ctrl_query() argument
595 if (params->capabilities & CX2341X_CAP_HAS_SLICED_VBI) in cx2341x_ctrl_query()
612 if (params->capabilities & CX2341X_CAP_HAS_AC3) { in cx2341x_ctrl_query()
637 if (params->capabilities & CX2341X_CAP_HAS_AC3 && in cx2341x_ctrl_query()
638 params->audio_encoding != V4L2_MPEG_AUDIO_ENCODING_LAYER_2) in cx2341x_ctrl_query()
654 params->audio_mode != V4L2_MPEG_AUDIO_MODE_JOINT_STEREO) in cx2341x_ctrl_query()
680 if (params->capabilities & CX2341X_CAP_HAS_AC3) { in cx2341x_ctrl_query()
681 if (params->audio_encoding != in cx2341x_ctrl_query()
711 params->is_50hz ? 12 : 15); in cx2341x_ctrl_query()
722 params->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1) in cx2341x_ctrl_query()
732 params->video_bitrate_mode == in cx2341x_ctrl_query()
757 if (params->video_spatial_filter_mode == in cx2341x_ctrl_query()
768 if (params->video_spatial_filter_mode == in cx2341x_ctrl_query()
779 if (params->video_spatial_filter_mode == in cx2341x_ctrl_query()
794 if (params->video_temporal_filter_mode == in cx2341x_ctrl_query()
809 if (params->video_median_filter_type == in cx2341x_ctrl_query()
818 if (params->video_median_filter_type == in cx2341x_ctrl_query()
827 if (params->video_median_filter_type == in cx2341x_ctrl_query()
836 if (params->video_median_filter_type == in cx2341x_ctrl_query()
905 static void cx2341x_calc_audio_properties(struct cx2341x_mpeg_params *params) in cx2341x_calc_audio_properties() argument
907 params->audio_properties = in cx2341x_calc_audio_properties()
908 (params->audio_sampling_freq << 0) | in cx2341x_calc_audio_properties()
909 (params->audio_mode << 8) | in cx2341x_calc_audio_properties()
910 (params->audio_mode_extension << 10) | in cx2341x_calc_audio_properties()
911 (((params->audio_emphasis == V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17) in cx2341x_calc_audio_properties()
912 ? 3 : params->audio_emphasis) << 12) | in cx2341x_calc_audio_properties()
913 (params->audio_crc << 14); in cx2341x_calc_audio_properties()
915 if ((params->capabilities & CX2341X_CAP_HAS_AC3) && in cx2341x_calc_audio_properties()
916 params->audio_encoding == V4L2_MPEG_AUDIO_ENCODING_AC3) { in cx2341x_calc_audio_properties()
917 params->audio_properties |= in cx2341x_calc_audio_properties()
920 (params->audio_ac3_bitrate << 4) | in cx2341x_calc_audio_properties()
924 params->audio_properties |= in cx2341x_calc_audio_properties()
925 ((3 - params->audio_encoding) << 2) | in cx2341x_calc_audio_properties()
926 ((1 + params->audio_l2_bitrate) << 4); in cx2341x_calc_audio_properties()
959 int cx2341x_ext_ctrls(struct cx2341x_mpeg_params *params, int busy, in cx2341x_ext_ctrls() argument
969 err = cx2341x_get_ctrl(params, ctrl); in cx2341x_ext_ctrls()
983 err = cx2341x_ctrl_query(params, &qctrl); in cx2341x_ext_ctrls()
987 menu_items = cx2341x_ctrl_get_menu(params, qctrl.id); in cx2341x_ext_ctrls()
991 err = cx2341x_set_ctrl(params, busy, ctrl); in cx2341x_ext_ctrls()
996 params->video_bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_VBR && in cx2341x_ext_ctrls()
997 params->video_bitrate_peak < params->video_bitrate) { in cx2341x_ext_ctrls()
1004 cx2341x_calc_audio_properties(params); in cx2341x_ext_ctrls()