Commit 10afbef15e7bba5e1008f583852077743d28c395

Authored by Hans Verkuil
Committed by Mauro Carvalho Chehab
1 parent 1df795370c

V4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std

The v4l2_ctrl_query_fill_std() function wasn't one the best idea I ever had.
It doesn't add anything valuable that cannot be expressed equally well with
v4l2_ctrl_query_fill and only adds overhead.

Replace it with v4l2_ctrl_query_fill() everywhere it is used and remove it
from v4l2_common.c.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Showing 13 changed files with 141 additions and 202 deletions Side-by-side Diff

drivers/media/video/cx18/cx18-av-core.c
... ... @@ -788,10 +788,12 @@
788 788  
789 789 switch (qc->id) {
790 790 case V4L2_CID_BRIGHTNESS:
  791 + return v4l2_ctrl_query_fill(qc, 0, 255, 1, 128);
791 792 case V4L2_CID_CONTRAST:
792 793 case V4L2_CID_SATURATION:
  794 + return v4l2_ctrl_query_fill(qc, 0, 127, 1, 64);
793 795 case V4L2_CID_HUE:
794   - return v4l2_ctrl_query_fill_std(qc);
  796 + return v4l2_ctrl_query_fill(qc, -128, 127, 1, 0);
795 797 default:
796 798 break;
797 799 }
798 800  
... ... @@ -801,10 +803,11 @@
801 803 return v4l2_ctrl_query_fill(qc, 0, 65535,
802 804 65535 / 100, state->default_volume);
803 805 case V4L2_CID_AUDIO_MUTE:
  806 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
804 807 case V4L2_CID_AUDIO_BALANCE:
805 808 case V4L2_CID_AUDIO_BASS:
806 809 case V4L2_CID_AUDIO_TREBLE:
807   - return v4l2_ctrl_query_fill_std(qc);
  810 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
