V4L/DVB: tm6000: Fix Video decoder initialization
authorDmitri Belimov <d.belimov@gmail.com>
Wed, 2 Jun 2010 01:07:39 +0000 (22:07 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 2 Aug 2010 17:05:41 +0000 (14:05 -0300)
Fix video decoder overflow and avoid junk audio packets
when TV signal is lost.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/tm6000/tm6000-stds.c

index b3564f6..49e5283 100644 (file)
@@ -77,7 +77,7 @@ static struct tm6000_std_tv_settings tv_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x00},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x83},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x0a},
@@ -135,7 +135,7 @@ static struct tm6000_std_tv_settings tv_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x91},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x1f},
@@ -193,7 +193,7 @@ static struct tm6000_std_tv_settings tv_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x25},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0xd5},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x63},
@@ -251,7 +251,7 @@ static struct tm6000_std_tv_settings tv_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x24},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x92},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0xe8},
@@ -308,7 +308,7 @@ static struct tm6000_std_tv_settings tv_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0f},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x00},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x8b},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0xa2},
@@ -354,7 +354,7 @@ static struct tm6000_std_settings composite_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x00},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x83},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x0a},
@@ -396,7 +396,7 @@ static struct tm6000_std_settings composite_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x91},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x1f},
@@ -438,7 +438,7 @@ static struct tm6000_std_settings composite_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x25},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0xd5},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x63},
@@ -480,7 +480,7 @@ static struct tm6000_std_settings composite_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x02},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x24},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x92},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0xe8},
@@ -521,7 +521,7 @@ static struct tm6000_std_settings composite_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0f},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x00},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x8b},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0xa2},
@@ -567,7 +567,7 @@ static struct tm6000_std_settings svideo_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x04},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x83},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x0a},
@@ -609,7 +609,7 @@ static struct tm6000_std_settings svideo_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x04},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x91},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x1f},
@@ -651,7 +651,7 @@ static struct tm6000_std_settings svideo_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x04},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x00},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x30},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x25},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0xd5},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0x63},
@@ -693,7 +693,7 @@ static struct tm6000_std_settings svideo_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0e},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x03},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x01},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x31},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x24},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x92},
                        {TM6010_REQ07_R1A_CHROMA_DTO_INCREMENT1, 0xe8},
@@ -734,7 +734,7 @@ static struct tm6000_std_settings svideo_stds[] = {
                        {TM6010_REQ07_R01_VIDEO_CONTROL1, 0x0f},
                        {TM6010_REQ07_R02_VIDEO_CONTROL2, 0x5f},
                        {TM6010_REQ07_R03_YC_SEP_CONTROL, 0x03},
-                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x00},
+                       {TM6010_REQ07_R07_OUTPUT_CONTROL, 0x30},
                        {TM6010_REQ07_R17_HLOOP_MAXSTATE, 0x8b},
                        {TM6010_REQ07_R18_CHROMA_DTO_INCREMENT3, 0x1e},
                        {TM6010_REQ07_R19_CHROMA_DTO_INCREMENT2, 0x8b},