| 1 | /*************************************************************************** |
|---|
| 2 | * Copyright (c) 2003-2010, Broadcom Corporation |
|---|
| 3 | * All Rights Reserved |
|---|
| 4 | * Confidential Property of Broadcom Corporation |
|---|
| 5 | * |
|---|
| 6 | * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE |
|---|
| 7 | * AGREEMENT BETWEEN THE USER AND BROADCOM. YOU HAVE NO RIGHT TO USE OR |
|---|
| 8 | * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. |
|---|
| 9 | * |
|---|
| 10 | * $brcm_Workfile: bvbilib_dccparse.c $ |
|---|
| 11 | * $brcm_Revision: Hydra_Software_Devel/46 $ |
|---|
| 12 | * $brcm_Date: 8/27/10 1:49p $ |
|---|
| 13 | * |
|---|
| 14 | * Module Description: |
|---|
| 15 | * |
|---|
| 16 | * Revision History: |
|---|
| 17 | * |
|---|
| 18 | * $brcm_Log: /magnum/syslib/vbilib/bvbilib_dccparse.c $ |
|---|
| 19 | * |
|---|
| 20 | * Hydra_Software_Devel/46 8/27/10 1:49p darnstein |
|---|
| 21 | * SW3548-3022: merge to production branch. |
|---|
| 22 | * |
|---|
| 23 | * Hydra_Software_Devel/SW3548-3022/1 7/28/10 4:38p darnstein |
|---|
| 24 | * SW3548-3022: bitstream parsing is relayed to commonutils module BUDP. |
|---|
| 25 | * |
|---|
| 26 | * Hydra_Software_Devel/45 12/14/09 3:57p darnstein |
|---|
| 27 | * SW7405-3527: There are now two SEI parsers. One is for legacy |
|---|
| 28 | * customers. The other is for up to data, ATSC-53 style data. |
|---|
| 29 | * |
|---|
| 30 | * Hydra_Software_Devel/44 3/18/09 7:52p darnstein |
|---|
| 31 | * PR53264: fix logic error in previous check-in. |
|---|
| 32 | * |
|---|
| 33 | * Hydra_Software_Devel/43 3/16/09 1:08p darnstein |
|---|
| 34 | * PR53264: New error code for MPEG parsing: BERR_BVBIlib_SOURCE_CHECK. |
|---|
| 35 | * |
|---|
| 36 | * Hydra_Software_Devel/42 5/28/08 3:59p darnstein |
|---|
| 37 | * PR42839: When parsing AFD53 data, fill in the descriptors cc_valid, |
|---|
| 38 | * bIsAnalog, and polarity. The other types of data have these fields |
|---|
| 39 | * defined. So applications software can be made simpler now. |
|---|
| 40 | * |
|---|
| 41 | * Hydra_Software_Devel/41 11/9/07 11:04a darnstein |
|---|
| 42 | * PR36734: In last checkin, I forgot to initialize a function argument. |
|---|
| 43 | * |
|---|
| 44 | * Hydra_Software_Devel/40 11/8/07 3:53p darnstein |
|---|
| 45 | * PR36734: When parsing AFD data, report the number of items parsed (1) |
|---|
| 46 | * to the caller. |
|---|
| 47 | * |
|---|
| 48 | * Hydra_Software_Devel/39 9/26/07 1:29p darnstein |
|---|
| 49 | * PR35298: A counting error is fixed. This may or may not be a |
|---|
| 50 | * contributing factor to this PR. |
|---|
| 51 | * |
|---|
| 52 | * Hydra_Software_Devel/38 8/30/07 4:30p darnstein |
|---|
| 53 | * PR33711: declare static tables to be const. This is required by |
|---|
| 54 | * Broadcom's programming standards. |
|---|
| 55 | * |
|---|
| 56 | * Hydra_Software_Devel/37 6/14/07 3:41p darnstein |
|---|
| 57 | * PR28732: Fix parsing for case of ATSC-53 encoding, MPEG FIELD PICTURES. |
|---|
| 58 | * There was speculation that this parsing error was a factor in the PR. |
|---|
| 59 | * Perhaps not. But in any case, the parsing was incorrect. |
|---|
| 60 | * |
|---|
| 61 | * Hydra_Software_Devel/36 12/6/06 1:55p gmohile |
|---|
| 62 | * PR 25904: add support for parsing AFD |
|---|
| 63 | * |
|---|
| 64 | * Hydra_Software_Devel/35 10/17/06 12:46p darnstein |
|---|
| 65 | * PR24970: These changes capture most of what Bill Fassl and Abhay Gadre |
|---|
| 66 | * asked for. With minor changes in applications software, all test |
|---|
| 67 | * bitstreams should decode properly now. |
|---|
| 68 | * |
|---|
| 69 | * Hydra_Software_Devel/34 10/9/06 2:49p darnstein |
|---|
| 70 | * PR24702: Support user_data_code_length in both compliant bitstreams, |
|---|
| 71 | * and older, non-compliant bitstreams. |
|---|
| 72 | * |
|---|
| 73 | * Hydra_Software_Devel/33 9/6/06 7:07p darnstein |
|---|
| 74 | * PR24125: Adjust interpretation of user_data_code_length, per customer |
|---|
| 75 | * experts. |
|---|
| 76 | * |
|---|
| 77 | * Hydra_Software_Devel/32 4/28/06 4:09p darnstein |
|---|
| 78 | * PR21293: Check for DSS userdatalength != 3. |
|---|
| 79 | * |
|---|
| 80 | * Hydra_Software_Devel/31 3/20/06 3:35p darnstein |
|---|
| 81 | * PR20137: Return data items even if they have cc_valid=0. Also, return |
|---|
| 82 | * the information cc_valid=0/1 to the caller of BVBIlib_dccparse(). All |
|---|
| 83 | * this is needed to use the data for EIA-708B processing. |
|---|
| 84 | * |
|---|
| 85 | * Hydra_Software_Devel/30 2/27/06 12:04p darnstein |
|---|
| 86 | * PR15767: The last revision is effectively reversed. The test bitstream |
|---|
| 87 | * dcii.ts will be "broken" now. It is not possible to successfully |
|---|
| 88 | * decode all bitstreams with one algorithm. |
|---|
| 89 | * |
|---|
| 90 | * Hydra_Software_Devel/29 2/10/06 5:34p darnstein |
|---|
| 91 | * PR15767: for ATSC data, use the _TFF method instead of the _SIMPLE |
|---|
| 92 | * method. This takes care of dcii.ts. I hope that other bitstreams |
|---|
| 93 | * continue to decode correctly... |
|---|
| 94 | * |
|---|
| 95 | * Hydra_Software_Devel/28 1/16/06 12:58p darnstein |
|---|
| 96 | * PR18903: silence compiler's complaint about an unused function via a |
|---|
| 97 | * kludge of sorts. |
|---|
| 98 | * |
|---|
| 99 | * Hydra_Software_Devel/27 1/13/06 5:44p darnstein |
|---|
| 100 | * PR18540: Fix special case of parsing SEI data (field polarity). Add |
|---|
| 101 | * some debugging support. |
|---|
| 102 | * |
|---|
| 103 | * Hydra_Software_Devel/26 10/31/05 3:26p darnstein |
|---|
| 104 | * PR16086: For ATSC data, switch to the method SetFieldsParity_SIMPLE(). |
|---|
| 105 | * This causes the test file brutus4.mpg to decode properly. |
|---|
| 106 | * |
|---|
| 107 | * Hydra_Software_Devel/25 10/11/05 6:12p darnstein |
|---|
| 108 | * PR15959: Provide multiple methods for setting field parity of closed |
|---|
| 109 | * caption data. |
|---|
| 110 | * |
|---|
| 111 | * Hydra_Software_Devel/24 6/16/05 10:37a erickson |
|---|
| 112 | * PR15767: fixed SetFieldsParity for 3:2 pulldown streams |
|---|
| 113 | * |
|---|
| 114 | * Hydra_Software_Devel/23 6/8/05 3:10p darnstein |
|---|
| 115 | * PR 15784: Can now parse DSS/AVC/SEI userdata. Lightly tested. Is the |
|---|
| 116 | * top/bottom field decision correct? |
|---|
| 117 | * |
|---|
| 118 | * Hydra_Software_Devel/22 6/6/05 12:47p darnstein |
|---|
| 119 | * PR 15767: Use Vladimir's formula for setting top field or bottom field |
|---|
| 120 | * in ATSC userdata types. |
|---|
| 121 | * |
|---|
| 122 | * Hydra_Software_Devel/21 5/31/05 2:30p darnstein |
|---|
| 123 | * PR 15707: Adapt to new data structure BAVC_USERDATA_info. |
|---|
| 124 | * |
|---|
| 125 | * Hydra_Software_Devel/20 5/27/05 4:37p vsilyaev |
|---|
| 126 | * PR14397: Accented that BMVD_USERDATA parameter isn't modified |
|---|
| 127 | * |
|---|
| 128 | * Hydra_Software_Devel/19 4/11/05 12:42p darnstein |
|---|
| 129 | * PR 14477: fix coding errors discovered by Biyong's customer. |
|---|
| 130 | * |
|---|
| 131 | * Hydra_Software_Devel/18 4/6/05 5:12p darnstein |
|---|
| 132 | * PR 14477: use a new attribute bIsAnalog to distinguish analog closed |
|---|
| 133 | * caption data from more general (digital) forms. |
|---|
| 134 | * |
|---|
| 135 | * Hydra_Software_Devel/17 4/6/05 3:30p darnstein |
|---|
| 136 | * PR 14477: Parse DVS 157 and DVS053 data according to cc_field_number. |
|---|
| 137 | * |
|---|
| 138 | * Hydra_Software_Devel/16 3/22/05 1:51p darnstein |
|---|
| 139 | * PR 14504: Arman's speed optimizations have been applied. |
|---|
| 140 | * |
|---|
| 141 | * Hydra_Software_Devel/15 1/25/05 2:20p darnstein |
|---|
| 142 | * PR 10907: Allow operation on big-endian machines. Will be tested by |
|---|
| 143 | * Bill Fassl. |
|---|
| 144 | * |
|---|
| 145 | * Hydra_Software_Devel/14 1/19/05 3:22p darnstein |
|---|
| 146 | * PR 13798: Incorporate Bill Fassl's latest changes for DSS parsing. |
|---|
| 147 | * Also include a minor optimization from Bill. |
|---|
| 148 | * |
|---|
| 149 | * Hydra_Software_Devel/13 1/14/05 4:22p darnstein |
|---|
| 150 | * PR 13798: Add Bill Fassl's parsing capability as a separate function. |
|---|
| 151 | * |
|---|
| 152 | * Hydra_Software_Devel/12 1/14/05 11:58a darnstein |
|---|
| 153 | * PR 13797: Allow read from address that is not a multiple of 4. Fix |
|---|
| 154 | * counting error that Bill Fassl discovered. |
|---|
| 155 | * |
|---|
| 156 | * Hydra_Software_Devel/11 12/20/04 1:39p darnstein |
|---|
| 157 | * PR 13030: Adapt to changed file names. |
|---|
| 158 | * |
|---|
| 159 | * Hydra_Software_Devel/10 12/14/04 12:43p darnstein |
|---|
| 160 | * PR 13504: Provide userdata type to caller. May help to resolve this |
|---|
| 161 | * PR. |
|---|
| 162 | * |
|---|
| 163 | * Hydra_Software_Devel/9 12/6/04 2:27p darnstein |
|---|
| 164 | * PR 13248: Use a simple method for determining whether to output CC |
|---|
| 165 | * bytes top or bottom field. |
|---|
| 166 | * |
|---|
| 167 | * Hydra_Software_Devel/8 11/16/04 8:01p shyam |
|---|
| 168 | * PR 8365 : Removed Parity bit clear in VBIlibparser |
|---|
| 169 | * |
|---|
| 170 | * Hydra_Software_Devel/7 10/18/04 5:11p darnstein |
|---|
| 171 | * PR 12874: remove an unnecessary #include file from API header file |
|---|
| 172 | * bvbilibdccparse.h. |
|---|
| 173 | * |
|---|
| 174 | * Hydra_Software_Devel/6 10/18/04 5:06p darnstein |
|---|
| 175 | * PR 12874: Restore the calling sequence of BVBILIB_DCCparse() to avoid |
|---|
| 176 | * giving problems to Broadcom customers. |
|---|
| 177 | * |
|---|
| 178 | * Hydra_Software_Devel/5 10/12/04 11:39a darnstein |
|---|
| 179 | * PR 12874: Only access MPEG userdata on 32-bit address boundaries. |
|---|
| 180 | * Otherwise, userdata seems to read as 0xff. I do not know why. Note |
|---|
| 181 | * that the API of this sub-module had to change. |
|---|
| 182 | * |
|---|
| 183 | * Hydra_Software_Devel/4 6/8/04 5:01p darnstein |
|---|
| 184 | * PR 9080: fix a byte counting error. |
|---|
| 185 | * |
|---|
| 186 | * Hydra_Software_Devel/3 4/26/04 8:34p darnstein |
|---|
| 187 | * PR 9080: Fix numerous small bugs. The implementation seems to be |
|---|
| 188 | * correct for ATSC-53 digital closed caption data. |
|---|
| 189 | * |
|---|
| 190 | * Hydra_Software_Devel/2 4/21/04 1:54p darnstein |
|---|
| 191 | * PR 9080: adapt to changes in data structure BMVD_USERDATA_info. |
|---|
| 192 | * |
|---|
| 193 | * Hydra_Software_Devel/1 4/20/04 2:09p darnstein |
|---|
| 194 | * PR 9080: ready for initial testing. |
|---|
| 195 | * |
|---|
| 196 | ***************************************************************************/ |
|---|
| 197 | |
|---|
| 198 | /* Software has been moved to the BUDP commonutils module */ |
|---|
| 199 | |
|---|
| 200 | /* End of File */ |
|---|