808 811 default:
809 812 return -EINVAL;
810 813 }
drivers/media/video/cx2341x.c
... ... @@ -500,6 +500,29 @@
500 500 int err;
501 501  
502 502 switch (qctrl->id) {
  503 + case V4L2_CID_MPEG_STREAM_TYPE:
  504 + return v4l2_ctrl_query_fill(qctrl,
  505 + V4L2_MPEG_STREAM_TYPE_MPEG2_PS,
  506 + V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD, 1,
  507 + V4L2_MPEG_STREAM_TYPE_MPEG2_PS);
  508 +
  509 + case V4L2_CID_MPEG_STREAM_VBI_FMT:
  510 + if (params->capabilities & CX2341X_CAP_HAS_SLICED_VBI)
  511 + return v4l2_ctrl_query_fill(qctrl,
  512 + V4L2_MPEG_STREAM_VBI_FMT_NONE,
  513 + V4L2_MPEG_STREAM_VBI_FMT_IVTV, 1,
  514 + V4L2_MPEG_STREAM_VBI_FMT_NONE);
  515 + return cx2341x_ctrl_query_fill(qctrl,
  516 + V4L2_MPEG_STREAM_VBI_FMT_NONE,
  517 + V4L2_MPEG_STREAM_VBI_FMT_NONE, 1,
  518 + default_params.stream_vbi_fmt);
  519 +
  520 + case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
  521 + return v4l2_ctrl_query_fill(qctrl,
  522 + V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100,
  523 + V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000, 1,
  524 + V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000);
  525 +
503 526 case V4L2_CID_MPEG_AUDIO_ENCODING:
504 527 if (params->capabilities & CX2341X_CAP_HAS_AC3) {
505 528 /*
506 529  
... ... @@ -531,10 +554,37 @@
531 554 qctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
532 555 return 0;
533 556  
534   - case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
535   - case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
536   - return -EINVAL;
  557 + case V4L2_CID_MPEG_AUDIO_MODE:
  558 + return v4l2_ctrl_query_fill(qctrl,
  559 + V4L2_MPEG_AUDIO_MODE_STEREO,
  560 + V4L2_MPEG_AUDIO_MODE_MONO, 1,
  561 + V4L2_MPEG_AUDIO_MODE_STEREO);
537 562  
  563 + case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
  564 + err = v4l2_ctrl_query_fill(qctrl,
  565 + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4,
  566 + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16, 1,
  567 + V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4);
  568 + if (err == 0 &&
  569 + params->audio_mode != V4L2_MPEG_AUDIO_MODE_JOINT_STEREO)
  570 + qctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
  571 + return err;
  572 +
  573 + case V4L2_CID_MPEG_AUDIO_EMPHASIS:
  574 + return v4l2_ctrl_query_fill(qctrl,
  575 + V4L2_MPEG_AUDIO_EMPHASIS_NONE,
  576 + V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17, 1,
  577 + V4L2_MPEG_AUDIO_EMPHASIS_NONE);
  578 +
  579 + case V4L2_CID_MPEG_AUDIO_CRC:
  580 + return v4l2_ctrl_query_fill(qctrl,
  581 + V4L2_MPEG_AUDIO_CRC_NONE,
  582 + V4L2_MPEG_AUDIO_CRC_CRC16, 1,
  583 + V4L2_MPEG_AUDIO_CRC_NONE);
  584 +
  585 + case V4L2_CID_MPEG_AUDIO_MUTE:
  586 + return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
  587 +
538 588 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
539 589 err = v4l2_ctrl_query_fill(qctrl,
540 590 V4L2_MPEG_AUDIO_AC3_BITRATE_48K,
... ... @@ -550,13 +600,6 @@
550 600 qctrl->flags |= V4L2_CTRL_FLAG_DISABLED;
551 601 return 0;
552 602  
553   - case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
554   - err = v4l2_ctrl_query_fill_std(qctrl);
555   - if (err == 0 &&
556   - params->audio_mode != V4L2_MPEG_AUDIO_MODE_JOINT_STEREO)
557   - qctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
558   - return err;
559   -
560 603 case V4L2_CID_MPEG_VIDEO_ENCODING:
561 604 /* this setting is read-only for the cx2341x since the
562 605 V4L2_CID_MPEG_STREAM_TYPE really determines the
563 606  
564 607  
565 608  
566 609  
567 610  
568 611  
... ... @@ -569,33 +612,52 @@
569 612 qctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
570 613 return err;
571 614  
  615 + case V4L2_CID_MPEG_VIDEO_ASPECT:
  616 + return v4l2_ctrl_query_fill(qctrl,
  617 + V4L2_MPEG_VIDEO_ASPECT_1x1,
  618 + V4L2_MPEG_VIDEO_ASPECT_221x100, 1,
  619 + V4L2_MPEG_VIDEO_ASPECT_4x3);
  620 +
  621 + case V4L2_CID_MPEG_VIDEO_B_FRAMES:
  622 + return v4l2_ctrl_query_fill(qctrl, 0, 33, 1, 2);
  623 +
  624 + case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
  625 + return v4l2_ctrl_query_fill(qctrl, 1, 34, 1,
  626 + params->is_50hz ? 12 : 15);
  627 +
  628 + case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE:
  629 + return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 1);
  630 +
572 631 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
573   - err = v4l2_ctrl_query_fill_std(qctrl);
  632 + err = v4l2_ctrl_query_fill(qctrl,
  633 + V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
  634 + V4L2_MPEG_VIDEO_BITRATE_MODE_CBR, 1,
  635 + V4L2_MPEG_VIDEO_BITRATE_MODE_VBR);
574 636 if (err == 0 &&
575 637 params->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1)
576 638 qctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
577 639 return err;
578 640  
  641 + case V4L2_CID_MPEG_VIDEO_BITRATE:
  642 + return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 6000000);
  643 +
579 644 case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK:
580   - err = v4l2_ctrl_query_fill_std(qctrl);
  645 + err = v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 8000000);
581 646 if (err == 0 &&
582 647 params->video_bitrate_mode ==
583 648 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR)
584 649 qctrl->flags |= V4L2_CTRL_FLAG_INACTIVE;
585 650 return err;
586 651  
587   - case V4L2_CID_MPEG_STREAM_VBI_FMT:
588   - if (params->capabilities & CX2341X_CAP_HAS_SLICED_VBI)
589   - return v4l2_ctrl_query_fill_std(qctrl);
590   - return cx2341x_ctrl_query_fill(qctrl,
591   - V4L2_MPEG_STREAM_VBI_FMT_NONE,
592   - V4L2_MPEG_STREAM_VBI_FMT_NONE, 1,
593   - default_params.stream_vbi_fmt);
  652 + case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION:
  653 + return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
594 654  
595   - case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
596   - return v4l2_ctrl_query_fill(qctrl, 1, 34, 1,
597   - params->is_50hz ? 12 : 15);
  655 + case V4L2_CID_MPEG_VIDEO_MUTE:
  656 + return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
598 657  
  658 + case V4L2_CID_MPEG_VIDEO_MUTE_YUV: /* Init YUV (really YCbCr) to black */
  659 + return v4l2_ctrl_query_fill(qctrl, 0, 0xffffff, 1, 0x008080);
  660 +
599 661 /* CX23415/6 specific */
600 662 case V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE:
601 663 return cx2341x_ctrl_query_fill(qctrl,
... ... @@ -696,7 +758,7 @@
696 758 default_params.stream_insert_nav_packets);
697 759  
698 760 default:
699   - return v4l2_ctrl_query_fill_std(qctrl);
  761 + return -EINVAL;
700 762  
701 763 }
702 764 }
drivers/media/video/cx25840/cx25840-core.c
... ... @@ -1205,10 +1205,12 @@
1205 1205  
1206 1206 switch (qc->id) {
1207 1207 case V4L2_CID_BRIGHTNESS:
  1208 + return v4l2_ctrl_query_fill(qc, 0, 255, 1, 128);
1208 1209 case V4L2_CID_CONTRAST:
1209 1210 case V4L2_CID_SATURATION:
  1211 + return v4l2_ctrl_query_fill(qc, 0, 127, 1, 64);
1210 1212 case V4L2_CID_HUE:
1211   - return v4l2_ctrl_query_fill_std(qc);
  1213 + return v4l2_ctrl_query_fill(qc, -128, 127, 1, 0);
1212 1214 default:
1213 1215 break;
1214 1216 }
1215 1217  
... ... @@ -1220,10 +1222,11 @@
1220 1222 return v4l2_ctrl_query_fill(qc, 0, 65535,
1221 1223 65535 / 100, state->default_volume);
1222 1224 case V4L2_CID_AUDIO_MUTE:
  1225 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
