- Apr 08, 2022
-
-
James Almer authored
From section 6.8.2 in the AV1 spec: "It is a requirement of bitstream conformance that when show_existing_frame is used to show a previous frame with RefFrameType[ frame_to_show_map_idx ] equal to KEY_FRAME, that the frame is output via the show_existing_frame mechanism at most once."
-
James Almer authored
From section 6.8.2 in the AV1 spec: "It is a requirement of bitstream conformance that when show_existing_frame is used to show a previous frame, that the value of showable_frame for the previous frame was equal to 1."
-
James Almer authored
From section 6.8.2 in the AV1 spec: "If frame_type is equal to INTRA_ONLY_FRAME, it is a requirement of bitstream conformance that refresh_frame_flags is not equal to 0xff." Make this a soft requirement by checking that strict standard complaince is enabled.
-
There's an assert on n_fc == 1 at the beginning of the function. There cannot be a second pass used here. Signed-off-by:
Steve Lhomme <robux4@videolabs.io>
-
- Apr 07, 2022
-
-
James Almer authored
picture: ensure the new seq header and op param info flags are attached to the next visible picture in display order If the first picture in coding order after a new sequence header is parsed is not visible, the first picture output by dav1d after the fact (which is coded after the aforementioned invisible picture) would not trigger the new seq header event flag as expected, despite being the first containing a reference to a new sequence header. Assuming the invisible picture is ever output, the result of this change will be two pictures signaling a new sequence header was seen despite there being only one new sequence header.
-
- Mar 31, 2022
-
-
James Almer authored
-
James Almer authored
-
- Mar 19, 2022
-
-
- Mar 18, 2022
-
-
Jean-Baptiste Kempf authored
-
- Mar 16, 2022
-
-
Set f->n_tile_data to 0 after the dav1d_decode_frame_exit() call in dav1d_decode_frame(). dav1d_decode_frame_exit() unrefs every element in use in the f->tile array, so it is good to set f->n_tile_data to 0 to indicate that no elements are in use. We are already doing this after all other dav1d_decode_frame_exit() calls. NOTE: It is tempting to have dav1d_decode_frame_exit() itself set f->n_tile_data to 0. I did not do that in this merge request, because the following is a common pattern: dav1d_decode_frame_exit(f, error); f->n_tile_data = 0; pthread_cond_signal(&f->task_thread.cond); corresponding to the waiting code: while (f->n_tile_data > 0) pthread_cond_wait(&f->task_thread.cond, &c->task_thread.lock); I wonder if f->n_tile_data is set to 0 outside dav1d_decode_frame_exit() to make clear the association of f->n_tile_data with the condition variable f->task_thread.cond.
-
- Mar 15, 2022
-
-
Jean-Baptiste Kempf authored
-
- Mar 13, 2022
-
-
Split out common parts into separate functions. This reduces the overall binary size by more than 5 KiB.
-
-
- Mar 10, 2022
-
-
This avoids build errors if such features are enabled while targeting another binary format. (Using such features on other platforms might require some other form of signaling/setup though, but the ELF specific .note section isn't applicable at least.)
-
-
- Mar 09, 2022
-
-
Ronald S. Bultje authored
-
- Mar 08, 2022
-
-
James Almer authored
-
James Almer authored
-
Ronald S. Bultje authored
Fixes #277.
-
- Mar 07, 2022
-
-
-
-
James Almer authored
This clears stale values from the context in the scenario where you first parse a svc sequence, and then a sequence header with the reduced still picture header flag being true immediately after it.
-
Ronald S. Bultje authored
Fixes #390.
-
James Almer authored
-
James Almer authored
-
- Mar 04, 2022
-
-
James Almer authored
-
-
- Mar 01, 2022
-
-
Martin Storsjö authored
This should avoid the risk of unexpected wraparound. This shouldn't technically be needed for spec compliant bitstreams. In practice, this fixes the mismatch observed in issue !388 (in checkasm generated input data).
-
- Feb 28, 2022
-
-
-
-
-
Victorien Le Couviour--Tuffet authored
-
- Feb 27, 2022
-
-
-
-
Jean-Baptiste Kempf authored
-
- Feb 26, 2022
-
-
-
-
James Almer authored
Cosmetic change
-
- Feb 25, 2022
-
-
The dav1d_data_unref_internal(&c->in) call in close_internal() is redundant because dav1d_flush() already calls dav1d_data_unref_internal(&c->in). Note that when dav1d_open() calls close_internal() with flush=0 to free a newly constructed Dav1dContext, it is not necessary to unref c->in.
-
Wan-Teh Chang authored
Fix memory leaks. The 'Dav1dThreadPicture cache' member was added to struct Dav1dContext in commit f9844476. But it is not unreferenced in dav1d_flush() or dav1d_close(). James Almer pointed out that we should unreference c->out too in dav1d_flush().
-