Andreas Rheinhardt
1cf238d3bf
avcodec/cbs: Factor out common code for writing units
...
All cbs-functions to write units share a common pattern:
1. They check whether they have a write buffer (that is used to store
the unit's data until the needed size becomes known after writing the
unit when a dedicated buffer will be allocated).
2. They use this buffer for a PutBitContext.
3. The (codec-specific) writing takes place through the PutBitContext.
4. The return value is checked. AVERROR(ENOSPC) here always indicates
that the buffer was too small and leads to a reallocation of said
buffer.
5. The final buffer will be allocated and the data copied.
This commit factors this common code out in a single function in cbs.c.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
(cherry picked from commit 7c92eaace2 )
2019-12-31 16:57:37 -03:00
..
2019-05-14 23:41:24 +01:00
2019-07-19 01:23:23 +02:00
2019-07-07 13:29:50 +01:00
2019-05-14 16:47:56 -03:00
2019-12-31 19:51:55 +01:00
2019-06-20 14:47:46 -03:00
2010-08-24 15:21:27 +00:00
2016-10-18 21:41:18 +01:00
2017-03-25 21:37:05 -03:00
2019-06-04 13:06:41 +02:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:55 +01:00
2015-10-17 02:31:20 +01:00
2019-05-12 14:17:10 +08:00
2016-03-08 23:56:51 +01:00
2016-10-18 21:41:18 +01:00
2018-09-09 12:01:07 +02:00
2017-11-09 03:37:48 +00:00
2015-07-22 21:51:22 +02:00
2019-12-31 19:51:55 +01:00
2015-07-22 21:51:28 +02:00
2019-06-25 13:30:09 +02:00
2015-12-09 07:36:58 -05:00
2017-08-24 17:42:07 -07:00
2014-06-15 12:11:46 +02:00
2017-02-07 23:31:25 +01:00
2017-01-22 02:29:16 +01:00
2019-06-20 14:47:46 -03:00
2015-12-11 19:10:00 -05:00
2017-06-24 22:30:44 +02:00
2016-06-21 21:55:34 +02:00
2019-12-31 19:51:57 +01:00
2017-10-30 18:56:45 -03:00
2015-07-27 19:57:52 +02:00
2019-12-31 19:51:57 +01:00
2019-06-20 14:47:46 -03:00
2012-12-06 16:14:38 +01:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:56 +01:00
2015-08-02 20:36:24 +02:00
2019-06-12 20:06:20 +10:00
2019-12-31 19:51:56 +01:00
2018-01-16 23:25:27 +00:00
2019-11-19 19:48:33 -03:00
2019-09-04 20:26:35 +02:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:56 +01:00
2019-06-04 13:06:41 +02:00
2016-02-26 21:49:34 +01:00
2019-08-04 21:16:28 +02:00
2019-01-01 21:11:47 +01:00
2017-06-01 22:20:16 +02:00
2019-12-31 19:51:56 +01:00
2013-09-03 15:05:18 +02:00
2019-12-31 19:51:56 +01:00
2017-08-01 00:33:03 -03:00
2019-06-20 14:47:46 -03:00
2019-12-31 19:51:57 +01:00
2015-09-29 15:22:52 +02:00
2015-09-29 15:22:52 +02:00
2017-12-14 19:37:56 +01:00
2019-04-11 15:45:56 -03:00
2019-07-08 22:59:41 +01:00
2018-10-15 01:19:45 +02:00
2019-04-16 19:23:17 -03:00
2019-07-17 17:56:15 -03:00
2019-05-12 14:17:22 +08:00
2019-09-04 20:26:35 +02:00
2019-09-04 20:26:35 +02:00
2019-06-26 19:05:29 +02:00
2019-12-31 19:51:56 +01:00
2013-06-02 10:30:35 +02:00
2019-06-26 19:05:29 +02:00
2019-06-26 21:25:10 +02:00
2013-08-12 19:40:29 +02:00
2018-04-02 13:06:19 +01:00
2017-07-07 15:23:58 -04:00
2019-04-11 15:45:56 -03:00
2019-06-14 21:36:39 +02:00
2016-06-06 14:32:48 +02:00
2015-07-27 22:50:18 +02:00
2019-08-04 21:16:28 +02:00
2019-09-23 10:11:25 -03:00
2016-08-13 12:46:18 +02:00
2014-06-28 19:08:39 +02:00
2019-09-04 20:26:35 +02:00
2019-12-31 19:51:57 +01:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-11-19 23:40:02 -03:00
2019-07-08 22:59:41 +01:00
2019-07-20 11:28:09 -03:00
2019-07-20 11:28:09 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-05-29 00:16:41 +01:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-06-20 14:47:46 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-12-31 16:57:37 -03:00
2019-04-21 23:29:04 +02:00
2019-06-28 20:10:43 +02:00
2018-07-18 13:59:25 +02:00
2019-05-14 12:06:26 +02:00
2019-08-04 21:16:28 +02:00
2018-04-03 23:31:36 -03:00
2019-12-31 19:51:56 +01:00
2019-06-12 20:06:20 +10:00
2019-12-31 19:51:57 +01:00
2019-05-20 18:10:54 +02:00
2019-05-08 11:40:06 +02:00
2017-02-07 23:31:25 +01:00
2016-01-31 17:09:38 +01:00
2016-01-31 17:09:38 +01:00
2019-01-01 21:11:47 +01:00
2017-05-22 02:16:39 +02:00
2019-09-04 20:26:35 +02:00
2019-04-20 10:38:01 +05:30
2019-01-16 01:29:18 +01:00
2016-02-07 09:09:13 -08:00
2019-08-05 19:34:33 +02:00
2019-09-04 20:26:35 +02:00
2016-07-11 23:38:01 +01:00
2019-07-17 23:18:50 +02:00
2018-06-10 08:46:09 +08:00
2017-06-11 10:00:16 +02:00
2019-04-24 17:05:02 +02:00
2019-12-31 19:51:57 +01:00
2019-07-14 22:17:43 +02:00
2015-09-05 14:16:16 -03:00
2016-05-24 20:47:03 +02:00
2014-09-09 19:30:55 +02:00
2019-07-13 19:34:15 +02:00
2019-07-20 19:05:02 +02:00
2019-04-21 19:43:14 +02:00
2018-07-15 19:42:25 +02:00
2018-12-14 23:24:20 +01:00
2019-04-24 17:05:02 +02:00
2019-12-31 19:51:56 +01:00
2016-01-31 15:44:11 -08:00
2014-06-13 19:51:35 +02:00
2019-01-01 21:11:47 +01:00
2017-03-21 15:55:44 -03:00
2019-08-04 21:16:28 +02:00
2019-08-04 21:16:28 +02:00
2015-07-01 03:18:30 +02:00
2019-07-07 22:34:05 +02:00
2018-06-27 13:50:14 +02:00
2016-06-29 11:35:10 +02:00
2014-08-29 18:57:25 +02:00
2019-12-31 19:51:56 +01:00
2019-12-06 21:33:54 -03:00
2013-01-23 17:44:56 +01:00
2017-03-21 14:29:52 -03:00
2016-06-21 21:55:34 +02:00
2014-01-07 13:11:06 +01:00
2016-03-04 13:51:42 +01:00
2019-05-27 19:01:38 +02:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:57 +01:00
2019-05-09 22:07:26 +02:00
2019-07-07 22:17:07 +01:00
2019-05-06 23:58:34 +02:00
2019-12-31 19:51:57 +01:00
2016-12-03 17:25:40 +01:00
2019-07-19 21:42:38 +02:00
2019-09-04 20:26:35 +02:00
2017-01-21 02:30:38 +01:00
2016-01-02 13:08:29 +01:00
2019-06-21 18:28:00 +02:00
2019-12-31 19:51:55 +01:00
2018-12-23 15:30:13 +01:00
2019-12-31 19:51:56 +01:00
2017-08-21 16:19:58 +02:00
2019-12-31 19:51:55 +01:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:55 +01:00
2019-04-19 13:58:54 +02:00
2019-05-11 16:42:13 +02:00
2019-07-08 09:56:29 +02:00
2016-06-29 11:48:53 +02:00
2015-07-27 22:50:18 +02:00
2016-06-21 21:55:34 +02:00
2012-08-07 22:45:46 +02:00
2019-08-04 16:19:25 +02:00
2019-07-19 21:42:38 +02:00
2019-03-27 00:13:27 +00:00
2016-06-20 12:31:29 +02:00
2018-06-11 00:51:20 +02:00
2019-07-08 22:59:41 +01:00
2019-06-12 12:01:26 +02:00
2019-05-12 16:32:16 +02:00
2019-04-24 18:30:07 -03:00
2019-07-08 22:59:41 +01:00
2019-07-19 21:42:38 +02:00
2019-07-14 13:04:46 -03:00
2017-03-21 15:20:45 -03:00
2019-07-07 22:34:05 +02:00
2019-07-07 22:59:22 +01:00
2019-07-07 13:29:51 +01:00
2019-07-07 13:29:50 +01:00
2019-08-27 20:10:35 -03:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:55 +01:00
2019-03-29 09:51:09 +08:00
2019-07-05 16:30:40 -03:00
2019-06-30 17:52:13 +02:00
2019-09-04 20:26:35 +02:00
2017-12-17 02:09:31 +01:00
2019-07-20 11:28:09 -03:00
2019-12-31 19:51:55 +01:00
2017-10-24 19:10:22 -03:00
2019-09-04 20:26:35 +02:00
2019-07-08 09:56:08 +02:00
2016-06-29 11:16:01 +02:00
2017-05-13 01:15:29 +02:00
2017-04-09 10:50:11 +02:00
2019-12-31 19:51:55 +01:00
2019-07-13 14:42:57 +02:00
2017-03-22 16:22:20 +01:00
2019-07-13 14:42:57 +02:00
2019-09-04 20:26:35 +02:00
2019-12-31 19:51:57 +01:00
2019-07-08 10:00:41 +02:00
2018-04-03 16:20:31 +02:00
2019-04-13 18:32:58 +02:00
2019-09-04 20:26:35 +02:00
2019-04-20 10:38:01 +05:30
2019-12-31 19:51:56 +01:00
2019-06-12 12:01:32 +02:00
2017-03-30 10:03:59 +02:00
2019-12-31 19:51:56 +01:00
2016-06-29 11:52:34 +02:00
2017-05-28 03:04:21 +02:00
2019-07-17 23:18:50 +02:00
2012-05-18 23:34:11 +02:00
2016-03-07 11:17:31 +01:00
2019-04-25 14:49:51 +02:00
2019-04-25 19:18:29 +02:00
2017-11-11 11:29:16 -03:00
2018-11-27 01:16:28 +01:00
2019-05-04 20:22:29 +02:00
2014-04-02 20:01:37 +02:00
2017-08-11 22:02:38 +02:00
2019-04-16 14:20:43 +02:00
2019-05-27 13:21:52 -03:00
2017-12-14 19:37:56 +01:00
2016-07-27 10:19:40 +03:00
2018-11-28 23:53:51 +00:00
2017-12-14 19:37:56 +01:00
2017-12-14 19:37:56 +01:00
2019-12-31 19:51:56 +01:00
2017-12-14 19:37:56 +01:00
2019-05-12 14:17:52 +08:00
2017-12-14 19:37:56 +01:00
2016-01-27 16:36:46 +00:00
2019-07-07 19:19:26 +01:00
2019-07-07 19:19:26 +01:00
2019-12-31 19:51:55 +01:00
2012-10-12 20:39:17 +02:00
2018-01-28 20:23:11 +01:00
2019-12-31 19:51:56 +01:00
2015-09-07 12:53:00 +02:00
2019-06-29 19:22:19 +02:00
2019-07-11 16:53:09 +02:00
2019-07-07 13:29:50 +01:00
2017-07-30 07:38:39 +01:00
2017-11-13 19:54:20 +01:00
2018-04-02 13:06:19 +01:00
2016-10-19 10:50:56 +02:00
2019-07-26 18:28:37 +02:00
2019-07-26 18:28:15 +02:00
2019-06-13 11:41:18 +02:00
2019-06-13 11:41:18 +02:00
2013-08-08 12:11:33 +02:00
2018-08-12 21:47:17 +02:00
2015-03-31 01:11:02 +02:00
2019-07-01 13:24:57 +08:00
2017-04-10 13:11:15 +02:00
2019-05-07 17:30:19 -03:00
2019-05-07 17:30:19 -03:00
2019-05-07 17:30:19 -03:00
2016-09-17 13:23:56 +01:00
2019-05-07 17:30:19 -03:00
2019-05-12 14:18:08 +08:00
2016-06-21 21:55:34 +02:00
2019-12-31 19:51:55 +01:00
2019-06-24 23:49:19 -03:00
2019-12-31 19:51:57 +01:00
2017-02-03 20:16:30 +01:00
2019-09-04 20:26:35 +02:00
2016-06-29 11:16:01 +02:00
2019-07-07 23:04:27 +01:00
2019-09-27 22:28:16 -03:00
2016-06-21 21:55:34 +02:00
2019-12-31 19:51:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-29 11:16:01 +02:00
2012-08-24 15:00:39 +02:00
2017-11-11 11:29:16 -03:00
2015-07-27 22:50:18 +02:00
2017-03-29 14:49:29 +02:00
2013-12-03 21:12:00 +01:00
2013-12-03 21:12:00 +01:00
2016-06-21 21:55:34 +02:00
2015-11-14 10:58:39 -05:00
2018-09-08 20:55:59 +02:00
2018-12-05 00:50:13 +01:00
2018-10-24 23:15:24 +02:00
2019-08-05 19:34:33 +02:00
2019-08-05 19:34:33 +02:00
2019-08-05 19:34:33 +02:00
2019-06-05 13:19:59 +02:00
2019-08-05 19:34:33 +02:00
2019-08-05 19:34:33 +02:00
2017-05-07 15:31:00 +02:00
2017-03-21 15:57:07 -03:00
2015-07-27 23:15:19 +02:00
2019-12-31 19:51:56 +01:00
2015-12-17 08:12:41 -08:00
2019-12-31 19:51:56 +01:00
2018-08-21 15:14:56 +02:00
2019-11-17 01:41:11 +01:00
2019-09-02 13:53:08 -07:00
2019-04-20 10:38:01 +05:30
2019-05-17 12:48:24 -03:00
2019-04-01 00:19:14 +02:00
2018-08-23 17:34:25 -03:00
2019-03-31 23:35:00 +02:00
2017-09-23 08:27:44 +01:00
2018-12-12 20:05:33 +00:00
2017-07-18 20:52:06 +01:00
2017-07-13 19:53:52 +01:00
2019-06-04 13:06:41 +02:00
2019-07-17 23:18:50 +02:00
2018-10-26 13:39:25 +02:00
2019-12-31 19:51:56 +01:00
2014-06-13 19:03:55 +02:00
2019-04-19 21:06:40 +02:00
2017-04-03 10:08:29 -04:00
2019-09-04 20:26:35 +02:00
2019-05-12 14:18:25 +08:00
2019-12-31 19:51:55 +01:00
2019-12-31 19:51:57 +01:00
2019-05-09 22:07:26 +02:00
2017-12-26 02:49:48 +01:00
2019-12-31 19:51:56 +01:00
2014-12-18 23:51:07 +01:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:56 +01:00
2019-05-07 11:00:14 +08:00
2019-05-07 11:00:19 +08:00
2019-05-07 11:00:14 +08:00
2019-07-01 13:24:01 +08:00
2019-04-25 14:49:51 +02:00
2018-10-18 02:28:54 +02:00
2016-06-29 11:35:10 +02:00
2019-12-31 19:51:56 +01:00
2017-11-11 11:29:16 -03:00
2019-12-31 19:51:56 +01:00
2017-07-26 06:13:05 +07:00
2016-06-21 21:55:34 +02:00
2019-09-04 20:26:35 +02:00
2016-11-14 12:03:00 +01:00
2015-07-27 22:50:18 +02:00
2019-07-08 09:54:55 +02:00
2014-09-05 20:21:47 +02:00
2015-02-14 21:18:17 +01:00
2010-06-25 08:19:20 +00:00
2019-08-05 19:34:33 +02:00
2019-12-31 19:51:56 +01:00
2019-05-24 21:39:07 +02:00
2019-09-04 20:26:35 +02:00
2018-04-03 17:28:16 +02:00
2019-07-08 09:38:05 +02:00
2019-12-31 19:51:56 +01:00
2015-05-18 14:07:48 +02:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:57 +01:00
2015-07-27 23:15:19 +02:00
2014-08-05 12:46:10 +02:00
2019-12-31 19:51:56 +01:00
2016-06-21 21:55:34 +02:00
2016-06-29 11:45:37 +02:00
2019-07-08 09:38:03 +02:00
2016-01-31 17:09:38 +01:00
2019-06-24 00:19:03 +02:00
2019-07-20 13:43:06 -03:00
2019-12-31 19:51:56 +01:00
2015-10-09 21:38:15 +02:00
2019-12-31 19:51:57 +01:00
2016-11-14 12:16:32 +01:00
2017-03-21 14:44:44 +01:00
2014-07-12 22:33:27 +02:00
2019-09-04 20:26:35 +02:00
2019-05-30 19:27:05 +02:00
2015-07-27 22:50:18 +02:00
2019-07-09 13:23:47 +02:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:57 +01:00
2018-12-01 01:58:27 +01:00
2017-09-26 16:02:40 -03:00
2018-09-08 21:18:47 +02:00
2019-09-04 20:26:35 +02:00
2016-08-06 18:27:01 -03:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:56 +01:00
2019-04-19 13:58:54 +02:00
2017-10-04 23:14:37 +01:00
2019-06-12 12:01:32 +02:00
2019-05-19 10:47:09 +02:00
2019-05-02 19:21:37 +02:00
2019-06-03 21:16:22 +01:00
2019-06-12 22:27:13 +01:00
2019-02-25 23:34:14 +00:00
2019-06-03 21:16:22 +01:00
2019-06-03 21:16:22 +01:00
2017-11-26 21:41:19 +00:00
2019-09-04 20:26:35 +02:00
2019-12-31 19:51:56 +01:00
2019-12-31 19:51:55 +01:00
2019-12-31 19:51:55 +01:00
2016-06-29 11:16:01 +02:00
2019-12-31 19:51:57 +01:00
2019-06-26 21:26:41 +02:00
2018-06-29 01:18:44 +02:00
2015-07-27 22:50:18 +02:00
2017-11-26 21:41:19 +00:00
2019-05-05 11:35:35 -07:00
2019-05-05 11:35:35 -07:00
2017-10-21 23:48:29 -03:00
2019-07-21 18:36:18 +02:00
2019-06-26 21:40:19 +02:00
2019-04-16 03:43:06 +03:00
2019-07-11 09:34:34 +08:00
2015-09-07 16:06:25 -03:00
2017-02-02 01:12:07 +01:00
2019-12-31 19:51:56 +01:00
2019-06-04 13:06:41 +02:00
2017-04-03 20:43:45 +02:00
2019-09-06 23:00:46 +02:00
2019-09-04 20:26:35 +02:00
2019-06-08 09:37:26 +10:00
2019-01-26 23:48:50 +11:00
2019-01-26 23:48:50 +11:00
2019-06-12 20:06:20 +10:00
2019-12-31 19:51:56 +01:00
2019-09-04 20:26:35 +02:00
2017-03-19 14:54:25 -03:00
2019-09-04 20:26:35 +02:00
2019-07-07 23:04:33 +01:00
2019-05-06 00:22:32 -03:00
2019-05-21 00:07:13 +01:00
2018-08-16 23:43:11 -03:00
2019-06-20 14:47:46 -03:00
2019-09-04 20:26:35 +02:00
2019-12-31 19:51:55 +01:00
2019-12-31 19:51:55 +01:00
2019-08-05 19:34:33 +02:00
2019-05-02 15:36:16 +02:00
2019-05-02 15:36:16 +02:00
2019-06-21 18:28:00 +02:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:57 +01:00
2010-04-20 14:45:34 +00:00
2019-12-31 19:51:57 +01:00
2019-12-31 19:51:57 +01:00
2016-02-24 18:15:14 +00:00
2016-02-24 18:15:14 +00:00
2019-05-12 16:31:39 +02:00
2019-06-25 13:30:09 +02:00
2019-12-31 19:51:56 +01:00
2015-07-21 14:48:23 +02:00
2016-06-29 11:16:01 +02:00
2017-02-07 23:31:25 +01:00
2019-04-25 14:49:50 +02:00
2019-04-02 17:14:42 +02:00