{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":590294569,"defaultBranch":"main","name":"cros-codecs","ownerLogin":"chromeos","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-18T04:21:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/55198424?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1722591041.0","currentOid":""},"activityList":{"items":[{"before":"2542fc65af38fa56f90defb8378c11d96955d137","after":"fbdaf0537b51511c10c399f65186f18a84ea5e86","ref":"refs/heads/main","pushedAt":"2024-08-02T09:30:41.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bgrzesik","name":"Bartłomiej Grzesik","path":"/bgrzesik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3136224?s=80&v=4"},"commit":{"message":"Version 0.0.5","shortMessageHtmlLink":"Version 0.0.5"}},{"before":"6c56dab24ef285129ba24fcccd7a52d465f8cf87","after":"2542fc65af38fa56f90defb8378c11d96955d137","ref":"refs/heads/main","pushedAt":"2024-07-19T04:11:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder: improve pending events queue test\n\nCheck that that number of polled file descriptors returned by epoll is\nalso correct.","shortMessageHtmlLink":"decoder: improve pending events queue test"}},{"before":"353dc6d2305c6827f530355a20d5cda3e97b0e35","after":null,"ref":"refs/heads/new_picture","pushedAt":"2024-07-16T03:54:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"}},{"before":"0b6a7563a1c6311757b7dc64dd7ffdb1bcd55abc","after":"6c56dab24ef285129ba24fcccd7a52d465f8cf87","ref":"refs/heads/main","pushedAt":"2024-07-16T03:54:29.000Z","pushType":"pr_merge","commitsCount":22,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless: add error type for new_picture methods\n\nFailures in new_picture are usually due to temporary unavailability of\nrequired resources and are recoverable. Introduce a new error type to\nbetter handle this, and try to be more precise about the type of\nresource missing so the client can handle each case properly.","shortMessageHtmlLink":"decoder/stateless: add error type for new_picture methods"}},{"before":"009fb6726dd989901029bb796c51f23b27c8aac2","after":"353dc6d2305c6827f530355a20d5cda3e97b0e35","ref":"refs/heads/new_picture","pushedAt":"2024-07-16T01:20:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless: add error type for new_picture methods\n\nFailures in new_picture are usually due to temporary unavailability of\nrequired resources and are recoverable. Introduce a new error type to\nbetter handle this, and try to be more precise about the type of\nresource missing so the client can handle each case properly.","shortMessageHtmlLink":"decoder/stateless: add error type for new_picture methods"}},{"before":"3048c094b10803504ad2b0be690b4b53e5b90e58","after":"009fb6726dd989901029bb796c51f23b27c8aac2","ref":"refs/heads/new_picture","pushedAt":"2024-07-13T03:52:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/av1: let the backend decide which resources it needs\n\nThe decoder code was checking explicitly for output buffers availability\nbefore decoding frames, but that requirement is not needed by all\nbackends - for example V4L2 stateless has different requirements.\n\nMove this check to the backend by using the new_picture() method to try\nand allocate a picture before processing it, and return the appropriate\nerror if none is available.","shortMessageHtmlLink":"decoder/stateless/av1: let the backend decide which resources it needs"}},{"before":"48d18c57419c9cc7903d5999582525daae6a636b","after":"3048c094b10803504ad2b0be690b4b53e5b90e58","ref":"refs/heads/new_picture","pushedAt":"2024-07-12T04:36:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/av1: let the backend decide which resources it needs\n\nThe decoder code was checking explicitly for output buffers availability\nbefore decoding frames, but that requirement is not needed by all\nbackends - for example V4L2 stateless has different requirements.\n\nMove this check to the backend by using the new_picture() method to try\nand allocate a picture before processing it, and return the appropriate\nerror if none is available.","shortMessageHtmlLink":"decoder/stateless/av1: let the backend decide which resources it needs"}},{"before":"2857df9992a3a3a047f6b42132c321416d6b8299","after":"48d18c57419c9cc7903d5999582525daae6a636b","ref":"refs/heads/new_picture","pushedAt":"2024-07-12T04:27:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/av1: let the backend decide which resources it needs\n\nThe decoder code was checking explicitly for output buffers availability\nbefore decoding frames, but that requirement is not needed by all\nbackends - for example V4L2 stateless has different requirements.\n\nMove this check to the backend by using the new_picture() method to try\nand allocate a picture before processing it, and return the appropriate\nerror if none is available.","shortMessageHtmlLink":"decoder/stateless/av1: let the backend decide which resources it needs"}},{"before":"f500c1a4fcd4424ad16a4ce43ba13cb870cd851b","after":"2857df9992a3a3a047f6b42132c321416d6b8299","ref":"refs/heads/new_picture","pushedAt":"2024-07-12T04:25:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/av1: let the backend decide which resources it needs\n\nThe decoder code was checking explicitly for output buffers availability\nbefore decoding frames, but that requirement is not needed by all\nbackends - for example V4L2 stateless has different requirements.\n\nMove this check to the backend by using the new_picture() method to try\nand allocate a picture before processing it, and return the appropriate\nerror if none is available.","shortMessageHtmlLink":"decoder/stateless/av1: let the backend decide which resources it needs"}},{"before":null,"after":"0d327361cc1ee9cfe5b853d8f3694c4112b7f41d","ref":"refs/heads/decoder_timeout","pushedAt":"2024-07-12T04:08:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless: add utility method to wait for the next event\n\nThe proper way to wait for the next event is the poll the decoder's\nevent file descriptor instead of calling decode() over and over again\nuntil an event is delivered, like our simple_decode_loop() helper\ncurrently does.\n\nProvide a decoder helper that does that and make it available as the\npublic interface. While probably not useful for real-life scenarios, it\nis handy to have.\n\nThis also allows us to timeout instead of looping infinitely if the\ndecoder is starved for output buffers.","shortMessageHtmlLink":"decoder/stateless: add utility method to wait for the next event"}},{"before":null,"after":"f500c1a4fcd4424ad16a4ce43ba13cb870cd851b","ref":"refs/heads/new_picture","pushedAt":"2024-07-12T04:07:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/av1: let the backend decide which resources it needs\n\nThe decoder code was checking explicitly for output buffers availability\nbefore decoding frames, but that requirement is not needed by all\nbackends - for example V4L2 stateless has different requirements.\n\nMove this check to the backend by using the new_picture() method to try\nand allocate a picture before processing it, and return the appropriate\nerror if none is available.","shortMessageHtmlLink":"decoder/stateless/av1: let the backend decide which resources it needs"}},{"before":"54123da28472d6eaf677f304a25c928cf6cd0e54","after":null,"ref":"refs/heads/h264_fixes","pushedAt":"2024-07-11T14:47:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"}},{"before":"2fe8ab9e85c0e91df8a3b5b778568da6d8455b13","after":"0b6a7563a1c6311757b7dc64dd7ffdb1bcd55abc","ref":"refs/heads/main","pushedAt":"2024-07-11T14:47:07.000Z","pushType":"pr_merge","commitsCount":15,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/h264/dpb: fix potential infinite loop\n\nRevealed by fuzzing.","shortMessageHtmlLink":"codec/h264/dpb: fix potential infinite loop"}},{"before":"7a6290385a5c0c5608a32841acee6a84965f72e0","after":"54123da28472d6eaf677f304a25c928cf6cd0e54","ref":"refs/heads/h264_fixes","pushedAt":"2024-07-11T14:44:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/h264/dpb: fix potential infinite loop\n\nRevealed by fuzzing.","shortMessageHtmlLink":"codec/h264/dpb: fix potential infinite loop"}},{"before":"111bb2650a539ed77ff8a36a17bcd103429c045e","after":"2fe8ab9e85c0e91df8a3b5b778568da6d8455b13","ref":"refs/heads/main","pushedAt":"2024-07-09T14:16:07.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder/stateless/h264: remove unneeded temporary variable","shortMessageHtmlLink":"decoder/stateless/h264: remove unneeded temporary variable"}},{"before":null,"after":"1e6b35312b89a4bbac9a00187960ec31a8fb3ff9","ref":"refs/heads/aosp","pushedAt":"2024-07-05T10:46:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"fixes","shortMessageHtmlLink":"fixes"}},{"before":"5f890b24b176c3bd4541fa5fac1bc906878fa2d6","after":"111bb2650a539ed77ff8a36a17bcd103429c045e","ref":"refs/heads/main","pushedAt":"2024-07-01T07:28:33.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: switch buffer_removal_time_length_minus_1 to u8\n\nThis member is read from 5 bits. This removes the need for\npotentially-failing type conversions.","shortMessageHtmlLink":"codec/av1/parser: switch buffer_removal_time_length_minus_1 to u8"}},{"before":null,"after":"7a6290385a5c0c5608a32841acee6a84965f72e0","ref":"refs/heads/h264_fixes","pushedAt":"2024-07-01T05:25:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/h264/parser: compute ChromaArrayType\n\nThis is trivial to compute from the SPS, so do it instead of storing its\nvalue to avoid potential mismatches.","shortMessageHtmlLink":"codec/h264/parser: compute ChromaArrayType"}},{"before":"a1d0aee52449c6a2f6fa70fb3d0fa4b119a2f48a","after":"5f890b24b176c3bd4541fa5fac1bc906878fa2d6","ref":"refs/heads/main","pushedAt":"2024-06-29T14:19:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"Use byteorder methods to read from Cursors\n\nRead methods from byteorder return an error, contrary to those from\nbytes that panic. This makes the parsers more resilient to invalid\ninput.","shortMessageHtmlLink":"Use byteorder methods to read from Cursors"}},{"before":"81b4df00229b2998b673c1630a57bbccdff63758","after":"a1d0aee52449c6a2f6fa70fb3d0fa4b119a2f48a","ref":"refs/heads/main","pushedAt":"2024-06-29T14:16:46.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/vp8: replace panics with proper error","shortMessageHtmlLink":"codec/vp8: replace panics with proper error"}},{"before":"234f7b1805f9c29c68da5dd5d24e5ebb23f41ed0","after":"81b4df00229b2998b673c1630a57bbccdff63758","ref":"refs/heads/main","pushedAt":"2024-06-26T14:18:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1: Fix invalid decoder_model syntax size\n\nThis commit fixes the invalid invalid buffer_removal_time_length_minus_1\nand frame_presentation_time_length_minus_1 syntax field size.\n\nThis fixes issue #79.","shortMessageHtmlLink":"codec/av1: Fix invalid decoder_model syntax size"}},{"before":"ae3440809f0594831e9edcb1b9e9391cc1063ab1","after":"234f7b1805f9c29c68da5dd5d24e5ebb23f41ed0","ref":"refs/heads/main","pushedAt":"2024-06-26T03:54:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: turn max_frame_height_minus_1 into u16\n\nThis member is read from 16 bits max. Doing so allows us to avoid some\ntype conversions and optimize the code.","shortMessageHtmlLink":"codec/av1/parser: turn max_frame_height_minus_1 into u16"}},{"before":"ddde5dfc2eb124938f249adc40f34929f1df67a8","after":"ae3440809f0594831e9edcb1b9e9391cc1063ab1","ref":"refs/heads/main","pushedAt":"2024-06-26T03:15:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: turn max_frame_height_minus_1 into u16\n\nThis member is read from 16 bits max. Doing so allows us to avoid some\ntype conversions and optimize the code.","shortMessageHtmlLink":"codec/av1/parser: turn max_frame_height_minus_1 into u16"}},{"before":"511ce37763d63e1ac6f2c513da06992dfa6375b0","after":"ddde5dfc2eb124938f249adc40f34929f1df67a8","ref":"refs/heads/main","pushedAt":"2024-06-26T03:03:35.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: turn max_frame_height_minus_1 into u16\n\nThis member is read from 16 bits max. Doing so allows us to avoid some\ntype conversions and optimize the code.","shortMessageHtmlLink":"codec/av1/parser: turn max_frame_height_minus_1 into u16"}},{"before":"f77d389c17ac6bb4a64b3fe2ed3e5f6daadca581","after":"511ce37763d63e1ac6f2c513da06992dfa6375b0","ref":"refs/heads/main","pushedAt":"2024-06-24T13:53:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: optimize initialization of loop_filter_ref_deltas\n\nUse an immediate array value instead of indexing its members one by one.","shortMessageHtmlLink":"codec/av1/parser: optimize initialization of loop_filter_ref_deltas"}},{"before":"1aed3a85d141dd2e6b57510c1b807ade5b7d641f","after":"f77d389c17ac6bb4a64b3fe2ed3e5f6daadca581","ref":"refs/heads/main","pushedAt":"2024-06-24T13:04:14.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/av1/parser: optimize initialization of loop_filter_delta_enabled\n\nUse an immediate array value instead of indexing its members one by one.","shortMessageHtmlLink":"codec/av1/parser: optimize initialization of loop_filter_delta_enabled"}},{"before":"b2eac304ed99b287391cf4f677f989e31c14d9b8","after":"1aed3a85d141dd2e6b57510c1b807ade5b7d641f","ref":"refs/heads/main","pushedAt":"2024-06-24T04:09:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/vp9/parser: add helpers for SegmentationParams\n\nThese short helpers reduce the number of casts we need to do and also\nconstraint the possible input values to an acceptable range for safe\narray access.","shortMessageHtmlLink":"codec/vp9/parser: add helpers for SegmentationParams"}},{"before":"a0d8430f12adfd5c686e5b46d76cd9bbcacfa219","after":"b2eac304ed99b287391cf4f677f989e31c14d9b8","ref":"refs/heads/main","pushedAt":"2024-06-24T04:07:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/vp9/parser: add helpers for SegmentationParams\n\nThese short helpers reduce the number of casts we need to do and also\nconstraint the possible input values to an acceptable range for safe\narray access.","shortMessageHtmlLink":"codec/vp9/parser: add helpers for SegmentationParams"}},{"before":"e2fb7f3c56c10c23a5e0960e7dd0e5ed7219a8bb","after":"a0d8430f12adfd5c686e5b46d76cd9bbcacfa219","ref":"refs/heads/main","pushedAt":"2024-06-24T03:36:13.000Z","pushType":"push","commitsCount":20,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"codec/vp9/parser: replace in-place modifying of parameter with return\n\nThis avoid passing a mutable parameter to these methods.","shortMessageHtmlLink":"codec/vp9/parser: replace in-place modifying of parameter with return"}},{"before":"4fa4bd689d26ced65100b47ba11ef811a4af0903","after":"e2fb7f3c56c10c23a5e0960e7dd0e5ed7219a8bb","ref":"refs/heads/main","pushedAt":"2024-06-19T04:43:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Gnurou","name":"Alexandre Courbot","path":"/Gnurou","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148255?s=80&v=4"},"commit":{"message":"decoder: enable fully dynamic StatelessVideoDecoder trait objects\n\nAdd the necessary implementations and wrapper types to allow a\nStatelessVideoDecoder to be turned into a fully dynamic trait object\nwith no other dependency that its Descriptor.\n\nThis now allows user code to control any instance of a decoder,\nregardless of its codec or backend, through the same code path.","shortMessageHtmlLink":"decoder: enable fully dynamic StatelessVideoDecoder trait objects"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wMlQwOTozMDo0MS4wMDAwMDBazwAAAASP_-_r","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wMlQwOTozMDo0MS4wMDAwMDBazwAAAASP_-_r","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xOVQwNDo0MzowMi4wMDAwMDBazwAAAARpIc3T"}},"title":"Activity · chromeos/cros-codecs"}