1223 1226 case V4L2_CID_AUDIO_BALANCE:
1224 1227 case V4L2_CID_AUDIO_BASS:
1225 1228 case V4L2_CID_AUDIO_TREBLE:
1226   - return v4l2_ctrl_query_fill_std(qc);
  1229 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
1227 1230 default:
1228 1231 return -EINVAL;
1229 1232 }
drivers/media/video/msp3400-driver.c
... ... @@ -713,22 +713,24 @@
713 713 struct msp_state *state = to_state(sd);
714 714  
715 715 switch (qc->id) {
716   - case V4L2_CID_AUDIO_VOLUME:
717   - case V4L2_CID_AUDIO_MUTE:
718   - return v4l2_ctrl_query_fill_std(qc);
719   - default:
720   - break;
  716 + case V4L2_CID_AUDIO_VOLUME:
  717 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 58880);
  718 + case V4L2_CID_AUDIO_MUTE:
  719 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
  720 + default:
  721 + break;
721 722 }
722 723 if (!state->has_sound_processing)
723 724 return -EINVAL;
724 725 switch (qc->id) {
725   - case V4L2_CID_AUDIO_LOUDNESS:
726   - case V4L2_CID_AUDIO_BALANCE:
727   - case V4L2_CID_AUDIO_BASS:
728   - case V4L2_CID_AUDIO_TREBLE:
729   - return v4l2_ctrl_query_fill_std(qc);
730   - default:
731   - return -EINVAL;
  726 + case V4L2_CID_AUDIO_LOUDNESS:
  727 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
  728 + case V4L2_CID_AUDIO_BALANCE:
  729 + case V4L2_CID_AUDIO_BASS:
  730 + case V4L2_CID_AUDIO_TREBLE:
  731 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
  732 + default:
  733 + return -EINVAL;
732 734 }
733 735 return 0;
734 736 }
drivers/media/video/saa7115.c
... ... @@ -1206,10 +1206,12 @@
1206 1206 {
1207 1207 switch (qc->id) {
1208 1208 case V4L2_CID_BRIGHTNESS:
  1209 + return v4l2_ctrl_query_fill(qc, 0, 255, 1, 128);
1209 1210 case V4L2_CID_CONTRAST:
1210 1211 case V4L2_CID_SATURATION:
  1212 + return v4l2_ctrl_query_fill(qc, 0, 127, 1, 64);
1211 1213 case V4L2_CID_HUE:
1212   - return v4l2_ctrl_query_fill_std(qc);
  1214 + return v4l2_ctrl_query_fill(qc, -128, 127, 1, 0);
1213 1215 default:
1214 1216 return -EINVAL;
1215 1217 }
drivers/media/video/saa7134/saa6752hs.c
... ... @@ -592,7 +592,7 @@
592 592 V4L2_MPEG_VIDEO_ASPECT_4x3);
593 593  
594 594 case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK:
595   - err = v4l2_ctrl_query_fill_std(qctrl);
  595 + err = v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 8000000);
596 596 if (err == 0 &&
597 597 params->vi_bitrate_mode ==
598 598 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR)
599 599  
600 600  
601 601  
602 602  
603 603  
... ... @@ -606,12 +606,20 @@
606 606 V4L2_MPEG_STREAM_TYPE_MPEG2_TS);
607 607  
608 608 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
  609 + return v4l2_ctrl_query_fill(qctrl,
  610 + V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
  611 + V4L2_MPEG_VIDEO_BITRATE_MODE_CBR, 1,
  612 + V4L2_MPEG_VIDEO_BITRATE_MODE_VBR);
609 613 case V4L2_CID_MPEG_VIDEO_BITRATE:
  614 + return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 6000000);
610 615 case V4L2_CID_MPEG_STREAM_PID_PMT:
  616 + return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 16);
611 617 case V4L2_CID_MPEG_STREAM_PID_AUDIO:
  618 + return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 260);
612 619 case V4L2_CID_MPEG_STREAM_PID_VIDEO:
  620 + return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 256);
613 621 case V4L2_CID_MPEG_STREAM_PID_PCR:
614   - return v4l2_ctrl_query_fill_std(qctrl);
  622 + return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 259);
615 623  
616 624 default:
617 625 break;
drivers/media/video/saa7134/saa7134-empress.c
... ... @@ -390,7 +390,7 @@
390 390 if (c->id == 0)
391 391 return -EINVAL;
392 392 if (c->id == V4L2_CID_USER_CLASS || c->id == V4L2_CID_MPEG_CLASS)
393   - return v4l2_ctrl_query_fill_std(c);
  393 + return v4l2_ctrl_query_fill(c, 0, 0, 0, 0);
