Several thousand people marched through Hungary's capital on Sunday in a fourth day of demonstrations against new laws that critics say restrict workers' rights and undermine democracy.

Policemen stand guard as people attend a protest against the new labour law in front of the Parliament building in Budapest, Hungary, December 13, 2018.
Policemen stand guard as people attend a protest against the new labour law in front of the Parliament building in Budapest, Hungary, December 13, 2018. (Bernadett Szabo / Reuters)

Protesters chanted anti-government slogans amid sub-zero temperatures outside parliament as speakers denounced revised overtime rules that lawmakers approved on Wednesday.

The crowd became increasingly angry as speakers urged demonstrators to remain dignified and peaceful.

The labour code amendments that sparked the protests increase the maximum number of overtime hours that companies can demand from workers in a year from 250 to 400.

The changes, intended to offset Hungary's growing labour shortage, also give employers up to three years instead of 12 months to settle payments of accrued overtime.

After Sunday's official protest ended, hundreds of demonstrators marched across the Danube River, blocking at least two major road bridges and flanked by police.

One faction, chanting for a free media, declared it was heading for the state television building, four miles away in a northwestern suburb of the Hungarian capital.

Riot police used tear gas and pepper spray seeking to control and disperse the crowd.