Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add other functions used to functions section #36

Closed
dericed opened this issue Jan 3, 2017 · 7 comments · Fixed by #40
Closed

add other functions used to functions section #36

dericed opened this issue Jan 3, 2017 · 7 comments · Fixed by #40

Comments

@dericed
Copy link
Contributor

dericed commented Jan 3, 2017

There's a few functions used but not referenced in https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#bitstream-functions. It may be helpful for a reader to know what functions to expect as they do with the operators currently used.

The sentence The log2_run function is also used within [@ISO.14495-1.1999]. could be moved to the functions section.

Here are some functions used but with no definition or citation for it:

  • ABS( )
  • encode( )
  • get_bits( )
  • get_bits1( )
  • log2( )
  • MIN( )
  • put_rac( )
  • put_symbol( )
  • QuantizationTablePerContext( )
@dericed
Copy link
Contributor Author

dericed commented Jan 3, 2017

Also Pixel () is used twice in https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#line but not defined.

@michaelni
Copy link
Member

Functions related to write/put/encode can be defined as "inverse" of the read/get functions

@michaelni
Copy link
Member

michaelni commented Jan 3, 2017

for put_symbol/rac this could be used maybe:

diff --git a/ffv1.md b/ffv1.md
index 9b7a67d..abbe791 100644
--- a/ffv1.md
+++ b/ffv1.md
@@ -451,9 +451,9 @@ Note, this is different from JPEG-LS, which doesn’t use prediction in run mode
 |------|--------------------------------------------------------|
 | u(n) | unsigned big endian integer using n bits               |
 | sg   | Golomb Rice coded signed scalar symbol coded with the method described in [Huffman Coding Mode](#huffman-coding-mode) |
-| br   | Range coded Boolean (1-bit) symbol with the method described in [Range binary values](#range-binary-values)  |
-| ur   | Range coded unsigned scalar symbol coded with the method described in [Range non binary values](#range-non-binary-values) |
-| sr   | Range coded signed scalar symbol coded with the method described in [Range non binary values](#range-non-binary-values) |
+| br   | Range coded Boolean (1-bit) symbol with put_rac() described in [Range binary values](#range-binary-values)  |
+| ur   | Range coded unsigned scalar symbol coded with put_symbol() described in [Range non binary values](#range-non-binary-values) |
+| sr   | Range coded signed scalar symbol coded with put_symbol() described in [Range non binary values](#range-non-binary-values) |
 
 The same context which is initialized to 128 is used for all fields in the header.

dericed added a commit to MediaArea/FFV1 that referenced this issue Jan 7, 2017
@dericed
Copy link
Contributor Author

dericed commented Jan 7, 2017

@michaelni, the spec currently says

The log2_run function is also used within [@ISO.14495-1.1999].

But when I checked a copy of ISO 14496-12 at http://l.web.umkc.edu/lizhu/teaching/2016sp.video-communication/ref/mp4.pdf I can't find any reference to the log2_run function.

@dericed
Copy link
Contributor Author

dericed commented Jan 7, 2017

BTW I changed MIN and ABS to min and abs (personally preference for lowercase functions). If there's a reason to leave those functions in caps, I can change back. I was guided a bit by https://tools.ietf.org/html/rfc6716#section-1.1.

dericed added a commit to MediaArea/FFV1 that referenced this issue Jan 7, 2017
@retokromer
Copy link
Contributor

+1 for functions in minuscules

@dericed
Copy link
Contributor Author

dericed commented Jan 7, 2017

My mistake: QuantizationTablePerContext is defined, within the same QuantizationTable section is which it is used.

dericed added a commit to MediaArea/FFV1 that referenced this issue Jan 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants