{"push_id":935709328,"size":7,"distinct_size":7,"ref":"refs/heads/upstream-cc","head":"f9dfd32177ede07a60571baf39dd29e27a213b3e","before":"302b2d70005b10611ef610ef883a76177fa5f78b","commits":[{"sha":"536fa6a8ef3e9676a465286246f480efcd79df3a","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: implement real_time option\n\nThis new mode is useful for realtime decoding of closed captions so they\ncan be display along with mpeg2 frames.\n\nClosed caption streams contain two major types of captions:\n\n- POPON captions, which are buffered off-screen and displayed\n  only after EOC (end of caption, aka display buffer)\n\n- PAINTON/ROLLUP captions, which are written to the display as soon as\n  they arrive.\n\nIn a typical real-time eia608 decoder, commands like EOC (end of\ncaption; display buffer), EDM (erase display memory) and EBM (erase\nbuffered memory) perform their expected functions as soon as the\ncommands are processed. This is implemented in the real_time branches\nadded in this commit.\n\nBefore this commit, and in the !real_time branches after this commit,\nthe decoder cleverly implements its own version of the decoder which is\nspecifically geared towards buffered decoding. It does so by actively\nignoring commands like EBM (erase buffered memory), and then re-using\nthe non-display buffer to hold the previous caption while the new one is\nreceived. This is the opposite of the real-time decoder, which uses the\nnon-display buffer to hold the new caption while the display buffer is\nstill showing the current caption.\n\nIn addition to ignoring EBM, the buffered decoder also has custom\nimplementations for EDM and EOC. An EDM (erase display memory) command\nflushes the existing contents before clearing the screen, and EOC\nsimilarly always flushes the active buffer (the previous subtitle)\nbefore flipping buffers.","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/536fa6a8ef3e9676a465286246f480efcd79df3a"},{"sha":"608b303360b369eba0ae02a520ebcf4a302099d2","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"fate: add test for realtime ccaption decoder","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/608b303360b369eba0ae02a520ebcf4a302099d2"},{"sha":"c62af73956dd9cbc2e42e23ff7286cbe90f5d4ec","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: default rollup to row 10\n\nThis ensures that captions are written towards the bottom of the screen\nwhen tuning into mid-stream. The row will be reset on the receipt of the\nnext PAC command. Row 10 was chosen as it corresponds to the value of\n\"0\" in a PAC (see row_map in handle_pac()).","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/c62af73956dd9cbc2e42e23ff7286cbe90f5d4ec"},{"sha":"ac4232ef8e59b0b15f1904c704ee3245cd60d2eb","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: implement tab offset commands","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/ac4232ef8e59b0b15f1904c704ee3245cd60d2eb"},{"sha":"f5bd607accf40e5512fa7e734fa3c73f11ad6e34","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: clear all unused rows during rollup\n\nSometimes rollup captions can move around the screen. This fixes \"ghost\"\ncaptions from below the current rollup area from continuing to be\ncaptured when a rollup moves higher up on the screen.","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/f5bd607accf40e5512fa7e734fa3c73f11ad6e34"},{"sha":"0f2a3022566433c76abe64fdfa1957c9ec310c59","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: implement musical glyph\n\nThis is the most commonly used character from the special north-american\ncharacter set. All the non-standard charsets are \"optional\" according to\nthe spec, and we currently implement none of them. This commit adds\nsupport for \"♪\" which very popular (and has no ascii fallback), typically\nused to indicate lyrics in captions.","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/0f2a3022566433c76abe64fdfa1957c9ec310c59"},{"sha":"f9dfd32177ede07a60571baf39dd29e27a213b3e","author":{"email":"8ad73f92d9f9d8ffbb8fcc019cab870008ac555c@tmm1.net","name":"Aman Gupta"},"message":"lavc/ccaption_dec: implement positioning for closed captions\n\nPositioning math is based on the guidelines in\nhttps://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608","distinct":true,"url":"https://api.github.com/repos/tmm1/FFmpeg/commits/f9dfd32177ede07a60571baf39dd29e27a213b3e"}]}