mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
libzvbi-teletextdec: cosmetics
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
c65fe9e982
commit
b50968169d
@ -43,7 +43,6 @@ typedef struct TeletextPage
|
|||||||
int64_t pts;
|
int64_t pts;
|
||||||
} TeletextPage;
|
} TeletextPage;
|
||||||
|
|
||||||
/* main data structure */
|
|
||||||
typedef struct TeletextContext
|
typedef struct TeletextContext
|
||||||
{
|
{
|
||||||
AVClass *class;
|
AVClass *class;
|
||||||
@ -67,14 +66,10 @@ typedef struct TeletextContext
|
|||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
vbi_export * ex;
|
vbi_export * ex;
|
||||||
#endif
|
#endif
|
||||||
/* Don't even _think_ about making sliced stack-local! */
|
|
||||||
vbi_sliced sliced[64];
|
vbi_sliced sliced[64];
|
||||||
} TeletextContext;
|
} TeletextContext;
|
||||||
|
|
||||||
/************************************************************************/
|
static int chop_spaces_utf8(const unsigned char* t, int len)
|
||||||
|
|
||||||
static int
|
|
||||||
chop_spaces_utf8(const unsigned char* t, int len)
|
|
||||||
{
|
{
|
||||||
t += len;
|
t += len;
|
||||||
while (len > 0) {
|
while (len > 0) {
|
||||||
@ -85,8 +80,7 @@ chop_spaces_utf8(const unsigned char* t, int len)
|
|||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void subtitle_rect_free(AVSubtitleRect **sub_rect)
|
||||||
subtitle_rect_free(AVSubtitleRect **sub_rect)
|
|
||||||
{
|
{
|
||||||
av_freep(&(*sub_rect)->pict.data[0]);
|
av_freep(&(*sub_rect)->pict.data[0]);
|
||||||
av_freep(&(*sub_rect)->pict.data[1]);
|
av_freep(&(*sub_rect)->pict.data[1]);
|
||||||
@ -94,8 +88,7 @@ subtitle_rect_free(AVSubtitleRect **sub_rect)
|
|||||||
av_freep(sub_rect);
|
av_freep(sub_rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int create_ass_text(TeletextContext *ctx, const char *text, char **ass)
|
||||||
create_ass_text(TeletextContext *ctx, const char *text, char **ass)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
AVBPrint buf, buf2;
|
AVBPrint buf, buf2;
|
||||||
@ -127,9 +120,8 @@ create_ass_text(TeletextContext *ctx, const char *text, char **ass)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw a page as text
|
/* Draw a page as text */
|
||||||
static int
|
static int gen_sub_text(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int chop_top)
|
||||||
gen_sub_text(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int chop_top)
|
|
||||||
{
|
{
|
||||||
const char *in;
|
const char *in;
|
||||||
AVBPrint buf;
|
AVBPrint buf;
|
||||||
@ -195,8 +187,8 @@ gen_sub_text(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void fix_transparency(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page,
|
||||||
fix_transparency(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int chop_top, uint8_t transparent_color, int resx, int resy)
|
int chop_top, uint8_t transparent_color, int resx, int resy)
|
||||||
{
|
{
|
||||||
int iy;
|
int iy;
|
||||||
|
|
||||||
@ -226,9 +218,8 @@ fix_transparency(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw a page as bitmap
|
/* Draw a page as bitmap */
|
||||||
static int
|
static int gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int chop_top)
|
||||||
gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, int chop_top)
|
|
||||||
{
|
{
|
||||||
int resx = page->columns * 12;
|
int resx = page->columns * 12;
|
||||||
int resy = (page->rows - chop_top) * 10;
|
int resy = (page->rows - chop_top) * 10;
|
||||||
@ -289,8 +280,7 @@ gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page *page, i
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void handler(vbi_event *ev, void *user_data)
|
||||||
handler(vbi_event *ev, void *user_data)
|
|
||||||
{
|
{
|
||||||
TeletextContext *ctx = user_data;
|
TeletextContext *ctx = user_data;
|
||||||
TeletextPage *new_pages;
|
TeletextPage *new_pages;
|
||||||
@ -311,7 +301,6 @@ handler(vbi_event *ev, void *user_data)
|
|||||||
if (ctx->handler_ret < 0)
|
if (ctx->handler_ret < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Fetch the page. */
|
|
||||||
res = vbi_fetch_vt_page(ctx->vbi, &page,
|
res = vbi_fetch_vt_page(ctx->vbi, &page,
|
||||||
ev->ev.ttx_page.pgno,
|
ev->ev.ttx_page.pgno,
|
||||||
ev->ev.ttx_page.subno,
|
ev->ev.ttx_page.subno,
|
||||||
@ -369,10 +358,7 @@ handler(vbi_event *ev, void *user_data)
|
|||||||
vbi_unref_page(&page);
|
vbi_unref_page(&page);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int teletext_decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *pkt)
|
||||||
teletext_decode_frame(AVCodecContext *avctx,
|
|
||||||
void *data, int *data_size,
|
|
||||||
AVPacket *pkt)
|
|
||||||
{
|
{
|
||||||
TeletextContext *ctx = avctx->priv_data;
|
TeletextContext *ctx = avctx->priv_data;
|
||||||
AVSubtitle *sub = data;
|
AVSubtitle *sub = data;
|
||||||
|
Loading…
Reference in New Issue
Block a user