394 394 if (V4L2_CTRL_ID2CLASS(c->id) != V4L2_CTRL_CLASS_MPEG)
395 395 return saa7134_queryctrl(file, priv, c);
396 396 return saa_call_empress(dev, core, queryctrl, c);
drivers/media/video/tda7432.c
... ... @@ -421,12 +421,14 @@
421 421 static int tda7432_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc)
422 422 {
423 423 switch (qc->id) {
424   - case V4L2_CID_AUDIO_MUTE:
425 424 case V4L2_CID_AUDIO_VOLUME:
  425 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 58880);
  426 + case V4L2_CID_AUDIO_MUTE:
  427 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
426 428 case V4L2_CID_AUDIO_BALANCE:
427 429 case V4L2_CID_AUDIO_BASS:
428 430 case V4L2_CID_AUDIO_TREBLE:
429   - return v4l2_ctrl_query_fill_std(qc);
  431 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
430 432 }
431 433 return -EINVAL;
432 434 }
drivers/media/video/tda9875.c
... ... @@ -313,9 +313,10 @@
313 313 {
314 314 switch (qc->id) {
315 315 case V4L2_CID_AUDIO_VOLUME:
  316 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 58880);
316 317 case V4L2_CID_AUDIO_BASS:
317 318 case V4L2_CID_AUDIO_TREBLE:
318   - return v4l2_ctrl_query_fill_std(qc);
  319 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
319 320 }
320 321 return -EINVAL;
321 322 }
drivers/media/video/tvaudio.c
... ... @@ -1636,21 +1636,24 @@
1636 1636  
1637 1637 switch (qc->id) {
1638 1638 case V4L2_CID_AUDIO_MUTE:
1639   - break;
  1639 + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
1640 1640 case V4L2_CID_AUDIO_VOLUME:
  1641 + if (desc->flags & CHIP_HAS_VOLUME)
  1642 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 58880);
  1643 + break;
1641 1644 case V4L2_CID_AUDIO_BALANCE:
1642   - if (!(desc->flags & CHIP_HAS_VOLUME))
1643   - return -EINVAL;
  1645 + if (desc->flags & CHIP_HAS_VOLUME)
  1646 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
1644 1647 break;
1645 1648 case V4L2_CID_AUDIO_BASS:
1646 1649 case V4L2_CID_AUDIO_TREBLE:
1647   - if (!(desc->flags & CHIP_HAS_BASSTREBLE))
1648   - return -EINVAL;
  1650 + if (desc->flags & CHIP_HAS_BASSTREBLE)
  1651 + return v4l2_ctrl_query_fill(qc, 0, 65535, 65535 / 100, 32768);
1649 1652 break;
1650 1653 default:
1651   - return -EINVAL;
  1654 + break;
1652 1655 }
1653   - return v4l2_ctrl_query_fill_std(qc);
  1656 + return -EINVAL;
1654 1657 }
1655 1658  
1656 1659 static int tvaudio_s_routing(struct v4l2_subdev *sd, const struct v4l2_routing *rt)
drivers/media/video/tvp514x.c
... ... @@ -725,10 +725,9 @@
725 725  
726 726 switch (qctrl->id) {
727 727 case V4L2_CID_BRIGHTNESS:
728   - /* Brightness supported is same as standard one (0-255),
729   - * so make use of standard API provided.
  728 + /* Brightness supported is (0-255),
730 729 */
731   - err = v4l2_ctrl_query_fill_std(qctrl);
  730 + err = v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 128);
