[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