From patchwork Mon Nov 28 22:25:14 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gregory J. Wolfe" X-Patchwork-Id: 1591 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp2101843vsb; Mon, 28 Nov 2016 14:25:35 -0800 (PST) X-Received: by 10.28.94.76 with SMTP id s73mr22817930wmb.107.1480371935876; Mon, 28 Nov 2016 14:25:35 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z84si27759401wmg.75.2016.11.28.14.25.33; Mon, 28 Nov 2016 14:25:35 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@KodakAlaris.onmicrosoft.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6869E689D2B; Tue, 29 Nov 2016 00:25:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mx0a-001e4c01.pphosted.com (mx0b-001e4c01.pphosted.com [148.163.159.69]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 93F55689AE9 for ; Tue, 29 Nov 2016 00:25:17 +0200 (EET) Received: from pps.filterd (m0087347.ppops.net [127.0.0.1]) by mx0b-001e4c01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uASMLR3m031938 for ; Mon, 28 Nov 2016 17:25:22 -0500 Received: from nam03-co1-obe.outbound.protection.outlook.com (mail-co1nam03lp0016.outbound.protection.outlook.com [216.32.181.16]) by mx0b-001e4c01.pphosted.com with ESMTP id 26y7e7vnrm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 28 Nov 2016 17:25:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KodakAlaris.onmicrosoft.com; s=selector1-kodakalaris-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=YvnQZTEUGn2REtqlkKb4PSKMz1mqt1QsDfuvwo1mwAY=; b=OwcorMFH7uJKYybdCgACKqFEp9hW8R9oXW0LG/VbsAks20Vq6l2I+aTJ9my4XlzKi4hBWZFQEBpIIgSql3wUzTVE6D+cOpReFhqZJRNgJwSFOc9867/7SZuROnSk2fZN5oGVNu/r+ftwFi+ppoyt3ACf673chkJe2X95K/CbAQ0= Received: from BLUPR0301CA0018.namprd03.prod.outlook.com (10.162.113.156) by BN3PR0301MB1284.namprd03.prod.outlook.com (10.161.210.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13; Mon, 28 Nov 2016 22:25:18 +0000 Received: from BL2FFO11FD029.protection.gbl (2a01:111:f400:7c09::180) by BLUPR0301CA0018.outlook.office365.com (2a01:111:e400:5259::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13 via Frontend Transport; Mon, 28 Nov 2016 22:25:17 +0000 Received-SPF: Pass (protection.outlook.com: domain of kodakalaris.com designates 137.117.101.28 as permitted sender) receiver=protection.outlook.com; client-ip=137.117.101.28; helo=W5AZEXGP02.kaidmz.kodakalaris.net; Received: from W5AZEXGP02.kaidmz.kodakalaris.net (137.117.101.28) by BL2FFO11FD029.mail.protection.outlook.com (10.173.160.69) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.734.4 via Frontend Transport; Mon, 28 Nov 2016 22:25:17 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:635; Count:11 Received: from localhost (10.234.8.126) by W5AZEXGP02.kaidmz.kodakalaris.net (10.81.4.5) with Microsoft SMTP Server id 15.0.847.32; Mon, 28 Nov 2016 17:25:16 -0500 From: "Gregory J. Wolfe" To: Date: Mon, 28 Nov 2016 17:25:14 -0500 Message-ID: <1480371914-7660-1-git-send-email-gregory.wolfe@kodakalaris.com> X-Mailer: git-send-email 2.5.1.windows.1 MIME-Version: 1.0 X-IncomingHeaderCount: 11 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.117.101.28; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(2980300002)(438002)(3190300001)(189002)(199003)(450100001)(305945005)(4001430100002)(110136003)(7846002)(356003)(4326007)(2906002)(626004)(5003940100001)(57986006)(2351001)(5660300001)(76506005)(97736004)(104016004)(92566002)(106466001)(189998001)(38730400001)(39410400001)(39380400001)(68736007)(50986999)(33646002)(39400400001)(107886002)(8676002)(81166006)(81156014)(8936002)(86362001)(50466002)(48376002)(47776003)(36756003)(50226002)(6916009)(77096006)(39450400002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0301MB1284; H:W5AZEXGP02.kaidmz.kodakalaris.net; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD029; 1:4ugQI89D/atWeZBeMc5Y69Vw9J0D4x85bf8UclDCWPRztl4eV5e4J6qVvmQa3NoAB0thk8zxYJvz66+Ml7HXTR1sy/KlUqeKZJR2drRmHlzq1V1liZw+yrFsaRjJT0XDYRz98Dyooj9HwKVCTNOBghoJOiWDCx+3AaX7P9TSo5ot4pLAyyyvuqupbtm8VtKUZNOX/3qT0P+aWuRS+x3lUQtE1z7v7wvM6VTqH+je3mxiv7GhUBV803wdBErbAd01iDVJ/Ncm65A3W6Zzfgy6gX8d/SU3d/hluVbbm7cv9UZEyD0yRH4DsHwPQXTgitKnZGgYCB8a11J2cV2riyCxcq4A9Pk5u4kuwJ83/lDOlKJhCpest8ufLuL15JFxmcRoIYq5jo5yu5T3eDbb50A+ke369wa8BzjPbAWEm0uUC67JkS5lznmkzFW3J+bmfCnEFn6IVOus1+MRgJTFMRfSAK+Tt+ryH/1L1jdTCFtxN0OeSaz3Ucg9g8ejgLKivrD4yhoYh0v276+KYQr2VR0vB+a64LqUmYq1MZxa4YH2kBJ1EOFaUdiPGyGkf+65s7BSUtxgSB02gK0bQsv6mQwLegqByT7i98tfSeT2SHs5Gfa1u/JDWMfZ0EOC1BLJfgYCtro0j/Ee9DXUzNdT7PYVHfPwVPS68VpjZ8uCNWKj6dP6UzprWQxp9YvaV+pb9nXs9MAIKs6dLfILgV3sTNcGMg== X-MS-Office365-Filtering-Correlation-Id: 35e1bb31-0f9c-485e-58a5-08d417dd6e70 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BN3PR0301MB1284; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1284; 3:6Z9loQeGSsK20Wv1PMqasMGCV6BAYM7qfoUOr3KZEjQi0a3mx3jsCGOuost8UCEpwaBl07kegJEOqQgBZoQQ5IWiSqoamX9KZ2ahV/NBxntOM+B2touzPaWPW7JxUUlCYEsAJc5x4vaqPxczFXv2kMMX4mKmBUOIvsqnAr9/xDYT22zvOQ668T+3iuVgcUYP4Is+xxwSu5DZdrNUPw2vqnBX/geDeFGv/o8R3Y1a737RlnHAH3MUOnHubFGJryipRhXh5eQRTl9V21+IQIQhuJ41Y1dnwQNbzcsuEVZ51ZmIEHzJpxaJndpGNzxD02rDEEcQB1oFY4Rb9mVE20f+cDmK3CNpfIHl04N02GJZ4ZJs/m56Lq9/THfJp3gTKxt7tHkUzzUD0eRuaSIL/aR5ag==; 25:/Qf3RZVgVXPqO5q8uALlI+NowoHQpiE4UtU7zzerxDZCDuAtWZAytiwp30BijC7mqQ78UUBww4Z/4wYufUAa7jzYplBKSj9k9qMXyCuhfin+fO85pxQUEgmakZn+FMPLY9WKHKJRonJGGVFTkoekWfdsJDkZVmIsXqBfPPO7PLKBrGZHAReoj9dFS3JY/jEH8MAx9lI+e1zWWwONvbntTyfUyFL56s6awU9VMlP1Y6BJGpAWF1iZQ+DazLh1w0qSGGoVQMSQ2yolsenMQSotdz4nfUEHSWsEihsL38kSznrW/nrtb2mtkobrHBciiwbBCsq7wX0RyXH29MvJXAloaDmqIoQsQ5JIqCmK9ZE4hH+3x978fBSelAb2h8C+lWBK8xLOj9pXi/ds+LK1k0e6fcAzQZawmTCkeKwa5qGM9pr+QKUGrrT/ECXRqqd5PJsn7pRlIrURh+pFsUDeJarBwg== X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1284; 31:g7Gcb/DylvOU4gXBgK+5zRQcyBlXz8bhVbRlGxM2BeO8/zwtMWQ+ZYmHIIwftq0gDug8HLSMGVr0DwqTygFKX5t54ygD8l53G7UxZXGVmC592BQvfd3Iw2DF/XjQzfQKyMUNsWY+m6XInaA1IEdeABVUQEaNqdmkMU+k+F+lDr6drIRJkrZ0ArR+Wy9NWI5kdAazDkBvzpVjRHyfk5Os4ofncjL4D4M5c91mnXUqngnZkY867r5SlDbm8+IjPWXmDHlh0+txu9NM5bUFZoIX6w==; 20:JeWx1izT2s+oZu9jgCrxBNf/xSVjCu9ys0sWE/rwOgrIhjjNF5dD6VrFom581KZzyjNrhDUW+jhCwvEXpE1UJrRXnqkdjc2H8rvCF84x8E9ixtdvnnmMdqDaQQL/L3GJAvNSqT5f1vU7Jn+F4pSMZUF6KrqCI/QnA9lpu8RSoixaAVLfAZJCyupwFp+/7/+R5F2Bm4k4pAph3wIv4hcRIYN/oYMFhs8Ph4zqHqTeww3MkZT+W5W433LkmS7Y2ATNSV42rwYld45oUB5Q2my7uUbII6Kl8v1tDn+vC0rVd8SA1NiNIMFt7jMKUbzgc3WgSV1DDvZ3nPXsognPpoYVfuAakeTE6GebLWFN6Zk4aILMZGkTZ047AJ8ibKOHmo8BVjLvx6QXGnV8ej2F5ckQfmYLMyIdGBTVVmHJuOEPT4P3VLTDuucC8hOTWY/p79JDVUrcI0vPYzf92rWtGUI7p+SbdhtUoZYPnMqtZhCtg707LtrraYxKB8D3jzsJRpFz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6060326)(6040361)(6045199)(601004)(2401047)(13024025)(13015025)(13023025)(13018025)(5005006)(13017025)(8121501046)(3002001)(10201501046)(6055026)(6046074)(6061324)(6041248)(20161123562025)(20161123564025)(20161123555025)(20161123560025); SRVR:BN3PR0301MB1284; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0301MB1284; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1284; 4:myArvci70veVSjWBmLIj20nRg4XaExuUNfA/Tk3AEjqBQEvUlGetCGSt6IGcy6nG6P0nzSx03fXXvVHz9LfDa88uBOyitVydDDDTDj/du08N2H+54R5n1kStF1SsJgEaAMH8+snjX031Ks2WRSi26S98qP+Qm2m5j5w6CSmpjbv+ta4OCcpewBHBO4hqZSXZW4kIRhJwpqWkz73AqvxadA+fmZzTkRcClzJtonrZEU6Y1mEOrjUnzVRs87mh5h7NVsf2HqUcValP7sibzPMj7pikqR4S76mEJ3wrjN3yhmClV7J0aRQP05RDOmBZDxxaroCpQN/VzTh6uuqNJ1yyuFFjlIMFzJESefI5mFHbsnLwSzAnFh0cypFAumr/34h7XLMOREkWrjV2wW67fF/jYV8EifWpDQqF3tEjtcdRfJQQjYjBU5ZO0uyujSIkzblb14AcYYoGh+pwXRwXNlE3+kG3Mzg9WqxOnW0koGGCf6x/iiEb2QpOjfAOhODXxr4VnJshaofLaVmvYqhecMoiuxh6+yl1rRV/CaGl4s94lDv5S+fG6Y7wcYuYPStqcULG+Py6o5daOL4SHnukFqxxNUrjMF1yzQ9mrZxW2DpbvXrDXFuALfqdSszgV1PUNvh3jN2j6IOh6rKQP3htO25mfi/6dCoZ0mm+KlGLqoGN+qyHHtayHZzMLN11V2TdJMy1sD+G6UorwRS82VlT7GSJVULluX46vdaKIgXQrpr7w6g= X-Forefront-PRVS: 01401330D1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB1284; 23:9qg/sxe9YL6II2tbR8ud1jlKZ4/7Ek+dG/W+6z8?= =?us-ascii?Q?bcvC09Mzm7WfLOc0cbxI4n+hxDLhqprGwGXRh/cXHbdvxFfIh9l/0QG37k66?= =?us-ascii?Q?NlrgeukH7F+mOKyZQYzPOqm8jPjImNuHsFsmAUbGCjBr3WybJx9C28xh+MjJ?= =?us-ascii?Q?Trmc0jg3m8RK+9Kb7Hgqr0NXxGvMZz5uxYI/ZXSVNCpXjaUw+JCVywQ0ZldW?= =?us-ascii?Q?M5yUpN1w0x5fezeXQNDvpVZ6NNuIUootO8twMmLcExsYMqQkNTTj1ApfOR29?= =?us-ascii?Q?CFpqoob/1sH7LGwNohFQvqyITs12oMYfszfIW+o4mNrkfH4aTBB6LgZdUajP?= =?us-ascii?Q?OEqqNJusfnrwOmhUvtC0HRE2kSXqH4UM8q9dcy7agJ0y00nXE8nnwlrL7QPB?= =?us-ascii?Q?rNHcfliKLAjLj835TdnEJ1iP486tUQCh3zw301196v72tVJFxPJcN6mZFljY?= =?us-ascii?Q?eNerjpXXW8uaoxY6aZ8nwerYaGgMFKmVxQWQoclZOaNDmYxpqOEWhOIgokHc?= =?us-ascii?Q?PUmhLeL7JQqtGYea/a/Yw2pkMmUKk/KrJXc+bMzmIXySZApIi4y4Gz1dbGKh?= =?us-ascii?Q?3UWTgoQS8RLOuowCqueU6CZqsy9xhMK8QaK7fDUQlLnNuwmi6t7SErx32oXR?= =?us-ascii?Q?IbwFOdlpFdT4PVZz5hNFcfHSjsBU9+B23rDUE9r7JAjpGLGF/ini/j+66Zn1?= =?us-ascii?Q?H6F4BMrQOF/6JHChMR4ExIIt85JVlHu6T2sO7y5/S+X8NSo5Tn1YOQunmEBG?= =?us-ascii?Q?IaAJwAFQQ1nTO06p4MgbjFvhwgOC7qs4oPkacTtNmhd4buVV8xEk291NLT8N?= =?us-ascii?Q?qcRZv21ph4keXkLWgpF18FN5izS5Fi0jZxAXwDPy189vYzSYy5yMcpgnvhxp?= =?us-ascii?Q?ZEhaQI+WFJHTgNtiiXEk1dhPzNwcvrf7CaR3o33uo03G23ncDC5P35aHsMRd?= =?us-ascii?Q?62DjA2Zw2YlPll/rFNVTUFNfLy6mD1AEN7k7bbY0jJysh53H+Sckq4Jbs2o6?= =?us-ascii?Q?Xa+lda0pJjslFVL1HGB2KOvGM6omdcRbEapcIIt5oTFAIipRPyMi5DLxcnra?= =?us-ascii?Q?8xDdIykdQ73ED62QwOscmmqSlBhhvqmVpTakFUqxt48YnnWdTfqEmAlJKHVQ?= =?us-ascii?Q?+y9aG5G4eQsrBH+UVFf0ztHbcxJqglITD7wDAeIGawyR3u2zMTvIaAQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1284; 6:/wSSfqXJNr2DfS0Pn2g+/dSVtnvD+QZlHfKMrwpg4kKvxF8JdczmDFol3V9S7fKc6dgecjN3yrC0GNBn80r3Gxgb4Gba1du8zP7Q10Wmj49wb5+Sh9XBBzT13s1wykjU3jTi0lGDNSO74wP8TLwD5sKyHa3MsoOOPG+cBxm37GjOiqtUUTcO9tKSyxLuaB6vZSd3gdeaQk6+NSXfGH51y6icSROkkt76ayi0YoyeCU1uY8Lw4eDJOlpxJg/NmgtdgIZOE/XPUn/i4tqnXMHWdzENB82oBXpy7OtemfYFdv9H/1V0jd8SPQbeN4IBluSVCN4ZWk44svye1BAwtyzpA9gWuyONkQ4pjX0yoMWASt9WG1afzU/C2ssMZzr5/pGIacb1MohX3bswhxp3z85hqkFIGov1aVwcIT3/D4PkDnA2yZTzrGu2CWMBx1+UmlwBLhkFpnySnWph4VsH9HHqA+1vI/gb07ECNpYce29TWfyva7AXyGDU25Oojf/7NQYy; 5:F3lJtn3GtBmgsqPBCp3yVtSgjSzRvN3tGgU2Gl/OF4l3iWWpH02WaIXgTVcDwJZBcjIFpg5IenqiQ3rNa3bAjRLHHzZWLzTKX+Rb4vq+LcBxEHRZVGUwlFHW9ydLlJrWt8izOoaeJ3WaN9FP8TrnAA==; 24:RCvXnRel3yj3KwQ22vGBJOxTm6e6d/mMXO4AAQ9Y8c54yOXBnXZzu8H11N+WmeeGgeHuwwi7SnwZ9crldMERRO4dagmrB8H8O5E4wc4LTdY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB1284; 7:R9z44mok5Ahm1D6hSwn4aCFk1bzf3rwT/hs4mPcAsyK9WCHN4/DabOe2YRiUlCe6ve8MYg/lg1IRXAfPg7kakAcnpMjUwFbcgAkDqH+sfIaZefm4cmaLrWnzrsRy0zZQJKtG5d4EcjnhP7D+zyIHh8JMnGrqHv5Qt9hH9yzpACEnKs1PlxZJvSrjFg93DGT0oOfNa4idpf3v4aw2F6IyjLPAUVC0YZ8PNxM+jnC0gn5u+psrc9iUJKnjDPMp+0bDE0PaldFC9oDK+5IbEE9LZB59JmP3feYC6M6sP6UHEcyXcCIIrFC2iymqHbRIM+VkeTUsGMUSk0xv4rFH3cRu/xxBXr4hYqTr9w+0OEqMZoUOEN9irNESLqO3/rQ0DD6EOpvOgGvl1JYwSEa1+j9RuMnlulBkx1QC7VvuYR4v0ZavThOjge3Y6pYZlXEqj/09Qf4zCYRxeTeYcRV3btG3bQ== X-OriginatorOrg: kodakalaris.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2016 22:25:17.2746 (UTC) X-MS-Exchange-CrossTenant-Id: d29b7a9b-6edb-4720-99a8-3c5c6c3eeeb0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d29b7a9b-6edb-4720-99a8-3c5c6c3eeeb0; Ip=[137.117.101.28]; Helo=[W5AZEXGP02.kaidmz.kodakalaris.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1284 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-11-28_17:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611280358 Subject: [FFmpeg-devel] [PATCH] Save FFmpeg colorspace info in openh264 video files. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" As of version 1.6, libopenh264 saves (in the output video file) information about the color primaries, transfer characteristics, and color matrix used when the video pixel data was created. This patch sets the required libopenh264 data structures using the FFmpeg colorspace information so that video players will know how to properly decode video files created using FFmpeg and libopenh264. Signed-off-by: Gregory J. Wolfe --- libavcodec/libopenh264enc.c | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c index 5aa1596..6de7790 100644 --- a/libavcodec/libopenh264enc.c +++ b/libavcodec/libopenh264enc.c @@ -206,6 +206,58 @@ FF_ENABLE_DEPRECATION_WARNINGS } } +#if OPENH264_VER_AT_LEAST(1, 6) + // set video signal type information + param.sSpatialLayers[0].bVideoSignalTypePresent = true; + param.sSpatialLayers[0].uiVideoFormat = VF_UNDEF; + param.sSpatialLayers[0].bFullRange = (avctx->color_range == AVCOL_RANGE_JPEG); + param.sSpatialLayers[0].bColorDescriptionPresent = true; + switch ( avctx->color_primaries ) + { + case AVCOL_PRI_BT709: param.sSpatialLayers[0].uiColorPrimaries = CP_BT709; break; + case AVCOL_PRI_UNSPECIFIED: param.sSpatialLayers[0].uiColorPrimaries = CP_UNDEF; break; + case AVCOL_PRI_BT470M: param.sSpatialLayers[0].uiColorPrimaries = CP_BT470M; break; + case AVCOL_PRI_BT470BG: param.sSpatialLayers[0].uiColorPrimaries = CP_BT470BG; break; + case AVCOL_PRI_SMPTE170M: param.sSpatialLayers[0].uiColorPrimaries = CP_SMPTE170M; break; + case AVCOL_PRI_SMPTE240M: param.sSpatialLayers[0].uiColorPrimaries = CP_SMPTE240M; break; + case AVCOL_PRI_FILM: param.sSpatialLayers[0].uiColorPrimaries = CP_FILM; break; + case AVCOL_PRI_BT2020: param.sSpatialLayers[0].uiColorPrimaries = CP_BT2020; break; + default: param.sSpatialLayers[0].uiColorPrimaries = CP_UNDEF; break; + } + switch ( avctx->color_trc ) + { + case AVCOL_TRC_BT709: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT709; break; + case AVCOL_TRC_UNSPECIFIED: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_UNDEF; break; + case AVCOL_TRC_GAMMA22: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT470M; break; + case AVCOL_TRC_GAMMA28: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT470BG; break; + case AVCOL_TRC_SMPTE170M: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_SMPTE170M; break; + case AVCOL_TRC_SMPTE240M: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_SMPTE240M; break; + case AVCOL_TRC_LINEAR: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_LINEAR; break; + case AVCOL_TRC_LOG: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_LOG100; break; + case AVCOL_TRC_LOG_SQRT: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_LOG316; break; + case AVCOL_TRC_IEC61966_2_4: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_IEC61966_2_4; break; + case AVCOL_TRC_BT1361_ECG: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT1361E; break; + case AVCOL_TRC_IEC61966_2_1: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_IEC61966_2_1; break; + case AVCOL_TRC_BT2020_10: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT2020_10; break; + case AVCOL_TRC_BT2020_12: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_BT2020_12; break; + default: param.sSpatialLayers[0].uiTransferCharacteristics = TRC_UNDEF; break; + } + switch ( avctx->colorspace ) + { + case AVCOL_SPC_RGB: param.sSpatialLayers[0].uiColorMatrix = CM_GBR; break; + case AVCOL_SPC_BT709: param.sSpatialLayers[0].uiColorMatrix = CM_BT709; break; + case AVCOL_SPC_UNSPECIFIED: param.sSpatialLayers[0].uiColorMatrix = CM_UNDEF; break; + case AVCOL_SPC_FCC: param.sSpatialLayers[0].uiColorMatrix = CM_FCC; break; + case AVCOL_SPC_BT470BG: param.sSpatialLayers[0].uiColorMatrix = CM_BT470BG; break; + case AVCOL_SPC_SMPTE170M: param.sSpatialLayers[0].uiColorMatrix = CM_SMPTE170M; break; + case AVCOL_SPC_SMPTE240M: param.sSpatialLayers[0].uiColorMatrix = CM_SMPTE240M; break; + case AVCOL_SPC_YCOCG: param.sSpatialLayers[0].uiColorMatrix = CM_YCGCO; break; + case AVCOL_SPC_BT2020_NCL: param.sSpatialLayers[0].uiColorMatrix = CM_BT2020NC; break; + case AVCOL_SPC_BT2020_CL: param.sSpatialLayers[0].uiColorMatrix = CM_BT2020C; break; + default: param.sSpatialLayers[0].uiColorMatrix = CM_UNDEF; break; + } +#endif + if ((*s->encoder)->InitializeExt(s->encoder, ¶m) != cmResultSuccess) { av_log(avctx, AV_LOG_ERROR, "Initialize failed\n"); return AVERROR_UNKNOWN;