732 731 break;
733 732 case V4L2_CID_CONTRAST:
734 733 case V4L2_CID_SATURATION:
drivers/media/video/v4l2-common.c
... ... @@ -588,151 +588,6 @@
588 588 }
589 589 EXPORT_SYMBOL(v4l2_ctrl_query_fill);
590 590  
591   -/* Fill in a struct v4l2_queryctrl with standard values based on
592   - the control ID. */
593   -int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl)
594   -{
595   - switch (qctrl->id) {
596   - /* USER controls */
597   - case V4L2_CID_USER_CLASS:
598   - case V4L2_CID_MPEG_CLASS:
599   - case V4L2_CID_CAMERA_CLASS:
600   - return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
601   - case V4L2_CID_AUDIO_VOLUME:
602   - return v4l2_ctrl_query_fill(qctrl, 0, 65535, 65535 / 100, 58880);
603   - case V4L2_CID_AUDIO_MUTE:
604   - case V4L2_CID_AUDIO_LOUDNESS:
605   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
606   - case V4L2_CID_AUDIO_BALANCE:
607   - case V4L2_CID_AUDIO_BASS:
608   - case V4L2_CID_AUDIO_TREBLE:
609   - return v4l2_ctrl_query_fill(qctrl, 0, 65535, 65535 / 100, 32768);
610   - case V4L2_CID_BRIGHTNESS:
611   - return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 128);
612   - case V4L2_CID_CONTRAST:
613   - case V4L2_CID_SATURATION:
614   - return v4l2_ctrl_query_fill(qctrl, 0, 127, 1, 64);
615   - case V4L2_CID_HUE:
616   - return v4l2_ctrl_query_fill(qctrl, -128, 127, 1, 0);
617   - case V4L2_CID_COLORFX:
618   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
619   -
620   - /* MPEG controls */
621   - case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
622   - return v4l2_ctrl_query_fill(qctrl,
623   - V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100,
624   - V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000, 1,
625   - V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000);
626   - case V4L2_CID_MPEG_AUDIO_ENCODING:
627   - return v4l2_ctrl_query_fill(qctrl,
628   - V4L2_MPEG_AUDIO_ENCODING_LAYER_1,
629   - V4L2_MPEG_AUDIO_ENCODING_AC3, 1,
630   - V4L2_MPEG_AUDIO_ENCODING_LAYER_2);
631   - case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
632   - return v4l2_ctrl_query_fill(qctrl,
633   - V4L2_MPEG_AUDIO_L1_BITRATE_32K,
634   - V4L2_MPEG_AUDIO_L1_BITRATE_448K, 1,
635   - V4L2_MPEG_AUDIO_L1_BITRATE_256K);
636   - case V4L2_CID_MPEG_AUDIO_L2_BITRATE:
637   - return v4l2_ctrl_query_fill(qctrl,
638   - V4L2_MPEG_AUDIO_L2_BITRATE_32K,
639   - V4L2_MPEG_AUDIO_L2_BITRATE_384K, 1,
640   - V4L2_MPEG_AUDIO_L2_BITRATE_224K);
641   - case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
642   - return v4l2_ctrl_query_fill(qctrl,
643   - V4L2_MPEG_AUDIO_L3_BITRATE_32K,
644   - V4L2_MPEG_AUDIO_L3_BITRATE_320K, 1,
645   - V4L2_MPEG_AUDIO_L3_BITRATE_192K);
646   - case V4L2_CID_MPEG_AUDIO_AAC_BITRATE:
647   - return v4l2_ctrl_query_fill(qctrl, 0, 6400, 1, 3200000);
648   - case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
649   - return v4l2_ctrl_query_fill(qctrl,
650   - V4L2_MPEG_AUDIO_AC3_BITRATE_32K,
651   - V4L2_MPEG_AUDIO_AC3_BITRATE_640K, 1,
652   - V4L2_MPEG_AUDIO_AC3_BITRATE_384K);
653   - case V4L2_CID_MPEG_AUDIO_MODE:
654   - return v4l2_ctrl_query_fill(qctrl,
655   - V4L2_MPEG_AUDIO_MODE_STEREO,
656   - V4L2_MPEG_AUDIO_MODE_MONO, 1,
657   - V4L2_MPEG_AUDIO_MODE_STEREO);
658   - case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
659   - return v4l2_ctrl_query_fill(qctrl,
660   - V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4,
661   - V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16, 1,
662   - V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4);
663   - case V4L2_CID_MPEG_AUDIO_EMPHASIS:
664   - return v4l2_ctrl_query_fill(qctrl,
665   - V4L2_MPEG_AUDIO_EMPHASIS_NONE,
666   - V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17, 1,
667   - V4L2_MPEG_AUDIO_EMPHASIS_NONE);
668   - case V4L2_CID_MPEG_AUDIO_CRC:
669   - return v4l2_ctrl_query_fill(qctrl,
670   - V4L2_MPEG_AUDIO_CRC_NONE,
671   - V4L2_MPEG_AUDIO_CRC_CRC16, 1,
672   - V4L2_MPEG_AUDIO_CRC_NONE);
673   - case V4L2_CID_MPEG_AUDIO_MUTE:
674   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
675   - case V4L2_CID_MPEG_VIDEO_ENCODING:
676   - return v4l2_ctrl_query_fill(qctrl,
677   - V4L2_MPEG_VIDEO_ENCODING_MPEG_1,
678   - V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC, 1,
679   - V4L2_MPEG_VIDEO_ENCODING_MPEG_2);
680   - case V4L2_CID_MPEG_VIDEO_ASPECT:
681   - return v4l2_ctrl_query_fill(qctrl,
682   - V4L2_MPEG_VIDEO_ASPECT_1x1,
683   - V4L2_MPEG_VIDEO_ASPECT_221x100, 1,
684   - V4L2_MPEG_VIDEO_ASPECT_4x3);
685   - case V4L2_CID_MPEG_VIDEO_B_FRAMES:
686   - return v4l2_ctrl_query_fill(qctrl, 0, 33, 1, 2);
687   - case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
688   - return v4l2_ctrl_query_fill(qctrl, 1, 34, 1, 12);
689   - case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE:
690   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 1);
691   - case V4L2_CID_MPEG_VIDEO_PULLDOWN:
692   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
693   - case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
694   - return v4l2_ctrl_query_fill(qctrl,
695   - V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
696   - V4L2_MPEG_VIDEO_BITRATE_MODE_CBR, 1,
697   - V4L2_MPEG_VIDEO_BITRATE_MODE_VBR);
698   - case V4L2_CID_MPEG_VIDEO_BITRATE:
699   - return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 6000000);
700   - case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK:
701   - return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 8000000);
702   - case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION:
703   - return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
704   - case V4L2_CID_MPEG_VIDEO_MUTE:
705   - return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0);
706   - case V4L2_CID_MPEG_VIDEO_MUTE_YUV: /* Init YUV (really YCbCr) to black */
707   - return v4l2_ctrl_query_fill(qctrl, 0, 0xffffff, 1, 0x008080);
708   - case V4L2_CID_MPEG_STREAM_TYPE:
709   - return v4l2_ctrl_query_fill(qctrl,
710   - V4L2_MPEG_STREAM_TYPE_MPEG2_PS,
711   - V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD, 1,
712   - V4L2_MPEG_STREAM_TYPE_MPEG2_PS);
713   - case V4L2_CID_MPEG_STREAM_PID_PMT:
714   - return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 16);
715   - case V4L2_CID_MPEG_STREAM_PID_AUDIO:
716   - return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 260);
717   - case V4L2_CID_MPEG_STREAM_PID_VIDEO:
718   - return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 256);
719   - case V4L2_CID_MPEG_STREAM_PID_PCR:
720   - return v4l2_ctrl_query_fill(qctrl, 0, (1 << 14) - 1, 1, 259);
721   - case V4L2_CID_MPEG_STREAM_PES_ID_AUDIO:
722   - return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
723   - case V4L2_CID_MPEG_STREAM_PES_ID_VIDEO:
724   - return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0);
725   - case V4L2_CID_MPEG_STREAM_VBI_FMT:
726   - return v4l2_ctrl_query_fill(qctrl,
727   - V4L2_MPEG_STREAM_VBI_FMT_NONE,
728   - V4L2_MPEG_STREAM_VBI_FMT_IVTV, 1,
729   - V4L2_MPEG_STREAM_VBI_FMT_NONE);
730   - default:
731   - return -EINVAL;
732   - }
733   -}
734   -EXPORT_SYMBOL(v4l2_ctrl_query_fill_std);
735   -
736 591 /* Fill in a struct v4l2_querymenu based on the struct v4l2_queryctrl and
737 592 the menu. The qctrl pointer may be NULL, in which case it is ignored.
738 593 If menu_items is NULL, then the menu items are retrieved using
include/media/v4l2-common.h
... ... @@ -102,7 +102,6 @@
102 102 const char *v4l2_ctrl_get_name(u32 id);
103 103 const char **v4l2_ctrl_get_menu(u32 id);
104 104 int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def);
105   -int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl);
106 105 int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu,
107 106 struct v4l2_queryctrl *qctrl, const char **menu_items);
108 107 #define V4L2_CTRL_MENU_IDS_END (0xffffffff)