[MPlayer-dev-eng] [PATCH v3 3/5] stream_pvr: add AAC and AC-3 audio encoding control options

Reza Arbab arbab at panix.com
Fri Feb 12 17:29:46 CET 2016


Use alayer=4 for AAC or alayer=5 for AC-3.

These are in fact the only two values supported by hdpvr.

Signed-off-by: Reza Arbab <arbab at panix.com>
---
 DOCS/man/cs/mplayer.1    |  2 +-
 DOCS/man/de/mplayer.1    |  2 +-
 DOCS/man/en/mplayer.1    |  2 +-
 DOCS/man/es/mplayer.1    |  2 +-
 DOCS/man/fr/mplayer.1    |  2 +-
 DOCS/man/hu/mplayer.1    |  2 +-
 DOCS/man/it/mplayer.1    |  2 +-
 DOCS/man/ru/mplayer.1    |  2 +-
 DOCS/man/zh_CN/mplayer.1 |  2 +-
 cfg-common.h             |  2 +-
 stream/stream_pvr.c      | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
 11 files changed, 83 insertions(+), 10 deletions(-)

diff --git a/DOCS/man/cs/mplayer.1 b/DOCS/man/cs/mplayer.1
index a7d75e6..825d8f2 100644
--- a/DOCS/man/cs/mplayer.1
+++ b/DOCS/man/cs/mplayer.1
@@ -1487,7 +1487,7 @@ Nastavuje poměr stran vstupu:
 .IPs arate=<32000\-48000>
 Nastavuje vzorkovací kmitočet enkódovaného zvuku (výchozí: 48000 Hz, dostupné: 32000, 44100
 a 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Nastavuje kódování zvuku (MPEG audio layer)(výchozí: 2).
 .IPs abitrate=<32\-448>
 Nastavuje datový tok zvuku v kbps (výchozí: 384 kbps).
diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1
index f2c66bf..ca9cf32 100644
--- a/DOCS/man/de/mplayer.1
+++ b/DOCS/man/de/mplayer.1
@@ -1821,7 +1821,7 @@ Gib den Aspekt der Eingabe an:
 .IPs arate=<32000\-48000>
 Gib die Audio-Rate für die Encodierung an (Standard: 48000 Hz, verfügbar:
 32000, 44100 und 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Gib die Encodierung des MPEG-Audio-Layers an (Standard: 2).
 .IPs abitrate=<32\-448>
 Gib die Bitrate für die Audioencodierung in kbps an (Standard: 384).
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 25c701b..36d82ca 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -1912,7 +1912,7 @@ Specify input aspect ratio:
 .IPs arate=<32000\-48000>
 Specify encoding audio rate (default: 48000 Hz, available: 32000, 44100
 and 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Specify MPEG audio layer encoding (default: 2).
 .IPs abitrate=<32\-448>
 Specify audio encoding bitrate in kbps (default: 384).
diff --git a/DOCS/man/es/mplayer.1 b/DOCS/man/es/mplayer.1
index cb01588..129ed82 100644
--- a/DOCS/man/es/mplayer.1
+++ b/DOCS/man/es/mplayer.1
@@ -1689,7 +1689,7 @@ Especifica el ratio de la entrada:
 .IPs arate=<32000\-48000>
 Especifica el ratio de codificación del audio (por defecto: 48000 Hz,
 disponibles: 32000, 44100 y 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Especifica la capa de codificación MPEG para el audio (por defecto: 2).
 .IPs abitrate=<32\-448>
 Especifica el bitrate de codificación del audio (por defecto: 384).
diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1
index d33966b..1da12b5 100644
--- a/DOCS/man/fr/mplayer.1
+++ b/DOCS/man/fr/mplayer.1
@@ -1673,7 +1673,7 @@ Spécifie un format visuel pour l'entrée vidéo\ :
 .IPs arate=<32000\-48000>
 Spécifie le taux d'échantillonnage de l'encodeur audio (la valeur par défaut
 est de 48000 Hz, et sont disponibles 32000, 44100 et 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Spécifie le niveau d'encodage MPEG audio (par défaut\ : 2).
 .IPs abitrate=<32\-448>
 Spécifie le taux binaire d'encodage audio en kbps (par défaut\ : 384).
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
index 58222e5..9b8e0bd 100644
--- a/DOCS/man/hu/mplayer.1
+++ b/DOCS/man/hu/mplayer.1
@@ -1693,7 +1693,7 @@ Megadja a bemenet képarányát:
 .IPs arate=<32000\-48000>
 Megadja az audió kódolási rátáját (alapértelmezett: 48000 Hz, használható: 32000, 44100
 és 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Megadja az MPEG audió réteg kódolását (alapértelmezett: 2).
 .IPs abitrate=<32\-448>
 Megadja az audió kódolási bitrátáját kbps-ben (alapértelmezett: 384).
diff --git a/DOCS/man/it/mplayer.1 b/DOCS/man/it/mplayer.1
index ce3ec0b..3e13651 100644
--- a/DOCS/man/it/mplayer.1
+++ b/DOCS/man/it/mplayer.1
@@ -1943,7 +1943,7 @@ Specifica il rapporto di aspetto:
 .IPs arate=<32000\-48000>
 Specifica la frequenza audio di codifica (default: 48000 Hz, disponibili:
 32000, 44100 e 48000 Hz).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Specifica lo strato (layer) di codifica audio (default: 2).
 .IPs abitrate=<32\-448>
 Specifica la frequenza di codifica audio in kpbs (default: 384).
diff --git a/DOCS/man/ru/mplayer.1 b/DOCS/man/ru/mplayer.1
index 5699305..3fcb41c 100644
--- a/DOCS/man/ru/mplayer.1
+++ b/DOCS/man/ru/mplayer.1
@@ -1554,7 +1554,7 @@ Hauppauge WinTV PVR\-150/250/350/500 и все карты, основанные
 .IPs arate=<32000\-48000>
 Указывает частоту дискретизации звука (по умолчанию: 48000 Гц, доступны: 32000, 44100
 и 48000 Гц).
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 Указывает слой кодирования MPEG[MPEG layer](по умолчанию: 2).
 .IPs abitrate=<32\-448>
 Указывает битпоток кодируемого звука в кбит/с (по умолчанию: 384).
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index d7e4d6d..6597c87 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -1912,7 +1912,7 @@ Hauppauge WinTV PVR\-150/250/350/500 和所有基于 IVTV 的卡\
 .IPs arate=<32000\-48000>
 指定编码音频的码率(默认值:48000 Hz,可用值:32000、\
 44100 和 48000 Hz)。
-.IPs alayer=<1\-3>
+.IPs alayer=<1\-5>
 指定 MPEG 音频编码层级(默认值:2)。
 .IPs abitrate=<32\-448>
 指定音频编码比特率(以 kbps 为单位)(默认值:384)。
diff --git a/cfg-common.h b/cfg-common.h
index 58748ff..3a422cf 100644
--- a/cfg-common.h
+++ b/cfg-common.h
@@ -141,7 +141,7 @@ const m_option_t tvopts_conf[]={
 const m_option_t pvropts_conf[]={
     {"aspect", &pvr_param_aspect_ratio, CONF_TYPE_INT, 0, 1, 4, NULL},
     {"arate", &pvr_param_sample_rate, CONF_TYPE_INT, 0, 32000, 48000, NULL},
-    {"alayer", &pvr_param_audio_layer, CONF_TYPE_INT, 0, 1, 2, NULL},
+    {"alayer", &pvr_param_audio_layer, CONF_TYPE_INT, 0, 1, 5, NULL},
     {"abitrate", &pvr_param_audio_bitrate, CONF_TYPE_INT, 0, 32, 448, NULL},
     {"amode", &pvr_param_audio_mode, CONF_TYPE_STRING, 0, 0, 0, NULL},
     {"vbitrate", &pvr_param_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
diff --git a/stream/stream_pvr.c b/stream/stream_pvr.c
index ecce2c5..cbf4f17 100644
--- a/stream/stream_pvr.c
+++ b/stream/stream_pvr.c
@@ -811,6 +811,10 @@ parse_encoder_options (struct pvr_t *pvr)
     pvr->layer = V4L2_MPEG_AUDIO_ENCODING_LAYER_2;
   else if (pvr_param_audio_layer == 3)
     pvr->layer = V4L2_MPEG_AUDIO_ENCODING_LAYER_3;
+  else if (pvr_param_audio_layer == 4)
+    pvr->layer = V4L2_MPEG_AUDIO_ENCODING_AAC;
+  else if (pvr_param_audio_layer == 5)
+    pvr->layer = V4L2_MPEG_AUDIO_ENCODING_AC3;
 
   /* -pvr abitrate=x */
   if (pvr_param_audio_bitrate != 0)
@@ -967,6 +971,75 @@ parse_encoder_options (struct pvr_t *pvr)
         break;
       }
     }
+
+    else if (pvr->layer == V4L2_MPEG_AUDIO_ENCODING_AAC)
+      pvr->audio_rate = pvr_param_audio_bitrate;
+
+    else if (pvr->layer == V4L2_MPEG_AUDIO_ENCODING_AC3)
+    {
+      switch (pvr_param_audio_bitrate)
+      {
+      case 32:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_32K;
+        break;
+      case 40:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_40K;
+        break;
+      case 48:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_48K;
+        break;
+      case 56:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_56K;
+        break;
+      case 64:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_64K;
+        break;
+      case 80:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_80K;
+        break;
+      case 96:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_96K;
+        break;
+      case 112:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_112K;
+        break;
+      case 128:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_128K;
+        break;
+      case 160:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_160K;
+        break;
+      case 192:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_192K;
+        break;
+      case 224:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_224K;
+        break;
+      case 256:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_256K;
+        break;
+      case 320:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_320K;
+        break;
+      case 384:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_384K;
+        break;
+      case 448:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_448K;
+        break;
+      case 512:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_512K;
+        break;
+      case 576:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_576K;
+        break;
+      case 640:
+        pvr->audio_rate = V4L2_MPEG_AUDIO_AC3_BITRATE_640K;
+        break;
+      default:
+        break;
+      }
+    }
   }
 
   /* -pvr amode=x */
-- 
2.5.0



More information about the MPlayer-dev-eng mailing list