[FFmpeg-devel] [PATCH 1/4] FFV1 specification: Slice Header subsection
Jerome Martinez
jerome at mediaarea.net
Thu Apr 30 14:10:51 CEST 2015
-------------- next part --------------
>From d7a6ca009e1bc36402d8c73cb7c35185207f6f65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Martinez?= <jerome at mediaarea.net>
Date: Thu, 30 Apr 2015 12:59:06 +0200
Subject: [PATCH 1/4] Slice Header subsection
Slice Header syntax is moved from Slice section to its own section
---
ffv1.lyx | 969 ++++++++++++++++++++++++++++-----------------------------------
1 file changed, 425 insertions(+), 544 deletions(-)
diff --git a/ffv1.lyx b/ffv1.lyx
index d90f048..cd22498 100644
--- a/ffv1.lyx
+++ b/ffv1.lyx
@@ -2314,7 +2314,7 @@ Slice
\begin_layout Standard
\begin_inset Tabular
-<lyxtabular version="3" rows="39" columns="2">
+<lyxtabular version="3" rows="27" columns="2">
<features rotate="0" tabularvalignment="middle">
<column alignment="left" valignment="top">
<column alignment="center" valignment="top">
@@ -2358,7 +2358,7 @@ type
\begin_inset space ~
\end_inset
-if(version>2) {
+if(version>2)
\end_layout
\end_inset
@@ -2409,7 +2409,7 @@ if(version>2) {
\begin_inset space ~
\end_inset
-slice_x
+SliceHeader(i)
\end_layout
\end_inset
@@ -2418,14 +2418,14 @@ slice_x
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
</cell>
</row>
<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
@@ -2444,23 +2444,7 @@ ur
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-slice_y
+if (colorspace_type == 1) {
\end_layout
\end_inset
@@ -2469,14 +2453,14 @@ slice_y
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
</cell>
</row>
<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
@@ -2511,7 +2495,15 @@ ur
\begin_inset space ~
\end_inset
-slice_width-1
+for (y=0;
+\begin_inset space ~
+\end_inset
+
+y<height;
+\begin_inset space ~
+\end_inset
+
+y++) {
\end_layout
\end_inset
@@ -2520,7 +2512,7 @@ slice_width-1
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -2562,7 +2554,23 @@ ur
\begin_inset space ~
\end_inset
-slice_height-1
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+LumaLine[y]
\end_layout
\end_inset
@@ -2571,7 +2579,7 @@ slice_height-1
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -2613,7 +2621,23 @@ ur
\begin_inset space ~
\end_inset
-for(j=0; j<plane_count; j++)
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+CbLine[y]
\end_layout
\end_inset
@@ -2680,7 +2704,7 @@ for(j=0; j<plane_count; j++)
\begin_inset space ~
\end_inset
-quant_table_index[i][j]
+CrLine[y]
\end_layout
\end_inset
@@ -2689,7 +2713,7 @@ quant_table_index[i][j]
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -2731,7 +2755,23 @@ ur
\begin_inset space ~
\end_inset
-picture_structure
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+if (alpha_plane)
\end_layout
\end_inset
@@ -2740,7 +2780,7 @@ picture_structure
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -2782,26 +2822,7 @@ ur
\begin_inset space ~
\end_inset
-sar_num
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-ur
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
\begin_inset space ~
\end_inset
@@ -2833,7 +2854,7 @@ ur
\begin_inset space ~
\end_inset
-sar_den
+AlphaLine[y]
\end_layout
\end_inset
@@ -2842,7 +2863,7 @@ sar_den
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -2884,7 +2905,7 @@ ur
\begin_inset space ~
\end_inset
-if (version > 3)
+}
\end_layout
\end_inset
@@ -2919,7 +2940,26 @@ if (version > 3)
\begin_inset space ~
\end_inset
+} else {
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
\begin_inset space ~
\end_inset
@@ -2951,7 +2991,7 @@ if (version > 3)
\begin_inset space ~
\end_inset
-reset_contexts
+LumaPlane
\end_layout
\end_inset
@@ -2960,7 +3000,7 @@ reset_contexts
\begin_inset Text
\begin_layout Plain Layout
-br
+
\end_layout
\end_inset
@@ -3002,23 +3042,7 @@ br
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-slice_coding_mode
+if (chroma_planes) {
\end_layout
\end_inset
@@ -3027,7 +3051,7 @@ slice_coding_mode
\begin_inset Text
\begin_layout Plain Layout
-ur
+
\end_layout
\end_inset
@@ -3053,26 +3077,19 @@ ur
\begin_inset space ~
\end_inset
-}
-\end_layout
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-\end_layout
+\begin_inset space ~
+\end_inset
+
+\begin_inset space ~
\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
+
\begin_inset space ~
\end_inset
@@ -3088,7 +3105,11 @@ ur
\begin_inset space ~
\end_inset
-if (colorspace_type == 1) {
+
+\begin_inset space ~
+\end_inset
+
+CbPlane
\end_layout
\end_inset
@@ -3104,7 +3125,7 @@ if (colorspace_type == 1) {
</cell>
</row>
<row>
-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
@@ -3139,15 +3160,23 @@ if (colorspace_type == 1) {
\begin_inset space ~
\end_inset
-for (y=0;
+
\begin_inset space ~
\end_inset
-y<height;
+
\begin_inset space ~
\end_inset
-y++) {
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+CrPlane
\end_layout
\end_inset
@@ -3198,23 +3227,7 @@ y++) {
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-LumaLine[y]
+}
\end_layout
\end_inset
@@ -3265,23 +3278,7 @@ LumaLine[y]
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-CbLine[y]
+if (alpha_plane)
\end_layout
\end_inset
@@ -3348,7 +3345,7 @@ CbLine[y]
\begin_inset space ~
\end_inset
-CrLine[y]
+AlphaPlane
\end_layout
\end_inset
@@ -3383,47 +3380,15 @@ CrLine[y]
\begin_inset space ~
\end_inset
+}
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-if (alpha_plane)
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
+\begin_layout Plain Layout
\end_layout
@@ -3450,55 +3415,7 @@ if (alpha_plane)
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-AlphaLine[y]
+if(i || version>2)
\end_layout
\end_inset
@@ -3549,7 +3466,7 @@ AlphaLine[y]
\begin_inset space ~
\end_inset
-}
+slice_size
\end_layout
\end_inset
@@ -3558,7 +3475,7 @@ AlphaLine[y]
\begin_inset Text
\begin_layout Plain Layout
-
+u(24)
\end_layout
\end_inset
@@ -3584,7 +3501,7 @@ AlphaLine[y]
\begin_inset space ~
\end_inset
-} else {
+if(ec){
\end_layout
\end_inset
@@ -3635,7 +3552,7 @@ AlphaLine[y]
\begin_inset space ~
\end_inset
-LumaPlane
+error_status
\end_layout
\end_inset
@@ -3644,7 +3561,7 @@ LumaPlane
\begin_inset Text
\begin_layout Plain Layout
-
+u(8)
\end_layout
\end_inset
@@ -3686,7 +3603,7 @@ LumaPlane
\begin_inset space ~
\end_inset
-if (chroma_planes) {
+crc_parity
\end_layout
\end_inset
@@ -3695,7 +3612,7 @@ if (chroma_planes) {
\begin_inset Text
\begin_layout Plain Layout
-
+u(32)
\end_layout
\end_inset
@@ -3721,48 +3638,84 @@ if (chroma_planes) {
\begin_inset space ~
\end_inset
+}
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+}
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
-\begin_inset space ~
-\end_inset
+\end_layout
+\end_inset
+</cell>
+</row>
+</lyxtabular>
-\begin_inset space ~
\end_inset
+
+\end_layout
-\begin_inset space ~
+\begin_layout Description
+slice_size indicates the size of the slice in bytes.
+\begin_inset Newline newline
\end_inset
+Note: this allows finding the start of slices before previous slices have
+ been fully decoded.
+ And allows this way parallel decoding as well as error resilience.
+\end_layout
-\begin_inset space ~
+\begin_layout Description
+error_status specifies the error status.
+\begin_inset Newline newline
\end_inset
-\begin_inset space ~
-\end_inset
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features rotate="0" tabularvalignment="middle">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
-CbPlane
+\begin_layout Plain Layout
+value
\end_layout
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-
+error status
\end_layout
\end_inset
@@ -3773,63 +3726,114 @@ CbPlane
\begin_inset Text
\begin_layout Plain Layout
-\begin_inset space ~
-\end_inset
-
+0
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+no error
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+1
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+slice contains a correctable error
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+2
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+slice contains a uncorrectable error
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+Other
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+reserved for future use
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+</lyxtabular>
-
-\begin_inset space ~
\end_inset
-\begin_inset space ~
+\end_layout
+
+\begin_layout Description
+plane_count indicates the count of planes and the associated plane types.
+\begin_inset Newline newline
\end_inset
-\begin_inset space ~
-\end_inset
+\begin_inset Tabular
+<lyxtabular version="3" rows="7" columns="2">
+<features rotate="0" tabularvalignment="middle">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
-CrPlane
+\begin_layout Plain Layout
+value
\end_layout
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-
+plane types
\end_layout
\end_inset
@@ -3840,38 +3844,67 @@ CrPlane
\begin_inset Text
\begin_layout Plain Layout
-\begin_inset space ~
-\end_inset
-
+0
+\end_layout
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+forbidden
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+1
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+if version <4: forbidden; else gray
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+2
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+if version <4: forbidden; else gray+alpha
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
-}
+\begin_layout Plain Layout
+3
\end_layout
\end_inset
@@ -3880,7 +3913,7 @@ CrPlane
\begin_inset Text
\begin_layout Plain Layout
-
+luma+chroma
\end_layout
\end_inset
@@ -3891,38 +3924,64 @@ CrPlane
\begin_inset Text
\begin_layout Plain Layout
-\begin_inset space ~
-\end_inset
-
+4
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+luma+chroma+alpha
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+Other
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+reserved for future use
+\end_layout
-\begin_inset space ~
\end_inset
+</cell>
+</row>
+</lyxtabular>
-
-\begin_inset space ~
\end_inset
-\begin_inset space ~
-\end_inset
+\end_layout
+\begin_layout Subsection
+Slice Header
+\end_layout
-\begin_inset space ~
-\end_inset
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="14" columns="2">
+<features rotate="0" tabularvalignment="middle">
+<column alignment="left" valignment="top">
+<column alignment="center" valignment="top">
+<row>
+<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
-if (alpha_plane)
+\begin_layout Plain Layout
+SliceHeader(i) {
\end_layout
\end_inset
@@ -3931,7 +3990,7 @@ if (alpha_plane)
\begin_inset Text
\begin_layout Plain Layout
-
+type
\end_layout
\end_inset
@@ -3957,39 +4016,7 @@ if (alpha_plane)
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-AlphaPlane
+slice_x
\end_layout
\end_inset
@@ -3998,7 +4025,7 @@ AlphaPlane
\begin_inset Text
\begin_layout Plain Layout
-
+ur
\end_layout
\end_inset
@@ -4024,7 +4051,7 @@ AlphaPlane
\begin_inset space ~
\end_inset
-}
+slice_y
\end_layout
\end_inset
@@ -4033,7 +4060,7 @@ AlphaPlane
\begin_inset Text
\begin_layout Plain Layout
-
+ur
\end_layout
\end_inset
@@ -4059,7 +4086,7 @@ AlphaPlane
\begin_inset space ~
\end_inset
-if(i || version>2)
+slice_width-1
\end_layout
\end_inset
@@ -4068,7 +4095,7 @@ if(i || version>2)
\begin_inset Text
\begin_layout Plain Layout
-
+ur
\end_layout
\end_inset
@@ -4094,23 +4121,7 @@ if(i || version>2)
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-slice_size
+slice_height-1
\end_layout
\end_inset
@@ -4119,7 +4130,7 @@ slice_size
\begin_inset Text
\begin_layout Plain Layout
-u(24)
+ur
\end_layout
\end_inset
@@ -4145,7 +4156,7 @@ u(24)
\begin_inset space ~
\end_inset
-if(ec){
+for(j=0; j<plane_count; j++)
\end_layout
\end_inset
@@ -4196,7 +4207,7 @@ if(ec){
\begin_inset space ~
\end_inset
-error_status
+quant_table_index[i][j]
\end_layout
\end_inset
@@ -4205,7 +4216,7 @@ error_status
\begin_inset Text
\begin_layout Plain Layout
-u(8)
+ur
\end_layout
\end_inset
@@ -4231,23 +4242,7 @@ u(8)
\begin_inset space ~
\end_inset
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-crc_parity
+picture_structure
\end_layout
\end_inset
@@ -4256,7 +4251,7 @@ crc_parity
\begin_inset Text
\begin_layout Plain Layout
-u(32)
+ur
\end_layout
\end_inset
@@ -4282,7 +4277,7 @@ u(32)
\begin_inset space ~
\end_inset
-}
+sar_num
\end_layout
\end_inset
@@ -4291,65 +4286,42 @@ u(32)
\begin_inset Text
\begin_layout Plain Layout
-
+ur
\end_layout
\end_inset
</cell>
</row>
<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-}
-\end_layout
-
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\end_layout
-\end_inset
-</cell>
-</row>
-</lyxtabular>
+\begin_inset space ~
\end_inset
-
-\end_layout
-\begin_layout Description
-slice_coding_mode indicates the slice coding mode.
-\begin_inset Newline newline
+\begin_inset space ~
\end_inset
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
-<features rotate="0" tabularvalignment="middle">
-<column alignment="center" valignment="top">
-<column alignment="center" valignment="top">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
+\begin_inset space ~
+\end_inset
-\begin_layout Plain Layout
-value
+sar_den
\end_layout
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-slice coding mode
+ur
\end_layout
\end_inset
@@ -4360,27 +4332,22 @@ slice coding mode
\begin_inset Text
\begin_layout Plain Layout
-0
-\end_layout
+\begin_inset space ~
+\end_inset
+
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-normal Range Coding or VLC
-\end_layout
+\begin_inset space ~
\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-1
+
+\begin_inset space ~
+\end_inset
+
+if (version > 3)
\end_layout
\end_inset
@@ -4389,75 +4356,58 @@ normal Range Coding or VLC
\begin_inset Text
\begin_layout Plain Layout
-raw PCM
+
\end_layout
\end_inset
</cell>
</row>
<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-Other
-\end_layout
+\begin_inset space ~
+\end_inset
+
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-reserved for future use
-\end_layout
+\begin_inset space ~
\end_inset
-</cell>
-</row>
-</lyxtabular>
+
+\begin_inset space ~
\end_inset
-\end_layout
+\begin_inset space ~
+\end_inset
-\begin_layout Description
-slice_size indicates the size of the slice in bytes.
-\begin_inset Newline newline
+
+\begin_inset space ~
\end_inset
-Note: this allows finding the start of slices before previous slices have
- been fully decoded.
- And allows this way parallel decoding as well as error resilience.
-\end_layout
-\begin_layout Description
-error_status specifies the error status.
-\begin_inset Newline newline
+\begin_inset space ~
\end_inset
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features rotate="0" tabularvalignment="middle">
-<column alignment="center" valignment="top">
-<column alignment="center" valignment="top">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
+\begin_inset space ~
+\end_inset
-\begin_layout Plain Layout
-value
+reset_contexts
\end_layout
\end_inset
</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
-error status
+br
\end_layout
\end_inset
@@ -4468,47 +4418,38 @@ error status
\begin_inset Text
\begin_layout Plain Layout
-0
-\end_layout
+\begin_inset space ~
+\end_inset
+
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-no error
-\end_layout
+\begin_inset space ~
\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-1
-\end_layout
+\begin_inset space ~
\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-slice contains a correctable error
-\end_layout
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-\begin_layout Plain Layout
-2
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+slice_coding_mode
\end_layout
\end_inset
@@ -4517,7 +4458,7 @@ slice contains a correctable error
\begin_inset Text
\begin_layout Plain Layout
-slice contains a uncorrectable error
+ur
\end_layout
\end_inset
@@ -4528,7 +4469,7 @@ slice contains a uncorrectable error
\begin_inset Text
\begin_layout Plain Layout
-Other
+}
\end_layout
\end_inset
@@ -4537,7 +4478,7 @@ Other
\begin_inset Text
\begin_layout Plain Layout
-reserved for future use
+
\end_layout
\end_inset
@@ -4547,17 +4488,17 @@ reserved for future use
\end_inset
-
+
\end_layout
\begin_layout Description
-plane_count indicates the count of planes and the associated plane types.
+slice_coding_mode indicates the slice coding mode.
\begin_inset Newline newline
\end_inset
\begin_inset Tabular
-<lyxtabular version="3" rows="7" columns="2">
+<lyxtabular version="3" rows="4" columns="2">
<features rotate="0" tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
@@ -4575,7 +4516,7 @@ value
\begin_inset Text
\begin_layout Plain Layout
-plane types
+slice coding mode
\end_layout
\end_inset
@@ -4595,7 +4536,7 @@ plane types
\begin_inset Text
\begin_layout Plain Layout
-forbidden
+normal Range Coding or VLC
\end_layout
\end_inset
@@ -4615,67 +4556,7 @@ forbidden
\begin_inset Text
\begin_layout Plain Layout
-if version <4: forbidden; else gray
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-2
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-if version <4: forbidden; else gray+alpha
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-luma+chroma
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-4
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-luma+chroma+alpha
+raw PCM
\end_layout
\end_inset
--
1.9.5.msysgit.1
More information about the ffmpeg-devel
mailing list